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
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)
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)")
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")
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")
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.")
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