def default_parent_revision(default_author, default_repo, default_revision): return factories.RevisionFactory( author=default_author, repository=default_repo, parents=[default_revision.sha], sha='adba8d362c656c7f97f5da9fa4e644be1b72a449', )
def default_revision(default_repo, default_author): return factories.RevisionFactory( repository=default_repo, authors=[default_author], sha="884ea9e17b53933febafd7e02d8bd28f3c9d479d", message= "ref: Remove outdated comment\n\nThis removes an outdated comment.", )
def test_repo_build_list_mine_without_match(client, default_login, default_repo, default_repo_access): revision = factories.RevisionFactory(repository=default_repo) factories.BuildFactory(revision=revision, authors=revision.authors) resp = client.get("/api/repos/{}/builds?user=me".format( default_repo.get_full_name())) assert resp.status_code == 200 data = resp.json() assert len(data) == 0
def test_repo_build_list_mine_without_match(client, default_login, default_repo, default_repo_access): revision = factories.RevisionFactory(repository=default_repo) source = factories.SourceFactory(revision=revision) factories.BuildFactory(source=source) resp = client.get('/api/repos/{}/builds?show=mine'.format( default_repo.get_full_name())) assert resp.status_code == 200 data = resp.json() assert len(data) == 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)
def default_revision(default_repo, default_author): return factories.RevisionFactory( repository=default_repo, author=default_author, sha='884ea9e17b53933febafd7e02d8bd28f3c9d479d', )
def test_failure_origin(default_repo): auth.set_current_tenant( auth.Tenant(access={default_repo.id: Permission.read})) new_revision = factories.RevisionFactory(repository=default_repo) new_source = factories.SourceFactory(revision=new_revision) new_build = factories.BuildFactory(source=new_source, failed=True) new_job = factories.JobFactory(build=new_build, failed=True) new_testcase = factories.TestCaseFactory(job=new_job, failed=True) new_testcase2 = factories.TestCaseFactory(job=new_job, passed=True) old_revision = factories.RevisionFactory( repository=default_repo, date_created=new_revision.date_created - timedelta(hours=1), ) old_source = factories.SourceFactory(revision=old_revision, date_created=new_source.date_created - timedelta(hours=1)) old_build = factories.BuildFactory( source=old_source, failed=True, date_created=new_build.date_created - timedelta(hours=1), ) old_job = factories.JobFactory( build=old_build, failed=True, date_created=new_job.date_created - timedelta(hours=1), ) factories.TestCaseFactory(job=old_job, failed=True, name=new_testcase.name) oldold_revision = factories.RevisionFactory( repository=default_repo, date_created=old_revision.date_created - timedelta(hours=1), ) oldold_source = factories.SourceFactory( revision=oldold_revision, date_created=old_source.date_created - timedelta(hours=1), ) factories.BuildFactory( source=oldold_source, passed=True, date_created=old_build.date_created - timedelta(hours=1), ) schema = AggregateTestCaseSummarySchema(many=True, strict=True, context={"build": new_build}) result = schema.dump([ AggregateTestCase( hash=new_testcase.hash, name=new_testcase.name, runs=[[ str(new_testcase.id), str(new_testcase.job_id), new_testcase.duration, int(new_testcase.result), ]], ), AggregateTestCase( hash=new_testcase2.hash, name=new_testcase2.name, runs=[[ str(new_testcase2.id), str(new_testcase2.job_id), new_testcase2.duration, int(new_testcase2.result), ]], ), ]).data assert len(result) == 2 assert result[0]["hash"] == new_testcase.hash assert result[0]["name"] == new_testcase.name assert result[0]["origin_build"]["id"] == str(old_build.id) assert result[1]["hash"] == new_testcase2.hash assert result[1]["name"] == new_testcase2.name assert result[1]["origin_build"] is None