def test_copr_build_just_tests_defined(copr_build_start, pc_tests, copr_build_pr): flexmock(GithubProject).should_receive("is_private").and_return(False) flexmock(GithubProject).should_receive("get_pr").and_return( flexmock(source_project=flexmock())) flexmock(AbstractCoprBuildEvent).should_receive( "get_package_config").and_return(pc_tests) flexmock(TestingFarmJobHelper).should_receive( "get_build_check").and_return(EXPECTED_BUILD_CHECK_NAME) flexmock(TestingFarmJobHelper).should_receive("get_test_check").and_return( EXPECTED_TESTING_FARM_CHECK_NAME) flexmock(CoprBuildModel).should_receive("get_by_build_id").and_return( copr_build_pr) url = get_copr_build_info_url(1) flexmock(requests).should_receive("get").and_return(requests.Response()) flexmock( requests.Response).should_receive("raise_for_status").and_return(None) copr_build_pr.should_receive("set_start_time").once() copr_build_pr.should_call("set_status").with_args("pending").once() copr_build_pr.should_receive("set_build_logs_url") # check if packit-service sets the correct PR status flexmock(StatusReporter).should_receive("report").with_args( state=BaseCommitStatus.running, description="RPM build is in progress...", url=url, check_names=EXPECTED_BUILD_CHECK_NAME, markdown_content=None, ).never() flexmock(StatusReporter).should_receive("report").with_args( state=BaseCommitStatus.running, description="RPM build is in progress...", url=url, check_names=TestingFarmJobHelper.get_test_check( copr_build_start["chroot"]), markdown_content=None, ).once() flexmock(Signature).should_receive("apply_async").once() flexmock(Pushgateway).should_receive("push").once().and_return() processing_results = SteveJobs().process_message(copr_build_start) event_dict, job, job_config, package_config = get_parameters_from_results( processing_results) assert json.dumps(event_dict) run_copr_build_start_handler( package_config=package_config, event=event_dict, job_config=job_config, )
def test_copr_build_start(copr_build_start, pc_build_pr, copr_build_pr): flexmock(GithubProject).should_receive("is_private").and_return(False) flexmock(GithubProject).should_receive("get_pr").and_return( flexmock(source_project=flexmock()) ) flexmock(AbstractCoprBuildEvent).should_receive("get_package_config").and_return( pc_build_pr ) flexmock(CoprBuildJobHelper).should_receive("get_build_check").and_return( EXPECTED_BUILD_CHECK_NAME ) flexmock(CoprBuildModel).should_receive("get_by_build_id").and_return(copr_build_pr) url = get_copr_build_info_url_from_flask(1) flexmock(requests).should_receive("get").and_return(requests.Response()) flexmock(requests.Response).should_receive("raise_for_status").and_return(None) copr_build_pr.should_receive("set_start_time").once() copr_build_pr.should_receive("set_status").with_args("pending").once() copr_build_pr.should_receive("set_build_logs_url") # check if packit-service set correct PR status flexmock(StatusReporter).should_receive("report").with_args( state=CommitStatus.pending, description="RPM build is in progress...", url=url, check_names=EXPECTED_BUILD_CHECK_NAME, ).once() flexmock(Signature).should_receive("apply_async").once() processing_results = SteveJobs().process_message(copr_build_start) event_dict, job, job_config, package_config = get_parameters_from_results( processing_results ) run_copr_build_start_handler( package_config=package_config, event=event_dict, job_config=job_config, )
def test_srpm_build_start(srpm_build_start, pc_build_pr, srpm_build_model): pr = flexmock(source_project=flexmock()) flexmock(GithubProject).should_receive("is_private").and_return(False) flexmock(GithubProject).should_receive("get_pr").and_return(pr) flexmock(AbstractCoprBuildEvent).should_receive( "get_package_config").and_return(pc_build_pr) flexmock(CoprBuildModel).should_receive("get_all_by_build_id").and_return( [flexmock(target="fedora-33-x86_64")]) flexmock(Pushgateway).should_receive("push").once().and_return() flexmock(SRPMBuildModel).should_receive("get_by_copr_build_id").and_return( srpm_build_model) flexmock(SRPMBuildModel).should_receive("set_start_time") flexmock(SRPMBuildModel).should_receive("set_build_logs_url") url = get_srpm_build_info_url(1) flexmock(StatusReporter).should_receive("report").with_args( state=BaseCommitStatus.running, description="SRPM build is in progress...", url=url, check_names=["rpm-build:fedora-33-x86_64"], markdown_content=None, ).once() flexmock(Signature).should_receive("apply_async").once() processing_results = SteveJobs().process_message(srpm_build_start) event_dict, job, job_config, package_config = get_parameters_from_results( processing_results) assert json.dumps(event_dict) results = run_copr_build_start_handler( package_config=package_config, event=event_dict, job_config=job_config, ) assert first_dict_value(results["job"])["success"]