• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright 2022 Google LLC
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      https://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 package com.google.cloud.websecurityscanner.v1;
18 
19 import static com.google.cloud.websecurityscanner.v1.WebSecurityScannerClient.ListCrawledUrlsPagedResponse;
20 import static com.google.cloud.websecurityscanner.v1.WebSecurityScannerClient.ListFindingsPagedResponse;
21 import static com.google.cloud.websecurityscanner.v1.WebSecurityScannerClient.ListScanConfigsPagedResponse;
22 import static com.google.cloud.websecurityscanner.v1.WebSecurityScannerClient.ListScanRunsPagedResponse;
23 
24 import com.google.api.gax.core.NoCredentialsProvider;
25 import com.google.api.gax.grpc.GaxGrpcProperties;
26 import com.google.api.gax.grpc.testing.LocalChannelProvider;
27 import com.google.api.gax.grpc.testing.MockGrpcService;
28 import com.google.api.gax.grpc.testing.MockServiceHelper;
29 import com.google.api.gax.rpc.ApiClientHeaderProvider;
30 import com.google.api.gax.rpc.InvalidArgumentException;
31 import com.google.common.collect.Lists;
32 import com.google.protobuf.AbstractMessage;
33 import com.google.protobuf.Empty;
34 import com.google.protobuf.FieldMask;
35 import com.google.protobuf.Timestamp;
36 import io.grpc.StatusRuntimeException;
37 import java.io.IOException;
38 import java.util.ArrayList;
39 import java.util.Arrays;
40 import java.util.List;
41 import java.util.UUID;
42 import javax.annotation.Generated;
43 import org.junit.After;
44 import org.junit.AfterClass;
45 import org.junit.Assert;
46 import org.junit.Before;
47 import org.junit.BeforeClass;
48 import org.junit.Test;
49 
50 @Generated("by gapic-generator-java")
51 public class WebSecurityScannerClientTest {
52   private static MockServiceHelper mockServiceHelper;
53   private static MockWebSecurityScanner mockWebSecurityScanner;
54   private LocalChannelProvider channelProvider;
55   private WebSecurityScannerClient client;
56 
57   @BeforeClass
startStaticServer()58   public static void startStaticServer() {
59     mockWebSecurityScanner = new MockWebSecurityScanner();
60     mockServiceHelper =
61         new MockServiceHelper(
62             UUID.randomUUID().toString(), Arrays.<MockGrpcService>asList(mockWebSecurityScanner));
63     mockServiceHelper.start();
64   }
65 
66   @AfterClass
stopServer()67   public static void stopServer() {
68     mockServiceHelper.stop();
69   }
70 
71   @Before
setUp()72   public void setUp() throws IOException {
73     mockServiceHelper.reset();
74     channelProvider = mockServiceHelper.createChannelProvider();
75     WebSecurityScannerSettings settings =
76         WebSecurityScannerSettings.newBuilder()
77             .setTransportChannelProvider(channelProvider)
78             .setCredentialsProvider(NoCredentialsProvider.create())
79             .build();
80     client = WebSecurityScannerClient.create(settings);
81   }
82 
83   @After
tearDown()84   public void tearDown() throws Exception {
85     client.close();
86   }
87 
88   @Test
createScanConfigTest()89   public void createScanConfigTest() throws Exception {
90     ScanConfig expectedResponse =
91         ScanConfig.newBuilder()
92             .setName("name3373707")
93             .setDisplayName("displayName1714148973")
94             .setMaxQps(844445913)
95             .addAllStartingUrls(new ArrayList<String>())
96             .setAuthentication(ScanConfig.Authentication.newBuilder().build())
97             .addAllBlacklistPatterns(new ArrayList<String>())
98             .setSchedule(ScanConfig.Schedule.newBuilder().build())
99             .setManagedScan(true)
100             .setStaticIpScan(true)
101             .setIgnoreHttpStatusErrors(true)
102             .build();
103     mockWebSecurityScanner.addResponse(expectedResponse);
104 
105     CreateScanConfigRequest request =
106         CreateScanConfigRequest.newBuilder()
107             .setParent("parent-995424086")
108             .setScanConfig(ScanConfig.newBuilder().build())
109             .build();
110 
111     ScanConfig actualResponse = client.createScanConfig(request);
112     Assert.assertEquals(expectedResponse, actualResponse);
113 
114     List<AbstractMessage> actualRequests = mockWebSecurityScanner.getRequests();
115     Assert.assertEquals(1, actualRequests.size());
116     CreateScanConfigRequest actualRequest = ((CreateScanConfigRequest) actualRequests.get(0));
117 
118     Assert.assertEquals(request.getParent(), actualRequest.getParent());
119     Assert.assertEquals(request.getScanConfig(), actualRequest.getScanConfig());
120     Assert.assertTrue(
121         channelProvider.isHeaderSent(
122             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
123             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
124   }
125 
126   @Test
createScanConfigExceptionTest()127   public void createScanConfigExceptionTest() throws Exception {
128     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
129     mockWebSecurityScanner.addException(exception);
130 
131     try {
132       CreateScanConfigRequest request =
133           CreateScanConfigRequest.newBuilder()
134               .setParent("parent-995424086")
135               .setScanConfig(ScanConfig.newBuilder().build())
136               .build();
137       client.createScanConfig(request);
138       Assert.fail("No exception raised");
139     } catch (InvalidArgumentException e) {
140       // Expected exception.
141     }
142   }
143 
144   @Test
deleteScanConfigTest()145   public void deleteScanConfigTest() throws Exception {
146     Empty expectedResponse = Empty.newBuilder().build();
147     mockWebSecurityScanner.addResponse(expectedResponse);
148 
149     DeleteScanConfigRequest request =
150         DeleteScanConfigRequest.newBuilder().setName("name3373707").build();
151 
152     client.deleteScanConfig(request);
153 
154     List<AbstractMessage> actualRequests = mockWebSecurityScanner.getRequests();
155     Assert.assertEquals(1, actualRequests.size());
156     DeleteScanConfigRequest actualRequest = ((DeleteScanConfigRequest) actualRequests.get(0));
157 
158     Assert.assertEquals(request.getName(), actualRequest.getName());
159     Assert.assertTrue(
160         channelProvider.isHeaderSent(
161             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
162             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
163   }
164 
165   @Test
deleteScanConfigExceptionTest()166   public void deleteScanConfigExceptionTest() throws Exception {
167     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
168     mockWebSecurityScanner.addException(exception);
169 
170     try {
171       DeleteScanConfigRequest request =
172           DeleteScanConfigRequest.newBuilder().setName("name3373707").build();
173       client.deleteScanConfig(request);
174       Assert.fail("No exception raised");
175     } catch (InvalidArgumentException e) {
176       // Expected exception.
177     }
178   }
179 
180   @Test
getScanConfigTest()181   public void getScanConfigTest() throws Exception {
182     ScanConfig expectedResponse =
183         ScanConfig.newBuilder()
184             .setName("name3373707")
185             .setDisplayName("displayName1714148973")
186             .setMaxQps(844445913)
187             .addAllStartingUrls(new ArrayList<String>())
188             .setAuthentication(ScanConfig.Authentication.newBuilder().build())
189             .addAllBlacklistPatterns(new ArrayList<String>())
190             .setSchedule(ScanConfig.Schedule.newBuilder().build())
191             .setManagedScan(true)
192             .setStaticIpScan(true)
193             .setIgnoreHttpStatusErrors(true)
194             .build();
195     mockWebSecurityScanner.addResponse(expectedResponse);
196 
197     GetScanConfigRequest request = GetScanConfigRequest.newBuilder().setName("name3373707").build();
198 
199     ScanConfig actualResponse = client.getScanConfig(request);
200     Assert.assertEquals(expectedResponse, actualResponse);
201 
202     List<AbstractMessage> actualRequests = mockWebSecurityScanner.getRequests();
203     Assert.assertEquals(1, actualRequests.size());
204     GetScanConfigRequest actualRequest = ((GetScanConfigRequest) actualRequests.get(0));
205 
206     Assert.assertEquals(request.getName(), actualRequest.getName());
207     Assert.assertTrue(
208         channelProvider.isHeaderSent(
209             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
210             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
211   }
212 
213   @Test
getScanConfigExceptionTest()214   public void getScanConfigExceptionTest() throws Exception {
215     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
216     mockWebSecurityScanner.addException(exception);
217 
218     try {
219       GetScanConfigRequest request =
220           GetScanConfigRequest.newBuilder().setName("name3373707").build();
221       client.getScanConfig(request);
222       Assert.fail("No exception raised");
223     } catch (InvalidArgumentException e) {
224       // Expected exception.
225     }
226   }
227 
228   @Test
listScanConfigsTest()229   public void listScanConfigsTest() throws Exception {
230     ScanConfig responsesElement = ScanConfig.newBuilder().build();
231     ListScanConfigsResponse expectedResponse =
232         ListScanConfigsResponse.newBuilder()
233             .setNextPageToken("")
234             .addAllScanConfigs(Arrays.asList(responsesElement))
235             .build();
236     mockWebSecurityScanner.addResponse(expectedResponse);
237 
238     ListScanConfigsRequest request =
239         ListScanConfigsRequest.newBuilder()
240             .setParent("parent-995424086")
241             .setPageToken("pageToken873572522")
242             .setPageSize(883849137)
243             .build();
244 
245     ListScanConfigsPagedResponse pagedListResponse = client.listScanConfigs(request);
246 
247     List<ScanConfig> resources = Lists.newArrayList(pagedListResponse.iterateAll());
248 
249     Assert.assertEquals(1, resources.size());
250     Assert.assertEquals(expectedResponse.getScanConfigsList().get(0), resources.get(0));
251 
252     List<AbstractMessage> actualRequests = mockWebSecurityScanner.getRequests();
253     Assert.assertEquals(1, actualRequests.size());
254     ListScanConfigsRequest actualRequest = ((ListScanConfigsRequest) actualRequests.get(0));
255 
256     Assert.assertEquals(request.getParent(), actualRequest.getParent());
257     Assert.assertEquals(request.getPageToken(), actualRequest.getPageToken());
258     Assert.assertEquals(request.getPageSize(), actualRequest.getPageSize());
259     Assert.assertTrue(
260         channelProvider.isHeaderSent(
261             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
262             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
263   }
264 
265   @Test
listScanConfigsExceptionTest()266   public void listScanConfigsExceptionTest() throws Exception {
267     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
268     mockWebSecurityScanner.addException(exception);
269 
270     try {
271       ListScanConfigsRequest request =
272           ListScanConfigsRequest.newBuilder()
273               .setParent("parent-995424086")
274               .setPageToken("pageToken873572522")
275               .setPageSize(883849137)
276               .build();
277       client.listScanConfigs(request);
278       Assert.fail("No exception raised");
279     } catch (InvalidArgumentException e) {
280       // Expected exception.
281     }
282   }
283 
284   @Test
updateScanConfigTest()285   public void updateScanConfigTest() throws Exception {
286     ScanConfig expectedResponse =
287         ScanConfig.newBuilder()
288             .setName("name3373707")
289             .setDisplayName("displayName1714148973")
290             .setMaxQps(844445913)
291             .addAllStartingUrls(new ArrayList<String>())
292             .setAuthentication(ScanConfig.Authentication.newBuilder().build())
293             .addAllBlacklistPatterns(new ArrayList<String>())
294             .setSchedule(ScanConfig.Schedule.newBuilder().build())
295             .setManagedScan(true)
296             .setStaticIpScan(true)
297             .setIgnoreHttpStatusErrors(true)
298             .build();
299     mockWebSecurityScanner.addResponse(expectedResponse);
300 
301     UpdateScanConfigRequest request =
302         UpdateScanConfigRequest.newBuilder()
303             .setScanConfig(ScanConfig.newBuilder().build())
304             .setUpdateMask(FieldMask.newBuilder().build())
305             .build();
306 
307     ScanConfig actualResponse = client.updateScanConfig(request);
308     Assert.assertEquals(expectedResponse, actualResponse);
309 
310     List<AbstractMessage> actualRequests = mockWebSecurityScanner.getRequests();
311     Assert.assertEquals(1, actualRequests.size());
312     UpdateScanConfigRequest actualRequest = ((UpdateScanConfigRequest) actualRequests.get(0));
313 
314     Assert.assertEquals(request.getScanConfig(), actualRequest.getScanConfig());
315     Assert.assertEquals(request.getUpdateMask(), actualRequest.getUpdateMask());
316     Assert.assertTrue(
317         channelProvider.isHeaderSent(
318             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
319             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
320   }
321 
322   @Test
updateScanConfigExceptionTest()323   public void updateScanConfigExceptionTest() throws Exception {
324     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
325     mockWebSecurityScanner.addException(exception);
326 
327     try {
328       UpdateScanConfigRequest request =
329           UpdateScanConfigRequest.newBuilder()
330               .setScanConfig(ScanConfig.newBuilder().build())
331               .setUpdateMask(FieldMask.newBuilder().build())
332               .build();
333       client.updateScanConfig(request);
334       Assert.fail("No exception raised");
335     } catch (InvalidArgumentException e) {
336       // Expected exception.
337     }
338   }
339 
340   @Test
startScanRunTest()341   public void startScanRunTest() throws Exception {
342     ScanRun expectedResponse =
343         ScanRun.newBuilder()
344             .setName("name3373707")
345             .setStartTime(Timestamp.newBuilder().build())
346             .setEndTime(Timestamp.newBuilder().build())
347             .setUrlsCrawledCount(-1749797253)
348             .setUrlsTestedCount(-1498664068)
349             .setHasVulnerabilities(true)
350             .setProgressPercent(-2137894861)
351             .setErrorTrace(ScanRunErrorTrace.newBuilder().build())
352             .addAllWarningTraces(new ArrayList<ScanRunWarningTrace>())
353             .build();
354     mockWebSecurityScanner.addResponse(expectedResponse);
355 
356     StartScanRunRequest request = StartScanRunRequest.newBuilder().setName("name3373707").build();
357 
358     ScanRun actualResponse = client.startScanRun(request);
359     Assert.assertEquals(expectedResponse, actualResponse);
360 
361     List<AbstractMessage> actualRequests = mockWebSecurityScanner.getRequests();
362     Assert.assertEquals(1, actualRequests.size());
363     StartScanRunRequest actualRequest = ((StartScanRunRequest) actualRequests.get(0));
364 
365     Assert.assertEquals(request.getName(), actualRequest.getName());
366     Assert.assertTrue(
367         channelProvider.isHeaderSent(
368             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
369             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
370   }
371 
372   @Test
startScanRunExceptionTest()373   public void startScanRunExceptionTest() throws Exception {
374     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
375     mockWebSecurityScanner.addException(exception);
376 
377     try {
378       StartScanRunRequest request = StartScanRunRequest.newBuilder().setName("name3373707").build();
379       client.startScanRun(request);
380       Assert.fail("No exception raised");
381     } catch (InvalidArgumentException e) {
382       // Expected exception.
383     }
384   }
385 
386   @Test
getScanRunTest()387   public void getScanRunTest() throws Exception {
388     ScanRun expectedResponse =
389         ScanRun.newBuilder()
390             .setName("name3373707")
391             .setStartTime(Timestamp.newBuilder().build())
392             .setEndTime(Timestamp.newBuilder().build())
393             .setUrlsCrawledCount(-1749797253)
394             .setUrlsTestedCount(-1498664068)
395             .setHasVulnerabilities(true)
396             .setProgressPercent(-2137894861)
397             .setErrorTrace(ScanRunErrorTrace.newBuilder().build())
398             .addAllWarningTraces(new ArrayList<ScanRunWarningTrace>())
399             .build();
400     mockWebSecurityScanner.addResponse(expectedResponse);
401 
402     GetScanRunRequest request = GetScanRunRequest.newBuilder().setName("name3373707").build();
403 
404     ScanRun actualResponse = client.getScanRun(request);
405     Assert.assertEquals(expectedResponse, actualResponse);
406 
407     List<AbstractMessage> actualRequests = mockWebSecurityScanner.getRequests();
408     Assert.assertEquals(1, actualRequests.size());
409     GetScanRunRequest actualRequest = ((GetScanRunRequest) actualRequests.get(0));
410 
411     Assert.assertEquals(request.getName(), actualRequest.getName());
412     Assert.assertTrue(
413         channelProvider.isHeaderSent(
414             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
415             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
416   }
417 
418   @Test
getScanRunExceptionTest()419   public void getScanRunExceptionTest() throws Exception {
420     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
421     mockWebSecurityScanner.addException(exception);
422 
423     try {
424       GetScanRunRequest request = GetScanRunRequest.newBuilder().setName("name3373707").build();
425       client.getScanRun(request);
426       Assert.fail("No exception raised");
427     } catch (InvalidArgumentException e) {
428       // Expected exception.
429     }
430   }
431 
432   @Test
listScanRunsTest()433   public void listScanRunsTest() throws Exception {
434     ScanRun responsesElement = ScanRun.newBuilder().build();
435     ListScanRunsResponse expectedResponse =
436         ListScanRunsResponse.newBuilder()
437             .setNextPageToken("")
438             .addAllScanRuns(Arrays.asList(responsesElement))
439             .build();
440     mockWebSecurityScanner.addResponse(expectedResponse);
441 
442     ListScanRunsRequest request =
443         ListScanRunsRequest.newBuilder()
444             .setParent("parent-995424086")
445             .setPageToken("pageToken873572522")
446             .setPageSize(883849137)
447             .build();
448 
449     ListScanRunsPagedResponse pagedListResponse = client.listScanRuns(request);
450 
451     List<ScanRun> resources = Lists.newArrayList(pagedListResponse.iterateAll());
452 
453     Assert.assertEquals(1, resources.size());
454     Assert.assertEquals(expectedResponse.getScanRunsList().get(0), resources.get(0));
455 
456     List<AbstractMessage> actualRequests = mockWebSecurityScanner.getRequests();
457     Assert.assertEquals(1, actualRequests.size());
458     ListScanRunsRequest actualRequest = ((ListScanRunsRequest) actualRequests.get(0));
459 
460     Assert.assertEquals(request.getParent(), actualRequest.getParent());
461     Assert.assertEquals(request.getPageToken(), actualRequest.getPageToken());
462     Assert.assertEquals(request.getPageSize(), actualRequest.getPageSize());
463     Assert.assertTrue(
464         channelProvider.isHeaderSent(
465             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
466             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
467   }
468 
469   @Test
listScanRunsExceptionTest()470   public void listScanRunsExceptionTest() throws Exception {
471     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
472     mockWebSecurityScanner.addException(exception);
473 
474     try {
475       ListScanRunsRequest request =
476           ListScanRunsRequest.newBuilder()
477               .setParent("parent-995424086")
478               .setPageToken("pageToken873572522")
479               .setPageSize(883849137)
480               .build();
481       client.listScanRuns(request);
482       Assert.fail("No exception raised");
483     } catch (InvalidArgumentException e) {
484       // Expected exception.
485     }
486   }
487 
488   @Test
stopScanRunTest()489   public void stopScanRunTest() throws Exception {
490     ScanRun expectedResponse =
491         ScanRun.newBuilder()
492             .setName("name3373707")
493             .setStartTime(Timestamp.newBuilder().build())
494             .setEndTime(Timestamp.newBuilder().build())
495             .setUrlsCrawledCount(-1749797253)
496             .setUrlsTestedCount(-1498664068)
497             .setHasVulnerabilities(true)
498             .setProgressPercent(-2137894861)
499             .setErrorTrace(ScanRunErrorTrace.newBuilder().build())
500             .addAllWarningTraces(new ArrayList<ScanRunWarningTrace>())
501             .build();
502     mockWebSecurityScanner.addResponse(expectedResponse);
503 
504     StopScanRunRequest request = StopScanRunRequest.newBuilder().setName("name3373707").build();
505 
506     ScanRun actualResponse = client.stopScanRun(request);
507     Assert.assertEquals(expectedResponse, actualResponse);
508 
509     List<AbstractMessage> actualRequests = mockWebSecurityScanner.getRequests();
510     Assert.assertEquals(1, actualRequests.size());
511     StopScanRunRequest actualRequest = ((StopScanRunRequest) actualRequests.get(0));
512 
513     Assert.assertEquals(request.getName(), actualRequest.getName());
514     Assert.assertTrue(
515         channelProvider.isHeaderSent(
516             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
517             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
518   }
519 
520   @Test
stopScanRunExceptionTest()521   public void stopScanRunExceptionTest() throws Exception {
522     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
523     mockWebSecurityScanner.addException(exception);
524 
525     try {
526       StopScanRunRequest request = StopScanRunRequest.newBuilder().setName("name3373707").build();
527       client.stopScanRun(request);
528       Assert.fail("No exception raised");
529     } catch (InvalidArgumentException e) {
530       // Expected exception.
531     }
532   }
533 
534   @Test
listCrawledUrlsTest()535   public void listCrawledUrlsTest() throws Exception {
536     CrawledUrl responsesElement = CrawledUrl.newBuilder().build();
537     ListCrawledUrlsResponse expectedResponse =
538         ListCrawledUrlsResponse.newBuilder()
539             .setNextPageToken("")
540             .addAllCrawledUrls(Arrays.asList(responsesElement))
541             .build();
542     mockWebSecurityScanner.addResponse(expectedResponse);
543 
544     ListCrawledUrlsRequest request =
545         ListCrawledUrlsRequest.newBuilder()
546             .setParent("parent-995424086")
547             .setPageToken("pageToken873572522")
548             .setPageSize(883849137)
549             .build();
550 
551     ListCrawledUrlsPagedResponse pagedListResponse = client.listCrawledUrls(request);
552 
553     List<CrawledUrl> resources = Lists.newArrayList(pagedListResponse.iterateAll());
554 
555     Assert.assertEquals(1, resources.size());
556     Assert.assertEquals(expectedResponse.getCrawledUrlsList().get(0), resources.get(0));
557 
558     List<AbstractMessage> actualRequests = mockWebSecurityScanner.getRequests();
559     Assert.assertEquals(1, actualRequests.size());
560     ListCrawledUrlsRequest actualRequest = ((ListCrawledUrlsRequest) actualRequests.get(0));
561 
562     Assert.assertEquals(request.getParent(), actualRequest.getParent());
563     Assert.assertEquals(request.getPageToken(), actualRequest.getPageToken());
564     Assert.assertEquals(request.getPageSize(), actualRequest.getPageSize());
565     Assert.assertTrue(
566         channelProvider.isHeaderSent(
567             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
568             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
569   }
570 
571   @Test
listCrawledUrlsExceptionTest()572   public void listCrawledUrlsExceptionTest() throws Exception {
573     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
574     mockWebSecurityScanner.addException(exception);
575 
576     try {
577       ListCrawledUrlsRequest request =
578           ListCrawledUrlsRequest.newBuilder()
579               .setParent("parent-995424086")
580               .setPageToken("pageToken873572522")
581               .setPageSize(883849137)
582               .build();
583       client.listCrawledUrls(request);
584       Assert.fail("No exception raised");
585     } catch (InvalidArgumentException e) {
586       // Expected exception.
587     }
588   }
589 
590   @Test
getFindingTest()591   public void getFindingTest() throws Exception {
592     Finding expectedResponse =
593         Finding.newBuilder()
594             .setName("name3373707")
595             .setFindingType("findingType1116910179")
596             .setHttpMethod("httpMethod751124361")
597             .setFuzzedUrl("fuzzedUrl-1730986655")
598             .setBody("body3029410")
599             .setDescription("description-1724546052")
600             .setReproductionUrl("reproductionUrl-2086120797")
601             .setFrameUrl("frameUrl-1644982078")
602             .setFinalUrl("finalUrl-681275367")
603             .setTrackingId("trackingId1168987698")
604             .setForm(Form.newBuilder().build())
605             .setOutdatedLibrary(OutdatedLibrary.newBuilder().build())
606             .setViolatingResource(ViolatingResource.newBuilder().build())
607             .setVulnerableHeaders(VulnerableHeaders.newBuilder().build())
608             .setVulnerableParameters(VulnerableParameters.newBuilder().build())
609             .setXss(Xss.newBuilder().build())
610             .setXxe(Xxe.newBuilder().build())
611             .build();
612     mockWebSecurityScanner.addResponse(expectedResponse);
613 
614     GetFindingRequest request = GetFindingRequest.newBuilder().setName("name3373707").build();
615 
616     Finding actualResponse = client.getFinding(request);
617     Assert.assertEquals(expectedResponse, actualResponse);
618 
619     List<AbstractMessage> actualRequests = mockWebSecurityScanner.getRequests();
620     Assert.assertEquals(1, actualRequests.size());
621     GetFindingRequest actualRequest = ((GetFindingRequest) actualRequests.get(0));
622 
623     Assert.assertEquals(request.getName(), actualRequest.getName());
624     Assert.assertTrue(
625         channelProvider.isHeaderSent(
626             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
627             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
628   }
629 
630   @Test
getFindingExceptionTest()631   public void getFindingExceptionTest() throws Exception {
632     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
633     mockWebSecurityScanner.addException(exception);
634 
635     try {
636       GetFindingRequest request = GetFindingRequest.newBuilder().setName("name3373707").build();
637       client.getFinding(request);
638       Assert.fail("No exception raised");
639     } catch (InvalidArgumentException e) {
640       // Expected exception.
641     }
642   }
643 
644   @Test
listFindingsTest()645   public void listFindingsTest() throws Exception {
646     Finding responsesElement = Finding.newBuilder().build();
647     ListFindingsResponse expectedResponse =
648         ListFindingsResponse.newBuilder()
649             .setNextPageToken("")
650             .addAllFindings(Arrays.asList(responsesElement))
651             .build();
652     mockWebSecurityScanner.addResponse(expectedResponse);
653 
654     ListFindingsRequest request =
655         ListFindingsRequest.newBuilder()
656             .setParent("parent-995424086")
657             .setFilter("filter-1274492040")
658             .setPageToken("pageToken873572522")
659             .setPageSize(883849137)
660             .build();
661 
662     ListFindingsPagedResponse pagedListResponse = client.listFindings(request);
663 
664     List<Finding> resources = Lists.newArrayList(pagedListResponse.iterateAll());
665 
666     Assert.assertEquals(1, resources.size());
667     Assert.assertEquals(expectedResponse.getFindingsList().get(0), resources.get(0));
668 
669     List<AbstractMessage> actualRequests = mockWebSecurityScanner.getRequests();
670     Assert.assertEquals(1, actualRequests.size());
671     ListFindingsRequest actualRequest = ((ListFindingsRequest) actualRequests.get(0));
672 
673     Assert.assertEquals(request.getParent(), actualRequest.getParent());
674     Assert.assertEquals(request.getFilter(), actualRequest.getFilter());
675     Assert.assertEquals(request.getPageToken(), actualRequest.getPageToken());
676     Assert.assertEquals(request.getPageSize(), actualRequest.getPageSize());
677     Assert.assertTrue(
678         channelProvider.isHeaderSent(
679             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
680             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
681   }
682 
683   @Test
listFindingsExceptionTest()684   public void listFindingsExceptionTest() throws Exception {
685     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
686     mockWebSecurityScanner.addException(exception);
687 
688     try {
689       ListFindingsRequest request =
690           ListFindingsRequest.newBuilder()
691               .setParent("parent-995424086")
692               .setFilter("filter-1274492040")
693               .setPageToken("pageToken873572522")
694               .setPageSize(883849137)
695               .build();
696       client.listFindings(request);
697       Assert.fail("No exception raised");
698     } catch (InvalidArgumentException e) {
699       // Expected exception.
700     }
701   }
702 
703   @Test
listFindingTypeStatsTest()704   public void listFindingTypeStatsTest() throws Exception {
705     ListFindingTypeStatsResponse expectedResponse =
706         ListFindingTypeStatsResponse.newBuilder()
707             .addAllFindingTypeStats(new ArrayList<FindingTypeStats>())
708             .build();
709     mockWebSecurityScanner.addResponse(expectedResponse);
710 
711     ListFindingTypeStatsRequest request =
712         ListFindingTypeStatsRequest.newBuilder().setParent("parent-995424086").build();
713 
714     ListFindingTypeStatsResponse actualResponse = client.listFindingTypeStats(request);
715     Assert.assertEquals(expectedResponse, actualResponse);
716 
717     List<AbstractMessage> actualRequests = mockWebSecurityScanner.getRequests();
718     Assert.assertEquals(1, actualRequests.size());
719     ListFindingTypeStatsRequest actualRequest =
720         ((ListFindingTypeStatsRequest) actualRequests.get(0));
721 
722     Assert.assertEquals(request.getParent(), actualRequest.getParent());
723     Assert.assertTrue(
724         channelProvider.isHeaderSent(
725             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
726             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
727   }
728 
729   @Test
listFindingTypeStatsExceptionTest()730   public void listFindingTypeStatsExceptionTest() throws Exception {
731     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
732     mockWebSecurityScanner.addException(exception);
733 
734     try {
735       ListFindingTypeStatsRequest request =
736           ListFindingTypeStatsRequest.newBuilder().setParent("parent-995424086").build();
737       client.listFindingTypeStats(request);
738       Assert.fail("No exception raised");
739     } catch (InvalidArgumentException e) {
740       // Expected exception.
741     }
742   }
743 }
744