Search in sources :

Example 21 with Artifact

use of org.jboss.pnc.dto.Artifact in project pnc by project-ncl.

the class ArtifactEndpointTest method shouldSaveArtifact.

@Test
public void shouldSaveArtifact() throws ClientException {
    Artifact artifact = Artifact.builder().artifactQuality(ArtifactQuality.NEW).filename("builtArtifactInsert2.jar").identifier("integration-test:built-artifact-insert2:jar:1.0").targetRepository(targetRepositoryRef).buildCategory(BuildCategory.STANDARD).md5("insert-md5-2").sha1("insert-2").sha256("insert-2").size(10L).build();
    ArtifactClient client = new ArtifactClient(RestClientConfiguration.asSystem());
    Artifact inserted = client.create(artifact);
    String id = inserted.getId();
    Artifact retrieved = client.getSpecific(id);
    Assertions.assertThat(retrieved.getArtifactQuality()).isEqualTo(ArtifactQuality.NEW);
    Assertions.assertThat(retrieved.getMd5()).isEqualTo("insert-md5-2");
    Assertions.assertThat(retrieved.getSize()).isEqualTo(10L);
    Artifact.Builder builder = inserted.toBuilder();
    builder.artifactQuality(ArtifactQuality.TESTED);
    Artifact update = builder.build();
    client.update(id, update);
    Artifact updated = client.getSpecific(id);
    Assertions.assertThat(updated.getArtifactQuality()).isEqualTo(ArtifactQuality.TESTED);
}
Also used : ArtifactClient(org.jboss.pnc.client.ArtifactClient) Artifact(org.jboss.pnc.dto.Artifact) ContainerTest(org.jboss.pnc.test.category.ContainerTest) Test(org.junit.Test)

Example 22 with Artifact

use of org.jboss.pnc.dto.Artifact in project pnc by project-ncl.

the class ArtifactEndpointTest method shouldCreateArtifactRevision.

@Test
public void shouldCreateArtifactRevision() throws ClientException {
    String id = artifactRest1.getId();
    ArtifactClient client = new ArtifactClient(RestClientConfiguration.asSystem());
    Iterator<ArtifactRevision> itOriginal = client.getRevisions(id).iterator();
    int numRevisionsOriginal = client.getRevisions(id).size();
    // given latest revision
    ArtifactRevision lastRevOriginal = itOriginal.next();
    while (itOriginal.hasNext()) {
        ArtifactRevision candidate = itOriginal.next();
        if (candidate.getRev() > lastRevOriginal.getRev()) {
            lastRevOriginal = candidate;
        }
    }
    // Updating an audited property should create a new revision
    Artifact artifact = client.getSpecific(id);
    Artifact updatedArtifact = artifact.toBuilder().artifactQuality(ArtifactQuality.TESTED).qualityLevelReason("Preliminary tests passed").build();
    client.update(id, updatedArtifact);
    Iterator<ArtifactRevision> it = client.getRevisions(id).iterator();
    int numRevisions = client.getRevisions(id).size();
    // given latest revision
    ArtifactRevision lastRev = it.next();
    while (it.hasNext()) {
        ArtifactRevision candidate = it.next();
        if (candidate.getRev() > lastRev.getRev()) {
            lastRev = candidate;
        }
    }
    assertThat(numRevisions).isGreaterThan(numRevisionsOriginal);
    assertThat(lastRev.getRev()).isGreaterThan(lastRevOriginal.getRev());
}
Also used : ArtifactClient(org.jboss.pnc.client.ArtifactClient) ArtifactRevision(org.jboss.pnc.dto.ArtifactRevision) Artifact(org.jboss.pnc.dto.Artifact) ContainerTest(org.jboss.pnc.test.category.ContainerTest) Test(org.junit.Test)

Example 23 with Artifact

use of org.jboss.pnc.dto.Artifact in project pnc by project-ncl.

the class ArtifactEndpointTest method testGetAllArtifactsWithSha1AndSha256.

