예제 #1
0
def test_build_list_excludes_public(client, default_login):
    repo = factories.RepositoryFactory(public=True)
    factories.BuildFactory(repository=repo)
    resp = client.get("/api/builds")
    assert resp.status_code == 200
    data = resp.json()
    assert len(data) == 0
예제 #2
0
파일: fixtures.py 프로젝트: sfermigier/zeus
def default_repo(default_org):
    return factories.RepositoryFactory(
        organization=default_org,
        url='https://github.com/getsentry/zeus.git',
        backend=models.RepositoryBackend.git,
        status=models.RepositoryStatus.active,
    )
예제 #3
0
파일: fixtures.py 프로젝트: kaiix/zeus
def default_repo():
    return factories.RepositoryFactory(
        owner_name='getsentry',
        name='zeus',
        url='https://github.com/getsentry/zeus.git',
        backend=models.RepositoryBackend.git,
        status=models.RepositoryStatus.active,
        github=True,
    )
예제 #4
0
def test_build_list_excludes_public(client, sqla_assertions,
                                    default_repo_access, default_login):
    repo = factories.RepositoryFactory(public=True)
    factories.BuildFactory(repository=repo)
    with sqla_assertions.assert_statement_count(3):
        resp = client.get("/api/builds")
        assert resp.status_code == 200
        data = resp.json()
        assert len(data) == 0
예제 #5
0
파일: fixtures.py 프로젝트: robopsi/zeus
def default_repo():
    return factories.RepositoryFactory(
        owner_name="getsentry",
        name="zeus",
        url="https://github.com/getsentry/zeus.git",
        backend=models.RepositoryBackend.git,
        status=models.RepositoryStatus.active,
        provider=models.RepositoryProvider.github,
        github=True,
        external_id="1",
    )
예제 #6
0
def default_repo():
    return factories.RepositoryFactory(
        id=UUID("3fcba264-4ea9-11ea-b8bf-acde48001122"),
        owner_name="getsentry",
        name="zeus",
        url="https://github.com/getsentry/zeus.git",
        backend=models.RepositoryBackend.unknown,
        status=models.RepositoryStatus.active,
        provider=models.RepositoryProvider.github,
        github=True,
        external_id="1",
    )
예제 #7
0
def test_upsert_change_request_different_repos(
    client,
    db_session,
    default_repo,
    default_revision,
    default_change_request,
    default_user,
    mocker,
):
    """
    Check that two change requests from different repos can have the same external id
    """
    new_repo = factories.RepositoryFactory(public=True)

    auth.set_current_tenant(
        auth.Tenant(access={
            default_repo.id: Permission.write,
            new_repo.id: Permission.write
        }))

    default_change_request.external_id = "id"
    default_change_request.provider = RepositoryProvider.github.value
    db_session.add(default_change_request)
    db_session.commit()

    mock_identify_revision = mocker.patch(
        "zeus.utils.revisions.identify_revision")
    mock_identify_revision.return_value = factories.RevisionFactory(
        repository=new_repo, sha="1234567")
    assert ChangeRequest.query.count() == 1

    cr = upsert_change_request(
        new_repo,
        default_change_request.provider,
        default_change_request.external_id,
        data={
            "message": "Hello",
            "parent_revision_sha": default_revision.sha
        },
    ).json()

    assert ChangeRequest.query.count() == 2
    new_change_request = ChangeRequest.query.filter(
        ChangeRequest.id != default_change_request.id).first()
    assert cr["id"] == str(new_change_request.id)
예제 #8
0
def test_tenant_allows_public_repos_with_access(default_repo):
    auth.set_current_tenant(auth.Tenant(access={default_repo.id: Permission.read}))
    repo = factories.RepositoryFactory(name="public", public=True)
    assert list(Repository.query.all()) == [default_repo, repo]
예제 #9
0
def test_tenant_allows_public_repos(default_repo):
    auth.set_current_tenant(auth.Tenant())
    repo = factories.RepositoryFactory(name="public", public=True)
    assert list(Repository.query.all()) == [repo]
예제 #10
0
def test_repo_list_excludes_public(client, default_login):
    factories.RepositoryFactory(name="public", public=True)
    resp = client.get("/api/repos")
    assert resp.status_code == 200
    data = resp.json()
    assert len(data) == 0
예제 #11
0
def test_tenant_allows_public_repos_with_acess(default_repo):
    auth.set_current_tenant(auth.Tenant())
    repo = factories.RepositoryFactory(name="public", public=True)
    build = factories.BuildFactory(repository=repo)
    assert list(Build.query.all()) == [build]
예제 #12
0
def test_tenant_allows_public_repos(default_repo):
    auth.set_current_tenant(
        auth.Tenant(access={default_repo.id: Permission.read}))
    repo = factories.RepositoryFactory(name="public", public=True)
    build = factories.BuildFactory(repository=repo)
    assert list(Build.query.all()) == [build]