Search in sources :

Example 21 with Occurrence

use of io.grafeas.v1beta1.Occurrence in project java-containeranalysis by googleapis.

the class GrafeasV1Beta1ClientTest method deleteOccurrenceTest.

@Test
@SuppressWarnings("all")
public void deleteOccurrenceTest() {
    Empty expectedResponse = Empty.newBuilder().build();
    mockGrafeasV1Beta1.addResponse(expectedResponse);
    OccurrenceName name = OccurrenceName.of("[PROJECT]", "[OCCURRENCE]");
    client.deleteOccurrence(name);
    List<AbstractMessage> actualRequests = mockGrafeasV1Beta1.getRequests();
    Assert.assertEquals(1, actualRequests.size());
    DeleteOccurrenceRequest actualRequest = (DeleteOccurrenceRequest) actualRequests.get(0);
    Assert.assertEquals(name, OccurrenceName.parse(actualRequest.getName()));
    Assert.assertTrue(channelProvider.isHeaderSent(ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
}
Also used : Empty(com.google.protobuf.Empty) DeleteOccurrenceRequest(io.grafeas.v1beta1.DeleteOccurrenceRequest) AbstractMessage(com.google.protobuf.AbstractMessage) OccurrenceName(com.google.containeranalysis.v1beta1.OccurrenceName) Test(org.junit.Test)

Example 22 with Occurrence

use of io.grafeas.v1beta1.Occurrence in project java-containeranalysis by googleapis.

the class GrafeasV1Beta1ClientTest method createOccurrenceTest.

@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<AbstractMessage> 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()));
}
Also used : AbstractMessage(com.google.protobuf.AbstractMessage) ProjectName(com.google.containeranalysis.v1beta1.ProjectName) CreateOccurrenceRequest(io.grafeas.v1beta1.CreateOccurrenceRequest) Occurrence(io.grafeas.v1beta1.Occurrence) Test(org.junit.Test)

Example 23 with Occurrence

use of io.grafeas.v1beta1.Occurrence in project java-docs-samples by GoogleCloudPlatform.

the class Samples method createOccurrence.

// [END create_note]
// [START create_occurrence]
/**
 * Creates and returns a new occurrence
 *
 * @param imageUrl the Container Registry URL associated with the image
 *                 example: "https://gcr.io/project/image@sha256:foo"
 * @param parentNoteId the identifier of the note associated with this occurrence
 * @param projectId the GCP project the occurrence will be created under
 * @return an Occurrence object representing the new occurrence
 * @throws Exception on errors while closing the client
 */
public static Occurrence createOccurrence(String imageUrl, String parentNoteId, String projectId) throws Exception {
    try (ContainerAnalysisClient client = ContainerAnalysisClient.create()) {
        final String parentNoteName = client.formatNoteName(projectId, parentNoteId);
        final String projectName = client.formatProjectName(projectId);
        Occurrence.Builder occBuilder = Occurrence.newBuilder();
        occBuilder.setNoteName(parentNoteName);
        occBuilder.setResourceUrl(imageUrl);
        VulnerabilityDetails vd = VulnerabilityType.VulnerabilityDetails.newBuilder().build();
        occBuilder.setVulnerabilityDetails(vd);
        Occurrence newOcc = occBuilder.build();
        return client.createOccurrence(projectName, newOcc);
    }
}
Also used : VulnerabilityDetails(com.google.containeranalysis.v1alpha1.VulnerabilityType.VulnerabilityDetails) ContainerAnalysisClient(com.google.cloud.devtools.containeranalysis.v1alpha1.ContainerAnalysisClient) Occurrence(com.google.containeranalysis.v1alpha1.Occurrence)

Example 24 with Occurrence

use of io.grafeas.v1beta1.Occurrence in project java-docs-samples by GoogleCloudPlatform.

the class Samples method getDiscoveryInfo.

// [END get_note]
// [START discovery_info]
/**
 * Retrieves the Discovery occurrence created for a specified image
 * This occurrence contains information about the initial scan on the image
 *
 * @param imageUrl the Container Registry URL associated with the image
 *                 example: "https://gcr.io/project/image@sha256:foo"
 * @param projectId the GCP project the occurrence will be created under
 * @throws Exception on errors while closing the client
 */
