use of io.grafeas.v1beta1.Occurrence in project java-docs-samples by GoogleCloudPlatform.
the class SamplesTest method testPollDiscoveryOccurrenceFinished.
@Test
public void testPollDiscoveryOccurrenceFinished() throws Exception {
try {
// expect fail on first try
PollDiscoveryOccurrenceFinished.pollDiscoveryOccurrenceFinished(imageUrl, PROJECT_ID, 5);
Assert.fail("found unexpected discovery occurrence");
} catch (TimeoutException e) {
// test passes
}
// create discovery note
Note newNote = Note.newBuilder().setDiscovery(DiscoveryNote.newBuilder().setAnalysisKind(NoteKind.DISCOVERY)).build();
String discNoteId = "discovery-note-" + (new Date()).getTime();
NoteName noteName = NoteName.of(PROJECT_ID, discNoteId);
GrafeasClient client = ContainerAnalysisClient.create().getGrafeasClient();
client.createNote(ProjectName.format(PROJECT_ID), discNoteId, newNote);
// create discovery occurrence
Occurrence newOcc = Occurrence.newBuilder().setNoteName(noteName.toString()).setResourceUri(imageUrl).setDiscovery(DiscoveryOccurrence.newBuilder().setAnalysisStatus(AnalysisStatus.FINISHED_SUCCESS)).build();
Occurrence result = client.createOccurrence(ProjectName.format(PROJECT_ID), newOcc);
// poll again
Occurrence found = PollDiscoveryOccurrenceFinished.pollDiscoveryOccurrenceFinished(imageUrl, PROJECT_ID, 5);
AnalysisStatus foundStatus = found.getDiscovery().getAnalysisStatus();
assertEquals(foundStatus, AnalysisStatus.FINISHED_SUCCESS);
// clean up
String[] nameArr = found.getName().split("/");
String occId = nameArr[nameArr.length - 1];
DeleteOccurrence.deleteOccurrence(occId, PROJECT_ID);
DeleteNote.deleteNote(discNoteId, PROJECT_ID);
}
use of io.grafeas.v1beta1.Occurrence in project java-docs-samples by GoogleCloudPlatform.
the class GetDiscoveryInfo method getDiscoveryInfo.
// Retrieves and prints the Discovery Occurrence created for a specified image
// The Discovery Occurrence contains information about the initial scan on the image
public static void getDiscoveryInfo(String resourceUrl, String projectId) throws IOException, InterruptedException {
// String resourceUrl = "https://gcr.io/project/image@sha256:123";
// String projectId = "my-project-id";
String filterStr = "kind=\"DISCOVERY\" AND resourceUrl=\"" + resourceUrl + "\"";
final String projectName = ProjectName.format(projectId);
// Initialize client that will be used to send requests. After completing all of your requests,
// call the "close" method on the client to safely clean up any remaining background resources.
GrafeasClient client = ContainerAnalysisClient.create().getGrafeasClient();
for (Occurrence o : client.listOccurrences(projectName, filterStr).iterateAll()) {
System.out.println(o);
}
}
use of io.grafeas.v1beta1.Occurrence in project java-docs-samples by GoogleCloudPlatform.
the class OccurrencesForImage method getOccurrencesForImage.
// Retrieves all the Occurrences associated with a specified image
// Here, all Occurrences are simply printed and counted
public static int getOccurrencesForImage(String resourceUrl, String projectId) throws IOException, InterruptedException {
// String resourceUrl = "https://gcr.io/project/image@sha256:123";
// String projectId = "my-project-id";
final String projectName = ProjectName.format(projectId);
final String filterStr = String.format("resourceUrl=\"%s\"", resourceUrl);
// Initialize client that will be used to send requests. After completing all of your requests,
// call the "close" method on the client to safely clean up any remaining background resources.
GrafeasClient client = ContainerAnalysisClient.create().getGrafeasClient();
int i = 0;
for (Occurrence o : client.listOccurrences(projectName, filterStr).iterateAll()) {
// Write custom code to process each Occurrence here
System.out.println(o.getName());
i = i + 1;
}
return i;
}
use of io.grafeas.v1beta1.Occurrence in project java-containeranalysis by googleapis.
the class GrafeasV1Beta1ClientTest method updateOccurrenceExceptionTest.
@Test
@SuppressWarnings("all")
public void updateOccurrenceExceptionTest() throws Exception {
StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT);
mockGrafeasV1Beta1.addException(exception);
try {
OccurrenceName name = OccurrenceName.of("[PROJECT]", "[OCCURRENCE]");
Occurrence occurrence = Occurrence.newBuilder().build();
FieldMask updateMask = FieldMask.newBuilder().build();
client.updateOccurrence(name, occurrence, updateMask);
Assert.fail("No exception raised");
} catch (InvalidArgumentException e) {
// Expected exception
}
}
use of io.grafeas.v1beta1.Occurrence in project java-containeranalysis by googleapis.
the class GrafeasV1Beta1ClientTest method batchCreateOccurrencesTest.
@Test
@SuppressWarnings("all")
public void batchCreateOccurrencesTest() {
BatchCreateOccurrencesResponse expectedResponse = BatchCreateOccurrencesResponse.newBuilder().build();
mockGrafeasV1Beta1.addResponse(expectedResponse);
ProjectName parent = ProjectName.of("[PROJECT]");
List<Occurrence> occurrences = new ArrayList<>();
BatchCreateOccurrencesResponse actualResponse = client.batchCreateOccurrences(parent, occurrences);
Assert.assertEquals(expectedResponse, actualResponse);
List<AbstractMessage> actualRequests = mockGrafeasV1Beta1.getRequests();
Assert.assertEquals(1, actualRequests.size());
BatchCreateOccurrencesRequest actualRequest = (BatchCreateOccurrencesRequest) actualRequests.get(0);
Assert.assertEquals(parent, ProjectName.parse(actualRequest.getParent()));
Assert.assertEquals(occurrences, actualRequest.getOccurrencesList());
Assert.assertTrue(channelProvider.isHeaderSent(ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
}
Aggregations