use of io.grafeas.v1beta1.Occurrence in project java-docs-samples by GoogleCloudPlatform.
the class VulnerabilityFunction method accept.
@Override
public void accept(PubSubMessage payload, Context context) {
String json = new String(Base64.getDecoder().decode(payload.getData()), StandardCharsets.UTF_8);
OccurrenceNotification notification = gson.fromJson(json, OccurrenceNotification.class);
// Retrieve the occurrence detials from the notification
// https://cloud.google.com/container-registry/docs/reference/rest/v1/projects.occurrences#Occurrence
Occurrence occurrence = grafeasClient.getOccurrence(notification.getName());
// If the occurence is a vulnerability, output the log line base on severity
if (NoteKind.VULNERABILITY.equals(occurrence.getKind())) {
VulnerabilityOccurrence vulnerability = occurrence.getVulnerability();
if (vulnerability.getSeverity().getNumber() >= Severity.HIGH_VALUE) {
logger.warning(String.format("Image: %s, CVE: %s, Severity: %s", occurrence.getResourceUri(), vulnerability.getShortDescription(), vulnerability.getSeverity()));
}
}
}
use of io.grafeas.v1beta1.Occurrence in project java-containeranalysis by googleapis.
the class GrafeasV1Beta1ClientTest method createOccurrenceExceptionTest.
@Test
@SuppressWarnings("all")
public void createOccurrenceExceptionTest() throws Exception {
StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT);
mockGrafeasV1Beta1.addException(exception);
try {
ProjectName parent = ProjectName.of("[PROJECT]");
Occurrence occurrence = Occurrence.newBuilder().build();
client.createOccurrence(parent, occurrence);
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 getOccurrenceTest.
@Test
@SuppressWarnings("all")
public void getOccurrenceTest() {
String name2 = "name2-1052831874";
String noteName = "noteName1780787896";
String remediation = "remediation779381797";
Occurrence expectedResponse = Occurrence.newBuilder().setName(name2).setNoteName(noteName).setRemediation(remediation).build();
mockGrafeasV1Beta1.addResponse(expectedResponse);
OccurrenceName name = OccurrenceName.of("[PROJECT]", "[OCCURRENCE]");
Occurrence actualResponse = client.getOccurrence(name);
Assert.assertEquals(expectedResponse, actualResponse);
List<AbstractMessage> actualRequests = mockGrafeasV1Beta1.getRequests();
Assert.assertEquals(1, actualRequests.size());
GetOccurrenceRequest actualRequest = (GetOccurrenceRequest) actualRequests.get(0);
Assert.assertEquals(name, OccurrenceName.parse(actualRequest.getName()));
Assert.assertTrue(channelProvider.isHeaderSent(ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
}
use of io.grafeas.v1beta1.Occurrence in project java-containeranalysis by googleapis.
the class GrafeasV1Beta1ClientTest method batchCreateOccurrencesExceptionTest.
@Test
@SuppressWarnings("all")
public void batchCreateOccurrencesExceptionTest() throws Exception {
StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT);
mockGrafeasV1Beta1.addException(exception);
try {
ProjectName parent = ProjectName.of("[PROJECT]");
List<Occurrence> occurrences = new ArrayList<>();
client.batchCreateOccurrences(parent, occurrences);
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 listOccurrencesTest.
@Test
@SuppressWarnings("all")
public void listOccurrencesTest() {
String nextPageToken = "";
Occurrence occurrencesElement = Occurrence.newBuilder().build();
List<Occurrence> occurrences = Arrays.asList(occurrencesElement);
ListOccurrencesResponse expectedResponse = ListOccurrencesResponse.newBuilder().setNextPageToken(nextPageToken).addAllOccurrences(occurrences).build();
mockGrafeasV1Beta1.addResponse(expectedResponse);
ProjectName parent = ProjectName.of("[PROJECT]");
String filter = "filter-1274492040";
ListOccurrencesPagedResponse pagedListResponse = client.listOccurrences(parent, filter);
List<Occurrence> resources = Lists.newArrayList(pagedListResponse.iterateAll());
Assert.assertEquals(1, resources.size());
Assert.assertEquals(expectedResponse.getOccurrencesList().get(0), resources.get(0));
List<AbstractMessage> actualRequests = mockGrafeasV1Beta1.getRequests();
Assert.assertEquals(1, actualRequests.size());
ListOccurrencesRequest actualRequest = (ListOccurrencesRequest) actualRequests.get(0);
Assert.assertEquals(parent, ProjectName.parse(actualRequest.getParent()));
Assert.assertEquals(filter, actualRequest.getFilter());
Assert.assertTrue(channelProvider.isHeaderSent(ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
}
Aggregations