Skip to content

Commit

Permalink
samples: create Java sample for Search API and Submit API in Webrisk (#…
Browse files Browse the repository at this point in the history
…306)

Fixes #153  ☕️
  • Loading branch information
Neenu1995 committed Dec 15, 2020
1 parent 3c5a4c0 commit 32025b6
Show file tree
Hide file tree
Showing 4 changed files with 181 additions and 0 deletions.
54 changes: 54 additions & 0 deletions webrisk/src/main/java/webrisk/SearchUriExample.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
/*
* Copyright 2020 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

package webrisk;

import com.google.cloud.webrisk.v1.WebRiskServiceClient;
import com.google.webrisk.v1.SearchUrisRequest;
import com.google.webrisk.v1.SearchUrisResponse;
import com.google.webrisk.v1.ThreatType;
import java.io.IOException;

public class SearchUriExample {

public static void searchUriExample() throws IOException {
//The URL to be searched
String uri = "http://testsafebrowsing.appspot.com/s/malware.html";
SearchUrisResponse response = searchUriExample(uri);
}

// [START webrisk_search_uri]
public static SearchUrisResponse searchUriExample(String uri) throws IOException {
//create-webrisk-client
try (WebRiskServiceClient webRiskServiceClient = WebRiskServiceClient.create()) {
//Query the url for a specific threat type
SearchUrisRequest searchUrisRequest = SearchUrisRequest.newBuilder()
.addThreatTypes(ThreatType.MALWARE)
.setUri(uri).build();
SearchUrisResponse searchUrisResponse = webRiskServiceClient.searchUris(searchUrisRequest);
webRiskServiceClient.shutdownNow();
if (!searchUrisResponse.getThreat().getThreatTypesList().isEmpty()) {
System.out.println("The URL has the following threat : ");
System.out.println(searchUrisResponse);
} else {
System.out.println("The URL is safe!");
}

return searchUrisResponse;
}
}
// [END webrisk_search_uri]
}
48 changes: 48 additions & 0 deletions webrisk/src/main/java/webrisk/SubmitUriExample.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
/*
* Copyright 2020 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

package webrisk;

import com.google.cloud.webrisk.v1.WebRiskServiceClient;
import com.google.webrisk.v1.CreateSubmissionRequest;
import com.google.webrisk.v1.Submission;
import java.io.IOException;

public class SubmitUriExample {

public static void submitUriExample() throws IOException {
//The URL to be submitted
String uri = "http://testsafebrowsing.appspot.com/s/malware.html";
Submission response = submitUriExample(uri);
}

// [START webrisk_submit_uri]
public static Submission submitUriExample(String uri) throws IOException {
//create-webrisk-client
try (WebRiskServiceClient webRiskServiceClient = WebRiskServiceClient.create()) {
Submission submission = Submission.newBuilder()
.setUri(uri).build();
CreateSubmissionRequest submissionRequest = CreateSubmissionRequest.newBuilder()
.setParent("projects/your-project-id").setSubmission(submission).build();
Submission submissionResponse = webRiskServiceClient.createSubmission(submissionRequest);
webRiskServiceClient.shutdownNow();
System.out.println("The submitted " + submissionResponse);
return submissionResponse;
}

}
// [END webrisk_submit_uri]
}
47 changes: 47 additions & 0 deletions webrisk/src/test/java/webrisk/SearchUriExampleTest.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
/*
* Copyright 2020 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

package webrisk;

import com.google.common.truth.Truth;
import com.google.webrisk.v1.SearchUrisResponse;
import com.google.webrisk.v1.ThreatType;
import java.io.IOException;
import java.util.List;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.JUnit4;

@RunWith(JUnit4.class)
public class SearchUriExampleTest {
@Test
public void testSearchWithThreat() throws IOException {
//The URL to be searched
String uri = "http://testsafebrowsing.appspot.com/s/malware.html";
SearchUrisResponse actualResponse = SearchUriExample.searchUriExample(uri);
List<ThreatType> type = actualResponse.getThreat().getThreatTypesList();
Truth.assertThat(type).contains(ThreatType.MALWARE);
}

@Test
public void testSearchWithoutThreat() throws IOException {
//The URL to be searched
String uri = "http://testsafebrowsing.appspot.com/malware.html";
SearchUrisResponse actualResponse = SearchUriExample.searchUriExample(uri);
List<ThreatType> type = actualResponse.getThreat().getThreatTypesList();
Truth.assertThat(type).isEmpty();
}
}
32 changes: 32 additions & 0 deletions webrisk/src/test/java/webrisk/SubmitUriExampleTest.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
/*
* Copyright 2020 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/


package webrisk;

import com.google.common.truth.Truth;
import com.google.webrisk.v1.Submission;
import java.io.IOException;
import org.junit.Test;

public class SubmitUriExampleTest {
@Test
public void testSumbitUriExample() throws IOException {
String testUri = "http://testsafebrowsing.appspot.com/s/malware.html";
Submission actualSubmission = SubmitUriExample.submitUriExample(testUri);
Truth.assertThat(actualSubmission.getUri()).isEqualTo(testUri);
}
}

0 comments on commit 32025b6

Please sign in to comment.