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);
}
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());
}
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()));
}
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);
}
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()));
}
Aggregations