@Test
public void testGetAllArtifactsWithSha1AndSha256() throws RemoteResourceException {
    ArtifactClient client = new ArtifactClient(RestClientConfiguration.asAnonymous());
    RemoteCollection<Artifact> artifacts = client.getAll(artifactRest4.getSha256(), null, artifactRest4.getSha1());
    assertThat(artifacts).hasSize(1).allSatisfy(a -> assertThat(a.getId()).isIn(artifactRest4.getId()));
}
Also used : ArtifactClient(org.jboss.pnc.client.ArtifactClient) Artifact(org.jboss.pnc.dto.Artifact) ContainerTest(org.jboss.pnc.test.category.ContainerTest) Test(org.junit.Test)

Example 24 with Artifact

use of org.jboss.pnc.dto.Artifact in project pnc by project-ncl.

the class ArtifactEndpointTest method shouldNotModifyTemporaryQualityLevel.

@Test
public void shouldNotModifyTemporaryQualityLevel() throws ClientException {
    Artifact artifact = Artifact.builder().artifactQuality(ArtifactQuality.TEMPORARY).buildCategory(BuildCategory.STANDARD).filename("temp-builtArtifactInsert2.jar").identifier("integration-test:temp-built-artifact-insert2:jar:1.0").targetRepository(targetRepositoryRef).md5("insert-md5-13").sha1("insert-13").sha256("insert-13").size(13L).build();
    ArtifactClient client = new ArtifactClient(RestClientConfiguration.asSystem());
    Artifact inserted = client.create(artifact);
    String id = inserted.getId();
    Artifact retrieved = client.getSpecific(id);
    Assertions.assertThat(retrieved.getArtifactQuality()).isEqualTo(ArtifactQuality.TEMPORARY);
    String REASON = "This artifact has severe CVEs";
    assertThatThrownBy(() -> client.createQualityLevelRevision(id, "BLACKLISTED", REASON)).hasCauseInstanceOf(ClientErrorException.class);
}
Also used : ArtifactClient(org.jboss.pnc.client.ArtifactClient) Artifact(org.jboss.pnc.dto.Artifact) ContainerTest(org.jboss.pnc.test.category.ContainerTest) Test(org.junit.Test)

Example 25 with Artifact

use of org.jboss.pnc.dto.Artifact in project pnc by project-ncl.

the class ArtifactEndpointTest method testGetAllArtifactsWithSha1.

@Test
public void testGetAllArtifactsWithSha1() throws RemoteResourceException {
    ArtifactClient client = new ArtifactClient(RestClientConfiguration.asAnonymous());
    RemoteCollection<Artifact> artifacts = client.getAll(null, null, artifactRest2.getSha1());
    // artifacts 2 and 3 have same SHA1
    assertThat(artifacts).hasSize(2).allSatisfy(a -> assertThat(a.getId()).isIn(artifactRest2.getId(), artifactRest4.getId()));
}
Also used : ArtifactClient(org.jboss.pnc.client.ArtifactClient) Artifact(org.jboss.pnc.dto.Artifact) ContainerTest(org.jboss.pnc.test.category.ContainerTest) Test(org.junit.Test)

Aggregations

Artifact (org.jboss.pnc.dto.Artifact)31 Test (org.junit.Test)28 ContainerTest (org.jboss.pnc.test.category.ContainerTest)24 ArtifactClient (org.jboss.pnc.client.ArtifactClient)22 BuildClient (org.jboss.pnc.client.BuildClient)4 ArrayList (java.util.ArrayList)3 ArtifactRevision (org.jboss.pnc.dto.ArtifactRevision)3 List (java.util.List)2 TargetRepository (org.jboss.pnc.dto.TargetRepository)2 DTOValidationException (org.jboss.pnc.facade.validation.DTOValidationException)2 Before (org.junit.Before)2 ArgumentMatchers.anyString (org.mockito.ArgumentMatchers.anyString)2 Iterator (java.util.Iterator)1 Collectors (java.util.stream.Collectors)1 ApplicationScoped (javax.enterprise.context.ApplicationScoped)1 Inject (javax.inject.Inject)1 BadRequestException (javax.ws.rs.BadRequestException)1 ClientErrorException (javax.ws.rs.ClientErrorException)1 Assertions.assertThat (org.assertj.core.api.Assertions.assertThat)1 Condition (org.assertj.core.api.Condition)1