Esempio n. 1
0
def test_vcs_error_no_vcs_type(capsys):
    try:
        del os.environ["VCS_TYPE"]
    except KeyError:
        pass
    with pytest.raises(SystemExit):
        universum.main(["-ot", "term"])

    assert "The repository (VCS) type is not set" in capsys.readouterr().err
Esempio n. 2
0
def main():
    parser = argparse.ArgumentParser()
    parser.add_argument("--p4-port")
    parser.add_argument("--p4-user")
    parser.add_argument("--p4-password")
    parser.add_argument("--p4-client")
    parser.add_argument("--p4-depot-path")
    parser.add_argument("--p4-client-root")
    parser.add_argument("--git-repo")
    parser.add_argument("--git-user")
    parser.add_argument("--git-email")
    args = parser.parse_args()

    p4 = P4()

    p4.port = args.p4_port
    p4.user = args.p4_user
    p4.password = args.p4_password
    client_name = args.p4_client

    p4.connect()

    depot_path = args.p4_depot_path

    client = p4.fetch_client(client_name)
    client["Root"] = args.p4_client_root
    client["View"] = [depot_path + " //" + client_name + "/..."]
    p4.save_client(client)
    p4.client = client_name

    changes = p4.run_changes("-s", "submitted", depot_path)
    cl_list = []
    for change in changes:
        cl_list.append(change["change"])

    for cl in reversed(cl_list):
        line = depot_path + '@' + cl
        p4.run_sync("-f", line)

        universum.main([
            "submit", "-ot", "term", "-vt", "git", "-cm",
            p4.run_describe(cl)[0]['desc'], "-gu", args.git_user, "-ge",
            args.git_email, "-pr", args.git_repo, "-gr",
            "file://" + args.git_repo, "-grs", "master"
        ])

    p4.delete_client(client_name)
Esempio n. 3
0
def test_git_error_command_line_wrong_port(stdout_checker, git_server, tmpdir):
    db_file = tmpdir.join("gitpoll.json")
    result = universum.main([
        "poll", "-ot", "term", "-vt", "git", "-f",
        unicode(db_file), "-gr", "file:///non-existing-directory", "-grs",
        git_server.target_branch, "-jtu", "https://localhost/?%s"
    ])
    assert result != 0
    stdout_checker.assert_has_calls_with_param(
        "Cmd('git') failed due to: exit code(128)")
Esempio n. 4
0
def test_git_success_command_line_poll_no_changes(stdout_checker, git_server,
                                                  tmpdir):
    db_file = tmpdir.join("gitpoll.json")
    result = universum.main([
        "poll", "-ot", "term", "-vt", "git", "-f",
        unicode(db_file), "-gr", git_server.url, "-grs",
        git_server.target_branch, "-jtu", "https://localhost/?%s"
    ])
    assert result == 0
    stdout_checker.assert_has_calls_with_param("==> No changes detected")
Esempio n. 5
0
def test_p4_success_command_line_poll_no_changes(stdout_checker,
                                                 perforce_workspace, tmpdir):
    db_file = tmpdir.join("p4poll.json")
    result = universum.main([
        "poll", "-ot", "term", "-vt", "p4", "-f",
        unicode(db_file), "-p4p", perforce_workspace.p4.port, "-p4u",
        perforce_workspace.p4.user, "-p4P", perforce_workspace.p4.password,
        "-p4d", "//depot/...", "-jtu", "https://localhost/?%s"
    ])
    assert result == 0
    stdout_checker.assert_has_calls_with_param("==> No changes detected")
Esempio n. 6
0
def test_p4_error_command_line_wrong_port(stdout_checker, perforce_workspace,
                                          tmpdir):
    db_file = tmpdir.join("p4poll.json")
    result = universum.main([
        "poll", "-ot", "term", "-vt", "p4", "-f",
        unicode(db_file), "-p4p", "127.0.0.1:1024", "-p4u",
        perforce_workspace.p4.user, "-p4P", perforce_workspace.p4.password,
        "-p4d", "//depot/...", "-jtu", "https://localhost/?%s"
    ])
    assert result != 0
    stdout_checker.assert_has_calls_with_param(
        "TCP connect to 127.0.0.1:1024 failed.")
Esempio n. 7
0
def test_vcs_error_no_vcs_type(capsys):
    with pytest.raises(SystemExit):
        universum.main(["-ot", "term"])

    assert "The repository (VCS) type is not set" in capsys.readouterr().err