• 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.dialogflow.cx.v3;
18 
19 import static com.google.cloud.dialogflow.cx.v3.SecuritySettingsServiceClient.ListLocationsPagedResponse;
20 import static com.google.cloud.dialogflow.cx.v3.SecuritySettingsServiceClient.ListSecuritySettingsPagedResponse;
21 
22 import com.google.api.gax.core.NoCredentialsProvider;
23 import com.google.api.gax.httpjson.GaxHttpJsonProperties;
24 import com.google.api.gax.httpjson.testing.MockHttpService;
25 import com.google.api.gax.rpc.ApiClientHeaderProvider;
26 import com.google.api.gax.rpc.ApiException;
27 import com.google.api.gax.rpc.ApiExceptionFactory;
28 import com.google.api.gax.rpc.InvalidArgumentException;
29 import com.google.api.gax.rpc.StatusCode;
30 import com.google.api.gax.rpc.testing.FakeStatusCode;
31 import com.google.cloud.dialogflow.cx.v3.stub.HttpJsonSecuritySettingsServiceStub;
32 import com.google.cloud.location.GetLocationRequest;
33 import com.google.cloud.location.ListLocationsRequest;
34 import com.google.cloud.location.ListLocationsResponse;
35 import com.google.cloud.location.Location;
36 import com.google.common.collect.Lists;
37 import com.google.protobuf.Any;
38 import com.google.protobuf.Empty;
39 import com.google.protobuf.FieldMask;
40 import java.io.IOException;
41 import java.util.ArrayList;
42 import java.util.Arrays;
43 import java.util.HashMap;
44 import java.util.List;
45 import javax.annotation.Generated;
46 import org.junit.After;
47 import org.junit.AfterClass;
48 import org.junit.Assert;
49 import org.junit.Before;
50 import org.junit.BeforeClass;
51 import org.junit.Test;
52 
53 @Generated("by gapic-generator-java")
54 public class SecuritySettingsServiceClientHttpJsonTest {
55   private static MockHttpService mockService;
56   private static SecuritySettingsServiceClient client;
57 
58   @BeforeClass
startStaticServer()59   public static void startStaticServer() throws IOException {
60     mockService =
61         new MockHttpService(
62             HttpJsonSecuritySettingsServiceStub.getMethodDescriptors(),
63             SecuritySettingsServiceSettings.getDefaultEndpoint());
64     SecuritySettingsServiceSettings settings =
65         SecuritySettingsServiceSettings.newHttpJsonBuilder()
66             .setTransportChannelProvider(
67                 SecuritySettingsServiceSettings.defaultHttpJsonTransportProviderBuilder()
68                     .setHttpTransport(mockService)
69                     .build())
70             .setCredentialsProvider(NoCredentialsProvider.create())
71             .build();
72     client = SecuritySettingsServiceClient.create(settings);
73   }
74 
75   @AfterClass
stopServer()76   public static void stopServer() {
77     client.close();
78   }
79 
80   @Before
setUp()81   public void setUp() {}
82 
83   @After
tearDown()84   public void tearDown() throws Exception {
85     mockService.reset();
86   }
87 
88   @Test
createSecuritySettingsTest()89   public void createSecuritySettingsTest() throws Exception {
90     SecuritySettings expectedResponse =
91         SecuritySettings.newBuilder()
92             .setName(
93                 SecuritySettingsName.of("[PROJECT]", "[LOCATION]", "[SECURITY_SETTINGS]")
94                     .toString())
95             .setDisplayName("displayName1714148973")
96             .setInspectTemplate("inspectTemplate-2053620050")
97             .setDeidentifyTemplate("deidentifyTemplate-2141929945")
98             .addAllPurgeDataTypes(new ArrayList<SecuritySettings.PurgeDataType>())
99             .setAudioExportSettings(SecuritySettings.AudioExportSettings.newBuilder().build())
100             .setInsightsExportSettings(SecuritySettings.InsightsExportSettings.newBuilder().build())
101             .build();
102     mockService.addResponse(expectedResponse);
103 
104     LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
105     SecuritySettings securitySettings = SecuritySettings.newBuilder().build();
106 
107     SecuritySettings actualResponse = client.createSecuritySettings(parent, securitySettings);
108     Assert.assertEquals(expectedResponse, actualResponse);
109 
110     List<String> actualRequests = mockService.getRequestPaths();
111     Assert.assertEquals(1, actualRequests.size());
112 
113     String apiClientHeaderKey =
114         mockService
115             .getRequestHeaders()
116             .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
117             .iterator()
118             .next();
119     Assert.assertTrue(
120         GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
121             .matcher(apiClientHeaderKey)
122             .matches());
123   }
124 
125   @Test
createSecuritySettingsExceptionTest()126   public void createSecuritySettingsExceptionTest() throws Exception {
127     ApiException exception =
128         ApiExceptionFactory.createException(
129             new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
130     mockService.addException(exception);
131 
132     try {
133       LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
134       SecuritySettings securitySettings = SecuritySettings.newBuilder().build();
135       client.createSecuritySettings(parent, securitySettings);
136       Assert.fail("No exception raised");
137     } catch (InvalidArgumentException e) {
138       // Expected exception.
139     }
140   }
141 
142   @Test
createSecuritySettingsTest2()143   public void createSecuritySettingsTest2() throws Exception {
144     SecuritySettings expectedResponse =
145         SecuritySettings.newBuilder()
146             .setName(
147                 SecuritySettingsName.of("[PROJECT]", "[LOCATION]", "[SECURITY_SETTINGS]")
148                     .toString())
149             .setDisplayName("displayName1714148973")
150             .setInspectTemplate("inspectTemplate-2053620050")
151             .setDeidentifyTemplate("deidentifyTemplate-2141929945")
152             .addAllPurgeDataTypes(new ArrayList<SecuritySettings.PurgeDataType>())
153             .setAudioExportSettings(SecuritySettings.AudioExportSettings.newBuilder().build())
154             .setInsightsExportSettings(SecuritySettings.InsightsExportSettings.newBuilder().build())
155             .build();
156     mockService.addResponse(expectedResponse);
157 
158     String parent = "projects/project-5833/locations/location-5833";
159     SecuritySettings securitySettings = SecuritySettings.newBuilder().build();
160 
161     SecuritySettings actualResponse = client.createSecuritySettings(parent, securitySettings);
162     Assert.assertEquals(expectedResponse, actualResponse);
163 
164     List<String> actualRequests = mockService.getRequestPaths();
165     Assert.assertEquals(1, actualRequests.size());
166 
167     String apiClientHeaderKey =
168         mockService
169             .getRequestHeaders()
170             .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
171             .iterator()
172             .next();
173     Assert.assertTrue(
174         GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
175             .matcher(apiClientHeaderKey)
176             .matches());
177   }
178 
179   @Test
createSecuritySettingsExceptionTest2()180   public void createSecuritySettingsExceptionTest2() throws Exception {
181     ApiException exception =
182         ApiExceptionFactory.createException(
183             new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
184     mockService.addException(exception);
185 
186     try {
187       String parent = "projects/project-5833/locations/location-5833";
188       SecuritySettings securitySettings = SecuritySettings.newBuilder().build();
189       client.createSecuritySettings(parent, securitySettings);
190       Assert.fail("No exception raised");
191     } catch (InvalidArgumentException e) {
192       // Expected exception.
193     }
194   }
195 
196   @Test
getSecuritySettingsTest()197   public void getSecuritySettingsTest() throws Exception {
198     SecuritySettings expectedResponse =
199         SecuritySettings.newBuilder()
200             .setName(
201                 SecuritySettingsName.of("[PROJECT]", "[LOCATION]", "[SECURITY_SETTINGS]")
202                     .toString())
203             .setDisplayName("displayName1714148973")
204             .setInspectTemplate("inspectTemplate-2053620050")
205             .setDeidentifyTemplate("deidentifyTemplate-2141929945")
206             .addAllPurgeDataTypes(new ArrayList<SecuritySettings.PurgeDataType>())
207             .setAudioExportSettings(SecuritySettings.AudioExportSettings.newBuilder().build())
208             .setInsightsExportSettings(SecuritySettings.InsightsExportSettings.newBuilder().build())
209             .build();
210     mockService.addResponse(expectedResponse);
211 
212     SecuritySettingsName name =
213         SecuritySettingsName.of("[PROJECT]", "[LOCATION]", "[SECURITY_SETTINGS]");
214 
215     SecuritySettings actualResponse = client.getSecuritySettings(name);
216     Assert.assertEquals(expectedResponse, actualResponse);
217 
218     List<String> actualRequests = mockService.getRequestPaths();
219     Assert.assertEquals(1, actualRequests.size());
220 
221     String apiClientHeaderKey =
222         mockService
223             .getRequestHeaders()
224             .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
225             .iterator()
226             .next();
227     Assert.assertTrue(
228         GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
229             .matcher(apiClientHeaderKey)
230             .matches());
231   }
232 
233   @Test
getSecuritySettingsExceptionTest()234   public void getSecuritySettingsExceptionTest() throws Exception {
235     ApiException exception =
236         ApiExceptionFactory.createException(
237             new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
238     mockService.addException(exception);
239 
240     try {
241       SecuritySettingsName name =
242           SecuritySettingsName.of("[PROJECT]", "[LOCATION]", "[SECURITY_SETTINGS]");
243       client.getSecuritySettings(name);
244       Assert.fail("No exception raised");
245     } catch (InvalidArgumentException e) {
246       // Expected exception.
247     }
248   }
249 
250   @Test
getSecuritySettingsTest2()251   public void getSecuritySettingsTest2() throws Exception {
252     SecuritySettings expectedResponse =
253         SecuritySettings.newBuilder()
254             .setName(
255                 SecuritySettingsName.of("[PROJECT]", "[LOCATION]", "[SECURITY_SETTINGS]")
256                     .toString())
257             .setDisplayName("displayName1714148973")
258             .setInspectTemplate("inspectTemplate-2053620050")
259             .setDeidentifyTemplate("deidentifyTemplate-2141929945")
260             .addAllPurgeDataTypes(new ArrayList<SecuritySettings.PurgeDataType>())
261             .setAudioExportSettings(SecuritySettings.AudioExportSettings.newBuilder().build())
262             .setInsightsExportSettings(SecuritySettings.InsightsExportSettings.newBuilder().build())
263             .build();
264     mockService.addResponse(expectedResponse);
265 
266     String name =
267         "projects/project-9453/locations/location-9453/securitySettings/securitySetting-9453";
268 
269     SecuritySettings actualResponse = client.getSecuritySettings(name);
270     Assert.assertEquals(expectedResponse, actualResponse);
271 
272     List<String> actualRequests = mockService.getRequestPaths();
273     Assert.assertEquals(1, actualRequests.size());
274 
275     String apiClientHeaderKey =
276         mockService
277             .getRequestHeaders()
278             .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
279             .iterator()
280             .next();
281     Assert.assertTrue(
282         GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
283             .matcher(apiClientHeaderKey)
284             .matches());
285   }
286 
287   @Test
getSecuritySettingsExceptionTest2()288   public void getSecuritySettingsExceptionTest2() throws Exception {
289     ApiException exception =
290         ApiExceptionFactory.createException(
291             new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
292     mockService.addException(exception);
293 
294     try {
295       String name =
296           "projects/project-9453/locations/location-9453/securitySettings/securitySetting-9453";
297       client.getSecuritySettings(name);
298       Assert.fail("No exception raised");
299     } catch (InvalidArgumentException e) {
300       // Expected exception.
301     }
302   }
303 
304   @Test
updateSecuritySettingsTest()305   public void updateSecuritySettingsTest() throws Exception {
306     SecuritySettings expectedResponse =
307         SecuritySettings.newBuilder()
308             .setName(
309                 SecuritySettingsName.of("[PROJECT]", "[LOCATION]", "[SECURITY_SETTINGS]")
310                     .toString())
311             .setDisplayName("displayName1714148973")
312             .setInspectTemplate("inspectTemplate-2053620050")
313             .setDeidentifyTemplate("deidentifyTemplate-2141929945")
314             .addAllPurgeDataTypes(new ArrayList<SecuritySettings.PurgeDataType>())
315             .setAudioExportSettings(SecuritySettings.AudioExportSettings.newBuilder().build())
316             .setInsightsExportSettings(SecuritySettings.InsightsExportSettings.newBuilder().build())
317             .build();
318     mockService.addResponse(expectedResponse);
319 
320     SecuritySettings securitySettings =
321         SecuritySettings.newBuilder()
322             .setName(
323                 SecuritySettingsName.of("[PROJECT]", "[LOCATION]", "[SECURITY_SETTINGS]")
324                     .toString())
325             .setDisplayName("displayName1714148973")
326             .setInspectTemplate("inspectTemplate-2053620050")
327             .setDeidentifyTemplate("deidentifyTemplate-2141929945")
328             .addAllPurgeDataTypes(new ArrayList<SecuritySettings.PurgeDataType>())
329             .setAudioExportSettings(SecuritySettings.AudioExportSettings.newBuilder().build())
330             .setInsightsExportSettings(SecuritySettings.InsightsExportSettings.newBuilder().build())
331             .build();
332     FieldMask updateMask = FieldMask.newBuilder().build();
333 
334     SecuritySettings actualResponse = client.updateSecuritySettings(securitySettings, updateMask);
335     Assert.assertEquals(expectedResponse, actualResponse);
336 
337     List<String> actualRequests = mockService.getRequestPaths();
338     Assert.assertEquals(1, actualRequests.size());
339 
340     String apiClientHeaderKey =
341         mockService
342             .getRequestHeaders()
343             .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
344             .iterator()
345             .next();
346     Assert.assertTrue(
347         GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
348             .matcher(apiClientHeaderKey)
349             .matches());
350   }
351 
352   @Test
updateSecuritySettingsExceptionTest()353   public void updateSecuritySettingsExceptionTest() throws Exception {
354     ApiException exception =
355         ApiExceptionFactory.createException(
356             new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
357     mockService.addException(exception);
358 
359     try {
360       SecuritySettings securitySettings =
361           SecuritySettings.newBuilder()
362               .setName(
363                   SecuritySettingsName.of("[PROJECT]", "[LOCATION]", "[SECURITY_SETTINGS]")
364                       .toString())
365               .setDisplayName("displayName1714148973")
366               .setInspectTemplate("inspectTemplate-2053620050")
367               .setDeidentifyTemplate("deidentifyTemplate-2141929945")
368               .addAllPurgeDataTypes(new ArrayList<SecuritySettings.PurgeDataType>())
369               .setAudioExportSettings(SecuritySettings.AudioExportSettings.newBuilder().build())
370               .setInsightsExportSettings(
371                   SecuritySettings.InsightsExportSettings.newBuilder().build())
372               .build();
373       FieldMask updateMask = FieldMask.newBuilder().build();
374       client.updateSecuritySettings(securitySettings, updateMask);
375       Assert.fail("No exception raised");
376     } catch (InvalidArgumentException e) {
377       // Expected exception.
378     }
379   }
380 
381   @Test
listSecuritySettingsTest()382   public void listSecuritySettingsTest() throws Exception {
383     SecuritySettings responsesElement = SecuritySettings.newBuilder().build();
384     ListSecuritySettingsResponse expectedResponse =
385         ListSecuritySettingsResponse.newBuilder()
386             .setNextPageToken("")
387             .addAllSecuritySettings(Arrays.asList(responsesElement))
388             .build();
389     mockService.addResponse(expectedResponse);
390 
391     LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
392 
393     ListSecuritySettingsPagedResponse pagedListResponse = client.listSecuritySettings(parent);
394 
395     List<SecuritySettings> resources = Lists.newArrayList(pagedListResponse.iterateAll());
396 
397     Assert.assertEquals(1, resources.size());
398     Assert.assertEquals(expectedResponse.getSecuritySettingsList().get(0), resources.get(0));
399 
400     List<String> actualRequests = mockService.getRequestPaths();
401     Assert.assertEquals(1, actualRequests.size());
402 
403     String apiClientHeaderKey =
404         mockService
405             .getRequestHeaders()
406             .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
407             .iterator()
408             .next();
409     Assert.assertTrue(
410         GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
411             .matcher(apiClientHeaderKey)
412             .matches());
413   }
414 
415   @Test
listSecuritySettingsExceptionTest()416   public void listSecuritySettingsExceptionTest() throws Exception {
417     ApiException exception =
418         ApiExceptionFactory.createException(
419             new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
420     mockService.addException(exception);
421 
422     try {
423       LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
424       client.listSecuritySettings(parent);
425       Assert.fail("No exception raised");
426     } catch (InvalidArgumentException e) {
427       // Expected exception.
428     }
429   }
430 
431   @Test
listSecuritySettingsTest2()432   public void listSecuritySettingsTest2() throws Exception {
433     SecuritySettings responsesElement = SecuritySettings.newBuilder().build();
434     ListSecuritySettingsResponse expectedResponse =
435         ListSecuritySettingsResponse.newBuilder()
436             .setNextPageToken("")
437             .addAllSecuritySettings(Arrays.asList(responsesElement))
438             .build();
439     mockService.addResponse(expectedResponse);
440 
441     String parent = "projects/project-5833/locations/location-5833";
442 
443     ListSecuritySettingsPagedResponse pagedListResponse = client.listSecuritySettings(parent);
444 
445     List<SecuritySettings> resources = Lists.newArrayList(pagedListResponse.iterateAll());
446 
447     Assert.assertEquals(1, resources.size());
448     Assert.assertEquals(expectedResponse.getSecuritySettingsList().get(0), resources.get(0));
449 
450     List<String> actualRequests = mockService.getRequestPaths();
451     Assert.assertEquals(1, actualRequests.size());
452 
453     String apiClientHeaderKey =
454         mockService
455             .getRequestHeaders()
456             .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
457             .iterator()
458             .next();
459     Assert.assertTrue(
460         GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
461             .matcher(apiClientHeaderKey)
462             .matches());
463   }
464 
465   @Test
listSecuritySettingsExceptionTest2()466   public void listSecuritySettingsExceptionTest2() throws Exception {
467     ApiException exception =
468         ApiExceptionFactory.createException(
469             new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
470     mockService.addException(exception);
471 
472     try {
473       String parent = "projects/project-5833/locations/location-5833";
474       client.listSecuritySettings(parent);
475       Assert.fail("No exception raised");
476     } catch (InvalidArgumentException e) {
477       // Expected exception.
478     }
479   }
480 
481   @Test
deleteSecuritySettingsTest()482   public void deleteSecuritySettingsTest() throws Exception {
483     Empty expectedResponse = Empty.newBuilder().build();
484     mockService.addResponse(expectedResponse);
485 
486     SecuritySettingsName name =
487         SecuritySettingsName.of("[PROJECT]", "[LOCATION]", "[SECURITY_SETTINGS]");
488 
489     client.deleteSecuritySettings(name);
490 
491     List<String> actualRequests = mockService.getRequestPaths();
492     Assert.assertEquals(1, actualRequests.size());
493 
494     String apiClientHeaderKey =
495         mockService
496             .getRequestHeaders()
497             .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
498             .iterator()
499             .next();
500     Assert.assertTrue(
501         GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
502             .matcher(apiClientHeaderKey)
503             .matches());
504   }
505 
506   @Test
deleteSecuritySettingsExceptionTest()507   public void deleteSecuritySettingsExceptionTest() throws Exception {
508     ApiException exception =
509         ApiExceptionFactory.createException(
510             new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
511     mockService.addException(exception);
512 
513     try {
514       SecuritySettingsName name =
515           SecuritySettingsName.of("[PROJECT]", "[LOCATION]", "[SECURITY_SETTINGS]");
516       client.deleteSecuritySettings(name);
517       Assert.fail("No exception raised");
518     } catch (InvalidArgumentException e) {
519       // Expected exception.
520     }
521   }
522 
523   @Test
deleteSecuritySettingsTest2()524   public void deleteSecuritySettingsTest2() throws Exception {
525     Empty expectedResponse = Empty.newBuilder().build();
526     mockService.addResponse(expectedResponse);
527 
528     String name =
529         "projects/project-9453/locations/location-9453/securitySettings/securitySetting-9453";
530 
531     client.deleteSecuritySettings(name);
532 
533     List<String> actualRequests = mockService.getRequestPaths();
534     Assert.assertEquals(1, actualRequests.size());
535 
536     String apiClientHeaderKey =
537         mockService
538             .getRequestHeaders()
539             .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
540             .iterator()
541             .next();
542     Assert.assertTrue(
543         GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
544             .matcher(apiClientHeaderKey)
545             .matches());
546   }
547 
548   @Test
deleteSecuritySettingsExceptionTest2()549   public void deleteSecuritySettingsExceptionTest2() throws Exception {
550     ApiException exception =
551         ApiExceptionFactory.createException(
552             new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
553     mockService.addException(exception);
554 
555     try {
556       String name =
557           "projects/project-9453/locations/location-9453/securitySettings/securitySetting-9453";
558       client.deleteSecuritySettings(name);
559       Assert.fail("No exception raised");
560     } catch (InvalidArgumentException e) {
561       // Expected exception.
562     }
563   }
564 
565   @Test
listLocationsTest()566   public void listLocationsTest() throws Exception {
567     Location responsesElement = Location.newBuilder().build();
568     ListLocationsResponse expectedResponse =
569         ListLocationsResponse.newBuilder()
570             .setNextPageToken("")
571             .addAllLocations(Arrays.asList(responsesElement))
572             .build();
573     mockService.addResponse(expectedResponse);
574 
575     ListLocationsRequest request =
576         ListLocationsRequest.newBuilder()
577             .setName("projects/project-3664")
578             .setFilter("filter-1274492040")
579             .setPageSize(883849137)
580             .setPageToken("pageToken873572522")
581             .build();
582 
583     ListLocationsPagedResponse pagedListResponse = client.listLocations(request);
584 
585     List<Location> resources = Lists.newArrayList(pagedListResponse.iterateAll());
586 
587     Assert.assertEquals(1, resources.size());
588     Assert.assertEquals(expectedResponse.getLocationsList().get(0), resources.get(0));
589 
590     List<String> actualRequests = mockService.getRequestPaths();
591     Assert.assertEquals(1, actualRequests.size());
592 
593     String apiClientHeaderKey =
594         mockService
595             .getRequestHeaders()
596             .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
597             .iterator()
598             .next();
599     Assert.assertTrue(
600         GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
601             .matcher(apiClientHeaderKey)
602             .matches());
603   }
604 
605   @Test
listLocationsExceptionTest()606   public void listLocationsExceptionTest() throws Exception {
607     ApiException exception =
608         ApiExceptionFactory.createException(
609             new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
610     mockService.addException(exception);
611 
612     try {
613       ListLocationsRequest request =
614           ListLocationsRequest.newBuilder()
615               .setName("projects/project-3664")
616               .setFilter("filter-1274492040")
617               .setPageSize(883849137)
618               .setPageToken("pageToken873572522")
619               .build();
620       client.listLocations(request);
621       Assert.fail("No exception raised");
622     } catch (InvalidArgumentException e) {
623       // Expected exception.
624     }
625   }
626 
627   @Test
getLocationTest()628   public void getLocationTest() throws Exception {
629     Location expectedResponse =
630         Location.newBuilder()
631             .setName("name3373707")
632             .setLocationId("locationId1541836720")
633             .setDisplayName("displayName1714148973")
634             .putAllLabels(new HashMap<String, String>())
635             .setMetadata(Any.newBuilder().build())
636             .build();
637     mockService.addResponse(expectedResponse);
638 
639     GetLocationRequest request =
640         GetLocationRequest.newBuilder()
641             .setName("projects/project-9062/locations/location-9062")
642             .build();
643 
644     Location actualResponse = client.getLocation(request);
645     Assert.assertEquals(expectedResponse, actualResponse);
646 
647     List<String> actualRequests = mockService.getRequestPaths();
648     Assert.assertEquals(1, actualRequests.size());
649 
650     String apiClientHeaderKey =
651         mockService
652             .getRequestHeaders()
653             .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
654             .iterator()
655             .next();
656     Assert.assertTrue(
657         GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
658             .matcher(apiClientHeaderKey)
659             .matches());
660   }
661 
662   @Test
getLocationExceptionTest()663   public void getLocationExceptionTest() throws Exception {
664     ApiException exception =
665         ApiExceptionFactory.createException(
666             new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
667     mockService.addException(exception);
668 
669     try {
670       GetLocationRequest request =
671           GetLocationRequest.newBuilder()
672               .setName("projects/project-9062/locations/location-9062")
673               .build();
674       client.getLocation(request);
675       Assert.fail("No exception raised");
676     } catch (InvalidArgumentException e) {
677       // Expected exception.
678     }
679   }
680 }
681