public static void getDiscoveryInfo(String imageUrl, String projectId) throws Exception {
    String filterStr = "kind=\"DISCOVERY\" AND resourceUrl=\"" + imageUrl + "\"";
    try (ContainerAnalysisClient client = ContainerAnalysisClient.create()) {
        final String projectName = client.formatProjectName(projectId);
        ListOccurrencesRequest.Builder req = ListOccurrencesRequest.newBuilder();
        req.setFilter(filterStr).setParent(projectName);
        ListOccurrencesPagedResponse response = client.listOccurrences(req.build());
        for (Occurrence o : response.iterateAll()) {
            System.out.println(o);
        }
    }
}
Also used : ListOccurrencesRequest(com.google.containeranalysis.v1alpha1.ListOccurrencesRequest) ContainerAnalysisClient(com.google.cloud.devtools.containeranalysis.v1alpha1.ContainerAnalysisClient) Occurrence(com.google.containeranalysis.v1alpha1.Occurrence) ListOccurrencesPagedResponse(com.google.cloud.devtools.containeranalysis.v1alpha1.PagedResponseWrappers.ListOccurrencesPagedResponse)

Example 25 with Occurrence

use of io.grafeas.v1beta1.Occurrence in project java-docs-samples by GoogleCloudPlatform.

the class SamplesTests method testUpdateOccurrence.

@Test
public void testUpdateOccurrence() throws Exception {
    String typeId = "newType";
    Occurrence o = Samples.createOccurrence(imageUrl, noteId, PROJECT_ID);
    Occurrence.Builder b = Occurrence.newBuilder(o);
    VulnerabilityDetails.Builder v = VulnerabilityDetails.newBuilder();
    v.setType(typeId);
    b.setVulnerabilityDetails(v.build());
    Samples.updateOccurrence(o.getName(), b.build());
    Occurrence o2 = Samples.getOccurrence(o.getName());
    assertEquals(typeId, o2.getVulnerabilityDetails().getType());
    // clean up
    Samples.deleteOccurrence(o2.getName());
}
Also used : VulnerabilityDetails(com.google.containeranalysis.v1alpha1.VulnerabilityType.VulnerabilityDetails) Occurrence(com.google.containeranalysis.v1alpha1.Occurrence) Test(org.junit.Test)

Aggregations

Test (org.junit.Test)25 Occurrence (io.grafeas.v1.Occurrence)17 Occurrence (com.google.containeranalysis.v1alpha1.Occurrence)10 VulnerabilityOccurrence (io.grafeas.v1.VulnerabilityOccurrence)10 DiscoveryOccurrence (io.grafeas.v1.DiscoveryOccurrence)9 GrafeasClient (io.grafeas.v1.GrafeasClient)9 Occurrence (io.grafeas.v1beta1.Occurrence)9 AbstractMessage (com.google.protobuf.AbstractMessage)8 OccurrenceName (com.google.containeranalysis.v1beta1.OccurrenceName)5 ProjectName (com.google.containeranalysis.v1beta1.ProjectName)5 ContainerAnalysisClient (com.google.cloud.devtools.containeranalysis.v1alpha1.ContainerAnalysisClient)4 InvalidArgumentException (com.google.api.gax.rpc.InvalidArgumentException)3 NoteName (io.grafeas.v1.NoteName)3 DeleteOccurrenceRequest (io.grafeas.v1beta1.DeleteOccurrenceRequest)3 StatusRuntimeException (io.grpc.StatusRuntimeException)3 ListOccurrencesPagedResponse (com.google.cloud.devtools.containeranalysis.v1alpha1.PagedResponseWrappers.ListOccurrencesPagedResponse)2 Subscriber (com.google.cloud.pubsub.v1.Subscriber)2 ListOccurrencesRequest (com.google.containeranalysis.v1alpha1.ListOccurrencesRequest)2 VulnerabilityDetails (com.google.containeranalysis.v1alpha1.VulnerabilityType.VulnerabilityDetails)2 FieldMask (com.google.protobuf.FieldMask)2