def test_copr_project_and_namespace( jobs, job_config_trigger_type, tag_name, job_owner, job_project, ): copr_build_helper = CoprBuildJobHelper( service_config=flexmock(deployment="stg"), package_config=PackageConfig(jobs=jobs), job_config=jobs[0], # BuildHelper looks at all jobs in the end project=flexmock( namespace="the/example/namespace", repo="the-example-repo", service=flexmock(instance_url="https://git.instance.io"), ), metadata=flexmock(pr_id=None, identifier="the-event-identifier", tag_name=tag_name), db_trigger=flexmock(job_config_trigger_type=job_config_trigger_type), ) copr_build_helper._api = flexmock(copr_helper=flexmock( copr_client=flexmock(config={"username": "******"}))) assert copr_build_helper.job_project == job_project assert copr_build_helper.job_owner == job_owner
def build_helper( event: Union[PullRequestEvent, PullRequestCommentEvent, CoprBuildEvent, PushGitHubEvent, ReleaseEvent, ], metadata=None, trigger=None, jobs=None, ): if not metadata: metadata = { "owner": "nobody", "targets": [ "fedora-29-x86_64", "fedora-30-x86_64", "fedora-31-x86_64", "fedora-rawhide-x86_64", ], } jobs = jobs or [] jobs.append( JobConfig( type=JobType.copr_build, trigger=trigger or JobConfigTriggerType.pull_request, metadata=metadata, )) pkg_conf = PackageConfig(jobs=jobs, downstream_package_name="dummy") handler = CoprBuildJobHelper( config=ServiceConfig(), package_config=pkg_conf, project=GitProject("", GitService(), ""), event=event, ) handler._api = PackitAPI(ServiceConfig(), pkg_conf) return handler
def build_helper( event, metadata=None, trigger=None, jobs=None, db_trigger=None, selected_job=None ): if jobs and metadata: raise Exception("Only one of jobs and metadata can be used.") if not metadata: metadata = JobMetadataConfig( targets=[ "fedora-29-x86_64", "fedora-30-x86_64", "fedora-31-x86_64", "fedora-rawhide-x86_64", ], owner="nobody", ) jobs = jobs or [ JobConfig( type=JobType.copr_build, trigger=trigger or JobConfigTriggerType.pull_request, metadata=metadata, ) ] pkg_conf = PackageConfig(jobs=jobs, downstream_package_name="dummy") handler = CoprBuildJobHelper( service_config=ServiceConfig(), package_config=pkg_conf, job_config=selected_job or jobs[0], project=GitProject( repo="the-example-repo", service=flexmock(), namespace="the-example-namespace", ), metadata=flexmock( trigger=event.trigger, pr_id=event.pr_id, git_ref=event.git_ref, commit_sha=event.commit_sha, identifier=event.identifier, ), db_trigger=db_trigger, ) handler._api = PackitAPI(ServiceConfig(), pkg_conf) return handler
def build_helper( event: Union[PullRequestGithubEvent, PullRequestCommentGithubEvent, CoprBuildEvent, PushGitHubEvent, ReleaseEvent, ], metadata=None, trigger=None, jobs=None, ): if not metadata: metadata = JobMetadataConfig( targets=[ "fedora-29-x86_64", "fedora-30-x86_64", "fedora-31-x86_64", "fedora-rawhide-x86_64", ], owner="nobody", ) jobs = jobs or [] jobs.append( JobConfig( type=JobType.copr_build, trigger=trigger or JobConfigTriggerType.pull_request, metadata=metadata, )) pkg_conf = PackageConfig(jobs=jobs, downstream_package_name="dummy") handler = CoprBuildJobHelper( config=ServiceConfig(), package_config=pkg_conf, project=GitProject( repo="the-example-repo", service=flexmock(), namespace="the-example-namespace", ), event=event, ) handler._api = PackitAPI(ServiceConfig(), pkg_conf) return handler