@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<GeneratedMessageV3> 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())); }
@Test @SuppressWarnings("all") public void createOccurrenceTest() { String name = "name3373707"; String noteName = "noteName1780787896"; String remediation = "remediation779381797"; Occurrence expectedResponse = Occurrence.newBuilder() .setName(name) .setNoteName(noteName) .setRemediation(remediation) .build(); mockGrafeasV1Beta1.addResponse(expectedResponse); ProjectName parent = ProjectName.of("[PROJECT]"); Occurrence occurrence = Occurrence.newBuilder().build(); Occurrence actualResponse = client.createOccurrence(parent, occurrence); Assert.assertEquals(expectedResponse, actualResponse); List<GeneratedMessageV3> actualRequests = mockGrafeasV1Beta1.getRequests(); Assert.assertEquals(1, actualRequests.size()); CreateOccurrenceRequest actualRequest = (CreateOccurrenceRequest) actualRequests.get(0); Assert.assertEquals(parent, ProjectName.parse(actualRequest.getParent())); Assert.assertEquals(occurrence, actualRequest.getOccurrence()); Assert.assertTrue( channelProvider.isHeaderSent( ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), GaxGrpcProperties.getDefaultApiClientHeaderPattern())); }
@Test @SuppressWarnings("all") public void updateOccurrenceTest() { 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 occurrence = Occurrence.newBuilder().build(); FieldMask updateMask = FieldMask.newBuilder().build(); Occurrence actualResponse = client.updateOccurrence(name, occurrence, updateMask); Assert.assertEquals(expectedResponse, actualResponse); List<GeneratedMessageV3> actualRequests = mockGrafeasV1Beta1.getRequests(); Assert.assertEquals(1, actualRequests.size()); UpdateOccurrenceRequest actualRequest = (UpdateOccurrenceRequest) actualRequests.get(0); Assert.assertEquals(name, OccurrenceName.parse(actualRequest.getName())); Assert.assertEquals(occurrence, actualRequest.getOccurrence()); Assert.assertEquals(updateMask, actualRequest.getUpdateMask()); Assert.assertTrue( channelProvider.isHeaderSent( ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), GaxGrpcProperties.getDefaultApiClientHeaderPattern())); }
/** * Creates and returns a new Occurrence of a previously created vulnerability Note * @param client The Grafeas client used to perform the API requests. * @param imageUrl the Container Registry URL associated with the image * example: "https://gcr.io/project/image@sha256:foo" * @param noteId the identifier of the Note associated with this Occurrence * @param occProjectId the GCP project the Occurrence will be created under * @param noteProjectId the GCP project the associated Note belongs to * @return the newly created Occurrence object */ public static Occurrence createOccurrence(GrafeasV1Beta1Client client, String imageUrl, String noteId, String occProjectId, String noteProjectId) { final NoteName noteName = NoteName.of(noteProjectId, noteId); final String occProjectName = ProjectName.format(occProjectId); Occurrence.Builder occBuilder = Occurrence.newBuilder(); occBuilder.setNoteName(noteName.toString()); Details.Builder detailsBuilder = Details.newBuilder(); // Details about the vulnerability instance can be added here occBuilder.setVulnerability(detailsBuilder); // Attach the occurrence to the associated image uri Resource.Builder resourceBuilder = Resource.newBuilder(); resourceBuilder.setUri(imageUrl); occBuilder.setResource(resourceBuilder); Occurrence newOcc = occBuilder.build(); return client.createOccurrence(occProjectName, newOcc); } // [END create_occurrence]