use of io.grafeas.v1beta1.Note in project java-docs-samples by GoogleCloudPlatform.
the class SamplesTests method testCreateNote.
@Test
public void testCreateNote() throws Exception {
// note should have been created as part of set up. verify that it succeeded
Note n = Samples.getNote(noteId, PROJECT_ID);
assertEquals(n.getName(), noteObj.getName());
}
use of io.grafeas.v1beta1.Note in project java-docs-samples by GoogleCloudPlatform.
the class SamplesTest method testFindHighSeverityVulnerabilitiesForImage.
@Test
public void testFindHighSeverityVulnerabilitiesForImage() throws Exception {
// check before creation
List<Occurrence> result = HighVulnerabilitiesForImage.findHighSeverityVulnerabilitiesForImage(imageUrl, PROJECT_ID);
assertEquals(0, result.size());
// create low severity occurrence
Occurrence low;
low = CreateOccurrence.createOccurrence(imageUrl, noteId, PROJECT_ID, PROJECT_ID);
result = HighVulnerabilitiesForImage.findHighSeverityVulnerabilitiesForImage(imageUrl, PROJECT_ID);
assertEquals(0, result.size());
// create high severity note
Note newNote = Note.newBuilder().setVulnerability(VulnerabilityNote.newBuilder().setSeverity(Severity.CRITICAL).addDetails(VulnerabilityNote.Detail.newBuilder().setAffectedCpeUri("your-uri-here").setAffectedPackage("your-package-here").setAffectedVersionStart(Version.newBuilder().setKind(Version.VersionKind.MINIMUM)).setAffectedVersionEnd(Version.newBuilder().setKind(Version.VersionKind.MAXIMUM)))).build();
String vulnNoteId = "severe-note-" + (new Date()).getTime();
ContainerAnalysisClient client = ContainerAnalysisClient.create();
client.getGrafeasClient().createNote(ProjectName.format(PROJECT_ID), vulnNoteId, newNote);
// create high severity occurrence
Occurrence critical = Occurrence.newBuilder().setNoteName(NoteName.of(PROJECT_ID, vulnNoteId).toString()).setResourceUri(imageUrl).setVulnerability(VulnerabilityOccurrence.newBuilder().setEffectiveSeverity(Severity.CRITICAL).addPackageIssue(PackageIssue.newBuilder().setAffectedCpeUri("your-uri-here").setAffectedPackage("your-package-here").setAffectedVersion(Version.newBuilder().setKind(Version.VersionKind.MINIMUM)).setFixedVersion(Version.newBuilder().setKind(Version.VersionKind.MAXIMUM)))).build();
critical = client.getGrafeasClient().createOccurrence(ProjectName.format(PROJECT_ID), critical);
// check again
int tries = 0;
do {
result = HighVulnerabilitiesForImage.findHighSeverityVulnerabilitiesForImage(imageUrl, PROJECT_ID);
sleep(SLEEP_TIME);
tries += 1;
} while (result.size() != 1 && tries < TRY_LIMIT);
assertEquals(1, result.size());
// clean up
String[] lowNameArr = low.getName().split("/");
String lowId = lowNameArr[lowNameArr.length - 1];
DeleteOccurrence.deleteOccurrence(lowId, PROJECT_ID);
String[] nameArr = critical.getName().split("/");
String occId = nameArr[nameArr.length - 1];
DeleteOccurrence.deleteOccurrence(occId, PROJECT_ID);
DeleteNote.deleteNote(vulnNoteId, PROJECT_ID);
}
use of io.grafeas.v1beta1.Note in project java-docs-samples by GoogleCloudPlatform.
the class GetNote method getNote.
// Retrieves and prints a specified Note from the server
public static Note getNote(String noteId, String projectId) throws IOException, InterruptedException {
// String noteId = "my-note";
// String projectId = "my-project-id";
final NoteName noteName = NoteName.of(projectId, noteId);
// 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();
Note n = client.getNote(noteName);
System.out.println(n);
return n;
}
use of io.grafeas.v1beta1.Note in project java-containeranalysis by googleapis.
the class GrafeasV1Beta1ClientTest method createNoteTest.
@Test
@SuppressWarnings("all")
public void createNoteTest() {
String name = "name3373707";
String shortDescription = "shortDescription-235369287";
String longDescription = "longDescription-1747792199";
Note expectedResponse = Note.newBuilder().setName(name).setShortDescription(shortDescription).setLongDescription(longDescription).build();
mockGrafeasV1Beta1.addResponse(expectedResponse);
ProjectName parent = ProjectName.of("[PROJECT]");
String noteId = "noteId2129224840";
Note note = Note.newBuilder().build();
Note actualResponse = client.createNote(parent, noteId, note);
Assert.assertEquals(expectedResponse, actualResponse);
List<AbstractMessage> actualRequests = mockGrafeasV1Beta1.getRequests();
Assert.assertEquals(1, actualRequests.size());
CreateNoteRequest actualRequest = (CreateNoteRequest) actualRequests.get(0);
Assert.assertEquals(parent, ProjectName.parse(actualRequest.getParent()));
Assert.assertEquals(noteId, actualRequest.getNoteId());
Assert.assertEquals(note, actualRequest.getNote());
Assert.assertTrue(channelProvider.isHeaderSent(ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
}
use of io.grafeas.v1beta1.Note in project java-containeranalysis by googleapis.
the class GrafeasV1Beta1ClientTest method batchCreateNotesTest.
@Test
@SuppressWarnings("all")
public void batchCreateNotesTest() {
BatchCreateNotesResponse expectedResponse = BatchCreateNotesResponse.newBuilder().build();
mockGrafeasV1Beta1.addResponse(expectedResponse);
ProjectName parent = ProjectName.of("[PROJECT]");
Map<String, Note> notes = new HashMap<>();
BatchCreateNotesResponse actualResponse = client.batchCreateNotes(parent, notes);
Assert.assertEquals(expectedResponse, actualResponse);
List<AbstractMessage> actualRequests = mockGrafeasV1Beta1.getRequests();
Assert.assertEquals(1, actualRequests.size());
BatchCreateNotesRequest actualRequest = (BatchCreateNotesRequest) actualRequests.get(0);
Assert.assertEquals(parent, ProjectName.parse(actualRequest.getParent()));
Assert.assertEquals(notes, actualRequest.getNotesMap());
Assert.assertTrue(channelProvider.isHeaderSent(ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
}
Aggregations