summaryrefslogtreecommitdiffstats
path: root/python/mozversioncontrol/test/test_create_try_commit.py
blob: 45e7facb0e1e91977261d6051d05c9d8e5078ff0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this,
# file, You can obtain one at http://mozilla.org/MPL/2.0/.

import mozunit

from mozversioncontrol import get_repository_object

STEPS = {
    "hg": [
        """
        echo "{}" > try_task_config.json
        hg add try_task_config.json
        """,
    ],
    "git": [
        """
        echo "{}" > try_task_config.json
        git add try_task_config.json
        """,
    ],
}


def test_create_try_commit(repo):
    commit_message = "try commit message"
    vcs = get_repository_object(repo.dir)

    # Create a non-empty commit.
    repo.execute_next_step()
    vcs.create_try_commit(commit_message)
    non_empty_commit_sha = vcs.head_ref

    assert vcs.get_changed_files(rev=non_empty_commit_sha) == ["try_task_config.json"]

    # Create an empty commit.
    vcs.create_try_commit(commit_message)
    empty_commit_sha = vcs.head_ref

    # Commit should be created with no changed files.
    assert vcs.get_changed_files(rev=empty_commit_sha) == []


if __name__ == "__main__":
    mozunit.main()