Пример #1
0
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
Пример #3
0
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
Пример #4
0
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