• 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.datastream.v1;
18 
19 import static com.google.cloud.datastream.v1.DatastreamClient.FetchStaticIpsPagedResponse;
20 import static com.google.cloud.datastream.v1.DatastreamClient.ListConnectionProfilesPagedResponse;
21 import static com.google.cloud.datastream.v1.DatastreamClient.ListLocationsPagedResponse;
22 import static com.google.cloud.datastream.v1.DatastreamClient.ListPrivateConnectionsPagedResponse;
23 import static com.google.cloud.datastream.v1.DatastreamClient.ListRoutesPagedResponse;
24 import static com.google.cloud.datastream.v1.DatastreamClient.ListStreamObjectsPagedResponse;
25 import static com.google.cloud.datastream.v1.DatastreamClient.ListStreamsPagedResponse;
26 
27 import com.google.api.gax.core.NoCredentialsProvider;
28 import com.google.api.gax.httpjson.GaxHttpJsonProperties;
29 import com.google.api.gax.httpjson.testing.MockHttpService;
30 import com.google.api.gax.rpc.ApiClientHeaderProvider;
31 import com.google.api.gax.rpc.ApiException;
32 import com.google.api.gax.rpc.ApiExceptionFactory;
33 import com.google.api.gax.rpc.InvalidArgumentException;
34 import com.google.api.gax.rpc.StatusCode;
35 import com.google.api.gax.rpc.testing.FakeStatusCode;
36 import com.google.cloud.datastream.v1.stub.HttpJsonDatastreamStub;
37 import com.google.cloud.location.GetLocationRequest;
38 import com.google.cloud.location.ListLocationsRequest;
39 import com.google.cloud.location.ListLocationsResponse;
40 import com.google.cloud.location.Location;
41 import com.google.common.collect.Lists;
42 import com.google.longrunning.Operation;
43 import com.google.protobuf.Any;
44 import com.google.protobuf.Empty;
45 import com.google.protobuf.FieldMask;
46 import com.google.protobuf.Timestamp;
47 import java.io.IOException;
48 import java.util.ArrayList;
49 import java.util.Arrays;
50 import java.util.HashMap;
51 import java.util.List;
52 import java.util.concurrent.ExecutionException;
53 import javax.annotation.Generated;
54 import org.junit.After;
55 import org.junit.AfterClass;
56 import org.junit.Assert;
57 import org.junit.Before;
58 import org.junit.BeforeClass;
59 import org.junit.Test;
60 
61 @Generated("by gapic-generator-java")
62 public class DatastreamClientHttpJsonTest {
63   private static MockHttpService mockService;
64   private static DatastreamClient client;
65 
66   @BeforeClass
startStaticServer()67   public static void startStaticServer() throws IOException {
68     mockService =
69         new MockHttpService(
70             HttpJsonDatastreamStub.getMethodDescriptors(), DatastreamSettings.getDefaultEndpoint());
71     DatastreamSettings settings =
72         DatastreamSettings.newHttpJsonBuilder()
73             .setTransportChannelProvider(
74                 DatastreamSettings.defaultHttpJsonTransportProviderBuilder()
75                     .setHttpTransport(mockService)
76                     .build())
77             .setCredentialsProvider(NoCredentialsProvider.create())
78             .build();
79     client = DatastreamClient.create(settings);
80   }
81 
82   @AfterClass
stopServer()83   public static void stopServer() {
84     client.close();
85   }
86 
87   @Before
setUp()88   public void setUp() {}
89 
90   @After
tearDown()91   public void tearDown() throws Exception {
92     mockService.reset();
93   }
94 
95   @Test
listConnectionProfilesTest()96   public void listConnectionProfilesTest() throws Exception {
97     ConnectionProfile responsesElement = ConnectionProfile.newBuilder().build();
98     ListConnectionProfilesResponse expectedResponse =
99         ListConnectionProfilesResponse.newBuilder()
100             .setNextPageToken("")
101             .addAllConnectionProfiles(Arrays.asList(responsesElement))
102             .build();
103     mockService.addResponse(expectedResponse);
104 
105     LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
106 
107     ListConnectionProfilesPagedResponse pagedListResponse = client.listConnectionProfiles(parent);
108 
109     List<ConnectionProfile> resources = Lists.newArrayList(pagedListResponse.iterateAll());
110 
111     Assert.assertEquals(1, resources.size());
112     Assert.assertEquals(expectedResponse.getConnectionProfilesList().get(0), resources.get(0));
113 
114     List<String> actualRequests = mockService.getRequestPaths();
115     Assert.assertEquals(1, actualRequests.size());
116 
117     String apiClientHeaderKey =
118         mockService
119             .getRequestHeaders()
120             .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
121             .iterator()
122             .next();
123     Assert.assertTrue(
124         GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
125             .matcher(apiClientHeaderKey)
126             .matches());
127   }
128 
129   @Test
listConnectionProfilesExceptionTest()130   public void listConnectionProfilesExceptionTest() throws Exception {
131     ApiException exception =
132         ApiExceptionFactory.createException(
133             new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
134     mockService.addException(exception);
135 
136     try {
137       LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
138       client.listConnectionProfiles(parent);
139       Assert.fail("No exception raised");
140     } catch (InvalidArgumentException e) {
141       // Expected exception.
142     }
143   }
144 
145   @Test
listConnectionProfilesTest2()146   public void listConnectionProfilesTest2() throws Exception {
147     ConnectionProfile responsesElement = ConnectionProfile.newBuilder().build();
148     ListConnectionProfilesResponse expectedResponse =
149         ListConnectionProfilesResponse.newBuilder()
150             .setNextPageToken("")
151             .addAllConnectionProfiles(Arrays.asList(responsesElement))
152             .build();
153     mockService.addResponse(expectedResponse);
154 
155     String parent = "projects/project-5833/locations/location-5833";
156 
157     ListConnectionProfilesPagedResponse pagedListResponse = client.listConnectionProfiles(parent);
158 
159     List<ConnectionProfile> resources = Lists.newArrayList(pagedListResponse.iterateAll());
160 
161     Assert.assertEquals(1, resources.size());
162     Assert.assertEquals(expectedResponse.getConnectionProfilesList().get(0), resources.get(0));
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
listConnectionProfilesExceptionTest2()180   public void listConnectionProfilesExceptionTest2() 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       client.listConnectionProfiles(parent);
189       Assert.fail("No exception raised");
190     } catch (InvalidArgumentException e) {
191       // Expected exception.
192     }
193   }
194 
195   @Test
getConnectionProfileTest()196   public void getConnectionProfileTest() throws Exception {
197     ConnectionProfile expectedResponse =
198         ConnectionProfile.newBuilder()
199             .setName(
200                 ConnectionProfileName.of("[PROJECT]", "[LOCATION]", "[CONNECTION_PROFILE]")
201                     .toString())
202             .setCreateTime(Timestamp.newBuilder().build())
203             .setUpdateTime(Timestamp.newBuilder().build())
204             .putAllLabels(new HashMap<String, String>())
205             .setDisplayName("displayName1714148973")
206             .build();
207     mockService.addResponse(expectedResponse);
208 
209     ConnectionProfileName name =
210         ConnectionProfileName.of("[PROJECT]", "[LOCATION]", "[CONNECTION_PROFILE]");
211 
212     ConnectionProfile actualResponse = client.getConnectionProfile(name);
213     Assert.assertEquals(expectedResponse, actualResponse);
214 
215     List<String> actualRequests = mockService.getRequestPaths();
216     Assert.assertEquals(1, actualRequests.size());
217 
218     String apiClientHeaderKey =
219         mockService
220             .getRequestHeaders()
221             .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
222             .iterator()
223             .next();
224     Assert.assertTrue(
225         GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
226             .matcher(apiClientHeaderKey)
227             .matches());
228   }
229 
230   @Test
getConnectionProfileExceptionTest()231   public void getConnectionProfileExceptionTest() throws Exception {
232     ApiException exception =
233         ApiExceptionFactory.createException(
234             new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
235     mockService.addException(exception);
236 
237     try {
238       ConnectionProfileName name =
239           ConnectionProfileName.of("[PROJECT]", "[LOCATION]", "[CONNECTION_PROFILE]");
240       client.getConnectionProfile(name);
241       Assert.fail("No exception raised");
242     } catch (InvalidArgumentException e) {
243       // Expected exception.
244     }
245   }
246 
247   @Test
getConnectionProfileTest2()248   public void getConnectionProfileTest2() throws Exception {
249     ConnectionProfile expectedResponse =
250         ConnectionProfile.newBuilder()
251             .setName(
252                 ConnectionProfileName.of("[PROJECT]", "[LOCATION]", "[CONNECTION_PROFILE]")
253                     .toString())
254             .setCreateTime(Timestamp.newBuilder().build())
255             .setUpdateTime(Timestamp.newBuilder().build())
256             .putAllLabels(new HashMap<String, String>())
257             .setDisplayName("displayName1714148973")
258             .build();
259     mockService.addResponse(expectedResponse);
260 
261     String name =
262         "projects/project-9560/locations/location-9560/connectionProfiles/connectionProfile-9560";
263 
264     ConnectionProfile actualResponse = client.getConnectionProfile(name);
265     Assert.assertEquals(expectedResponse, actualResponse);
266 
267     List<String> actualRequests = mockService.getRequestPaths();
268     Assert.assertEquals(1, actualRequests.size());
269 
270     String apiClientHeaderKey =
271         mockService
272             .getRequestHeaders()
273             .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
274             .iterator()
275             .next();
276     Assert.assertTrue(
277         GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
278             .matcher(apiClientHeaderKey)
279             .matches());
280   }
281 
282   @Test
getConnectionProfileExceptionTest2()283   public void getConnectionProfileExceptionTest2() throws Exception {
284     ApiException exception =
285         ApiExceptionFactory.createException(
286             new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
287     mockService.addException(exception);
288 
289     try {
290       String name =
291           "projects/project-9560/locations/location-9560/connectionProfiles/connectionProfile-9560";
292       client.getConnectionProfile(name);
293       Assert.fail("No exception raised");
294     } catch (InvalidArgumentException e) {
295       // Expected exception.
296     }
297   }
298 
299   @Test
createConnectionProfileTest()300   public void createConnectionProfileTest() throws Exception {
301     ConnectionProfile expectedResponse =
302         ConnectionProfile.newBuilder()
303             .setName(
304                 ConnectionProfileName.of("[PROJECT]", "[LOCATION]", "[CONNECTION_PROFILE]")
305                     .toString())
306             .setCreateTime(Timestamp.newBuilder().build())
307             .setUpdateTime(Timestamp.newBuilder().build())
308             .putAllLabels(new HashMap<String, String>())
309             .setDisplayName("displayName1714148973")
310             .build();
311     Operation resultOperation =
312         Operation.newBuilder()
313             .setName("createConnectionProfileTest")
314             .setDone(true)
315             .setResponse(Any.pack(expectedResponse))
316             .build();
317     mockService.addResponse(resultOperation);
318 
319     LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
320     ConnectionProfile connectionProfile = ConnectionProfile.newBuilder().build();
321     String connectionProfileId = "connectionProfileId597575526";
322 
323     ConnectionProfile actualResponse =
324         client.createConnectionProfileAsync(parent, connectionProfile, connectionProfileId).get();
325     Assert.assertEquals(expectedResponse, actualResponse);
326 
327     List<String> actualRequests = mockService.getRequestPaths();
328     Assert.assertEquals(1, actualRequests.size());
329 
330     String apiClientHeaderKey =
331         mockService
332             .getRequestHeaders()
333             .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
334             .iterator()
335             .next();
336     Assert.assertTrue(
337         GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
338             .matcher(apiClientHeaderKey)
339             .matches());
340   }
341 
342   @Test
createConnectionProfileExceptionTest()343   public void createConnectionProfileExceptionTest() throws Exception {
344     ApiException exception =
345         ApiExceptionFactory.createException(
346             new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
347     mockService.addException(exception);
348 
349     try {
350       LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
351       ConnectionProfile connectionProfile = ConnectionProfile.newBuilder().build();
352       String connectionProfileId = "connectionProfileId597575526";
353       client.createConnectionProfileAsync(parent, connectionProfile, connectionProfileId).get();
354       Assert.fail("No exception raised");
355     } catch (ExecutionException e) {
356     }
357   }
358 
359   @Test
createConnectionProfileTest2()360   public void createConnectionProfileTest2() throws Exception {
361     ConnectionProfile expectedResponse =
362         ConnectionProfile.newBuilder()
363             .setName(
364                 ConnectionProfileName.of("[PROJECT]", "[LOCATION]", "[CONNECTION_PROFILE]")
365                     .toString())
366             .setCreateTime(Timestamp.newBuilder().build())
367             .setUpdateTime(Timestamp.newBuilder().build())
368             .putAllLabels(new HashMap<String, String>())
369             .setDisplayName("displayName1714148973")
370             .build();
371     Operation resultOperation =
372         Operation.newBuilder()
373             .setName("createConnectionProfileTest")
374             .setDone(true)
375             .setResponse(Any.pack(expectedResponse))
376             .build();
377     mockService.addResponse(resultOperation);
378 
379     String parent = "projects/project-5833/locations/location-5833";
380     ConnectionProfile connectionProfile = ConnectionProfile.newBuilder().build();
381     String connectionProfileId = "connectionProfileId597575526";
382 
383     ConnectionProfile actualResponse =
384         client.createConnectionProfileAsync(parent, connectionProfile, connectionProfileId).get();
385     Assert.assertEquals(expectedResponse, actualResponse);
386 
387     List<String> actualRequests = mockService.getRequestPaths();
388     Assert.assertEquals(1, actualRequests.size());
389 
390     String apiClientHeaderKey =
391         mockService
392             .getRequestHeaders()
393             .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
394             .iterator()
395             .next();
396     Assert.assertTrue(
397         GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
398             .matcher(apiClientHeaderKey)
399             .matches());
400   }
401 
402   @Test
createConnectionProfileExceptionTest2()403   public void createConnectionProfileExceptionTest2() throws Exception {
404     ApiException exception =
405         ApiExceptionFactory.createException(
406             new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
407     mockService.addException(exception);
408 
409     try {
410       String parent = "projects/project-5833/locations/location-5833";
411       ConnectionProfile connectionProfile = ConnectionProfile.newBuilder().build();
412       String connectionProfileId = "connectionProfileId597575526";
413       client.createConnectionProfileAsync(parent, connectionProfile, connectionProfileId).get();
414       Assert.fail("No exception raised");
415     } catch (ExecutionException e) {
416     }
417   }
418 
419   @Test
updateConnectionProfileTest()420   public void updateConnectionProfileTest() throws Exception {
421     ConnectionProfile expectedResponse =
422         ConnectionProfile.newBuilder()
423             .setName(
424                 ConnectionProfileName.of("[PROJECT]", "[LOCATION]", "[CONNECTION_PROFILE]")
425                     .toString())
426             .setCreateTime(Timestamp.newBuilder().build())
427             .setUpdateTime(Timestamp.newBuilder().build())
428             .putAllLabels(new HashMap<String, String>())
429             .setDisplayName("displayName1714148973")
430             .build();
431     Operation resultOperation =
432         Operation.newBuilder()
433             .setName("updateConnectionProfileTest")
434             .setDone(true)
435             .setResponse(Any.pack(expectedResponse))
436             .build();
437     mockService.addResponse(resultOperation);
438 
439     ConnectionProfile connectionProfile =
440         ConnectionProfile.newBuilder()
441             .setName(
442                 ConnectionProfileName.of("[PROJECT]", "[LOCATION]", "[CONNECTION_PROFILE]")
443                     .toString())
444             .setCreateTime(Timestamp.newBuilder().build())
445             .setUpdateTime(Timestamp.newBuilder().build())
446             .putAllLabels(new HashMap<String, String>())
447             .setDisplayName("displayName1714148973")
448             .build();
449     FieldMask updateMask = FieldMask.newBuilder().build();
450 
451     ConnectionProfile actualResponse =
452         client.updateConnectionProfileAsync(connectionProfile, updateMask).get();
453     Assert.assertEquals(expectedResponse, actualResponse);
454 
455     List<String> actualRequests = mockService.getRequestPaths();
456     Assert.assertEquals(1, actualRequests.size());
457 
458     String apiClientHeaderKey =
459         mockService
460             .getRequestHeaders()
461             .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
462             .iterator()
463             .next();
464     Assert.assertTrue(
465         GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
466             .matcher(apiClientHeaderKey)
467             .matches());
468   }
469 
470   @Test
updateConnectionProfileExceptionTest()471   public void updateConnectionProfileExceptionTest() throws Exception {
472     ApiException exception =
473         ApiExceptionFactory.createException(
474             new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
475     mockService.addException(exception);
476 
477     try {
478       ConnectionProfile connectionProfile =
479           ConnectionProfile.newBuilder()
480               .setName(
481                   ConnectionProfileName.of("[PROJECT]", "[LOCATION]", "[CONNECTION_PROFILE]")
482                       .toString())
483               .setCreateTime(Timestamp.newBuilder().build())
484               .setUpdateTime(Timestamp.newBuilder().build())
485               .putAllLabels(new HashMap<String, String>())
486               .setDisplayName("displayName1714148973")
487               .build();
488       FieldMask updateMask = FieldMask.newBuilder().build();
489       client.updateConnectionProfileAsync(connectionProfile, updateMask).get();
490       Assert.fail("No exception raised");
491     } catch (ExecutionException e) {
492     }
493   }
494 
495   @Test
deleteConnectionProfileTest()496   public void deleteConnectionProfileTest() throws Exception {
497     Empty expectedResponse = Empty.newBuilder().build();
498     Operation resultOperation =
499         Operation.newBuilder()
500             .setName("deleteConnectionProfileTest")
501             .setDone(true)
502             .setResponse(Any.pack(expectedResponse))
503             .build();
504     mockService.addResponse(resultOperation);
505 
506     ConnectionProfileName name =
507         ConnectionProfileName.of("[PROJECT]", "[LOCATION]", "[CONNECTION_PROFILE]");
508 
509     client.deleteConnectionProfileAsync(name).get();
510 
511     List<String> actualRequests = mockService.getRequestPaths();
512     Assert.assertEquals(1, actualRequests.size());
513 
514     String apiClientHeaderKey =
515         mockService
516             .getRequestHeaders()
517             .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
518             .iterator()
519             .next();
520     Assert.assertTrue(
521         GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
522             .matcher(apiClientHeaderKey)
523             .matches());
524   }
525 
526   @Test
deleteConnectionProfileExceptionTest()527   public void deleteConnectionProfileExceptionTest() throws Exception {
528     ApiException exception =
529         ApiExceptionFactory.createException(
530             new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
531     mockService.addException(exception);
532 
533     try {
534       ConnectionProfileName name =
535           ConnectionProfileName.of("[PROJECT]", "[LOCATION]", "[CONNECTION_PROFILE]");
536       client.deleteConnectionProfileAsync(name).get();
537       Assert.fail("No exception raised");
538     } catch (ExecutionException e) {
539     }
540   }
541 
542   @Test
deleteConnectionProfileTest2()543   public void deleteConnectionProfileTest2() throws Exception {
544     Empty expectedResponse = Empty.newBuilder().build();
545     Operation resultOperation =
546         Operation.newBuilder()
547             .setName("deleteConnectionProfileTest")
548             .setDone(true)
549             .setResponse(Any.pack(expectedResponse))
550             .build();
551     mockService.addResponse(resultOperation);
552 
553     String name =
554         "projects/project-9560/locations/location-9560/connectionProfiles/connectionProfile-9560";
555 
556     client.deleteConnectionProfileAsync(name).get();
557 
558     List<String> actualRequests = mockService.getRequestPaths();
559     Assert.assertEquals(1, actualRequests.size());
560 
561     String apiClientHeaderKey =
562         mockService
563             .getRequestHeaders()
564             .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
565             .iterator()
566             .next();
567     Assert.assertTrue(
568         GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
569             .matcher(apiClientHeaderKey)
570             .matches());
571   }
572 
573   @Test
deleteConnectionProfileExceptionTest2()574   public void deleteConnectionProfileExceptionTest2() throws Exception {
575     ApiException exception =
576         ApiExceptionFactory.createException(
577             new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
578     mockService.addException(exception);
579 
580     try {
581       String name =
582           "projects/project-9560/locations/location-9560/connectionProfiles/connectionProfile-9560";
583       client.deleteConnectionProfileAsync(name).get();
584       Assert.fail("No exception raised");
585     } catch (ExecutionException e) {
586     }
587   }
588 
589   @Test
discoverConnectionProfileTest()590   public void discoverConnectionProfileTest() throws Exception {
591     DiscoverConnectionProfileResponse expectedResponse =
592         DiscoverConnectionProfileResponse.newBuilder().build();
593     mockService.addResponse(expectedResponse);
594 
595     DiscoverConnectionProfileRequest request =
596         DiscoverConnectionProfileRequest.newBuilder()
597             .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString())
598             .build();
599 
600     DiscoverConnectionProfileResponse actualResponse = client.discoverConnectionProfile(request);
601     Assert.assertEquals(expectedResponse, actualResponse);
602 
603     List<String> actualRequests = mockService.getRequestPaths();
604     Assert.assertEquals(1, actualRequests.size());
605 
606     String apiClientHeaderKey =
607         mockService
608             .getRequestHeaders()
609             .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
610             .iterator()
611             .next();
612     Assert.assertTrue(
613         GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
614             .matcher(apiClientHeaderKey)
615             .matches());
616   }
617 
618   @Test
discoverConnectionProfileExceptionTest()619   public void discoverConnectionProfileExceptionTest() throws Exception {
620     ApiException exception =
621         ApiExceptionFactory.createException(
622             new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
623     mockService.addException(exception);
624 
625     try {
626       DiscoverConnectionProfileRequest request =
627           DiscoverConnectionProfileRequest.newBuilder()
628               .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString())
629               .build();
630       client.discoverConnectionProfile(request);
631       Assert.fail("No exception raised");
632     } catch (InvalidArgumentException e) {
633       // Expected exception.
634     }
635   }
636 
637   @Test
listStreamsTest()638   public void listStreamsTest() throws Exception {
639     Stream responsesElement = Stream.newBuilder().build();
640     ListStreamsResponse expectedResponse =
641         ListStreamsResponse.newBuilder()
642             .setNextPageToken("")
643             .addAllStreams(Arrays.asList(responsesElement))
644             .build();
645     mockService.addResponse(expectedResponse);
646 
647     LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
648 
649     ListStreamsPagedResponse pagedListResponse = client.listStreams(parent);
650 
651     List<Stream> resources = Lists.newArrayList(pagedListResponse.iterateAll());
652 
653     Assert.assertEquals(1, resources.size());
654     Assert.assertEquals(expectedResponse.getStreamsList().get(0), resources.get(0));
655 
656     List<String> actualRequests = mockService.getRequestPaths();
657     Assert.assertEquals(1, actualRequests.size());
658 
659     String apiClientHeaderKey =
660         mockService
661             .getRequestHeaders()
662             .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
663             .iterator()
664             .next();
665     Assert.assertTrue(
666         GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
667             .matcher(apiClientHeaderKey)
668             .matches());
669   }
670 
671   @Test
listStreamsExceptionTest()672   public void listStreamsExceptionTest() throws Exception {
673     ApiException exception =
674         ApiExceptionFactory.createException(
675             new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
676     mockService.addException(exception);
677 
678     try {
679       LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
680       client.listStreams(parent);
681       Assert.fail("No exception raised");
682     } catch (InvalidArgumentException e) {
683       // Expected exception.
684     }
685   }
686 
687   @Test
listStreamsTest2()688   public void listStreamsTest2() throws Exception {
689     Stream responsesElement = Stream.newBuilder().build();
690     ListStreamsResponse expectedResponse =
691         ListStreamsResponse.newBuilder()
692             .setNextPageToken("")
693             .addAllStreams(Arrays.asList(responsesElement))
694             .build();
695     mockService.addResponse(expectedResponse);
696 
697     String parent = "projects/project-5833/locations/location-5833";
698 
699     ListStreamsPagedResponse pagedListResponse = client.listStreams(parent);
700 
701     List<Stream> resources = Lists.newArrayList(pagedListResponse.iterateAll());
702 
703     Assert.assertEquals(1, resources.size());
704     Assert.assertEquals(expectedResponse.getStreamsList().get(0), resources.get(0));
705 
706     List<String> actualRequests = mockService.getRequestPaths();
707     Assert.assertEquals(1, actualRequests.size());
708 
709     String apiClientHeaderKey =
710         mockService
711             .getRequestHeaders()
712             .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
713             .iterator()
714             .next();
715     Assert.assertTrue(
716         GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
717             .matcher(apiClientHeaderKey)
718             .matches());
719   }
720 
721   @Test
listStreamsExceptionTest2()722   public void listStreamsExceptionTest2() throws Exception {
723     ApiException exception =
724         ApiExceptionFactory.createException(
725             new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
726     mockService.addException(exception);
727 
728     try {
729       String parent = "projects/project-5833/locations/location-5833";
730       client.listStreams(parent);
731       Assert.fail("No exception raised");
732     } catch (InvalidArgumentException e) {
733       // Expected exception.
734     }
735   }
736 
737   @Test
getStreamTest()738   public void getStreamTest() throws Exception {
739     Stream expectedResponse =
740         Stream.newBuilder()
741             .setName(StreamName.of("[PROJECT]", "[LOCATION]", "[STREAM]").toString())
742             .setCreateTime(Timestamp.newBuilder().build())
743             .setUpdateTime(Timestamp.newBuilder().build())
744             .putAllLabels(new HashMap<String, String>())
745             .setDisplayName("displayName1714148973")
746             .setSourceConfig(SourceConfig.newBuilder().build())
747             .setDestinationConfig(DestinationConfig.newBuilder().build())
748             .addAllErrors(new ArrayList<Error>())
749             .setCustomerManagedEncryptionKey("customerManagedEncryptionKey-709617797")
750             .build();
751     mockService.addResponse(expectedResponse);
752 
753     StreamName name = StreamName.of("[PROJECT]", "[LOCATION]", "[STREAM]");
754 
755     Stream actualResponse = client.getStream(name);
756     Assert.assertEquals(expectedResponse, actualResponse);
757 
758     List<String> actualRequests = mockService.getRequestPaths();
759     Assert.assertEquals(1, actualRequests.size());
760 
761     String apiClientHeaderKey =
762         mockService
763             .getRequestHeaders()
764             .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
765             .iterator()
766             .next();
767     Assert.assertTrue(
768         GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
769             .matcher(apiClientHeaderKey)
770             .matches());
771   }
772 
773   @Test
getStreamExceptionTest()774   public void getStreamExceptionTest() throws Exception {
775     ApiException exception =
776         ApiExceptionFactory.createException(
777             new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
778     mockService.addException(exception);
779 
780     try {
781       StreamName name = StreamName.of("[PROJECT]", "[LOCATION]", "[STREAM]");
782       client.getStream(name);
783       Assert.fail("No exception raised");
784     } catch (InvalidArgumentException e) {
785       // Expected exception.
786     }
787   }
788 
789   @Test
getStreamTest2()790   public void getStreamTest2() throws Exception {
791     Stream expectedResponse =
792         Stream.newBuilder()
793             .setName(StreamName.of("[PROJECT]", "[LOCATION]", "[STREAM]").toString())
794             .setCreateTime(Timestamp.newBuilder().build())
795             .setUpdateTime(Timestamp.newBuilder().build())
796             .putAllLabels(new HashMap<String, String>())
797             .setDisplayName("displayName1714148973")
798             .setSourceConfig(SourceConfig.newBuilder().build())
799             .setDestinationConfig(DestinationConfig.newBuilder().build())
800             .addAllErrors(new ArrayList<Error>())
801             .setCustomerManagedEncryptionKey("customerManagedEncryptionKey-709617797")
802             .build();
803     mockService.addResponse(expectedResponse);
804 
805     String name = "projects/project-3433/locations/location-3433/streams/stream-3433";
806 
807     Stream actualResponse = client.getStream(name);
808     Assert.assertEquals(expectedResponse, actualResponse);
809 
810     List<String> actualRequests = mockService.getRequestPaths();
811     Assert.assertEquals(1, actualRequests.size());
812 
813     String apiClientHeaderKey =
814         mockService
815             .getRequestHeaders()
816             .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
817             .iterator()
818             .next();
819     Assert.assertTrue(
820         GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
821             .matcher(apiClientHeaderKey)
822             .matches());
823   }
824 
825   @Test
getStreamExceptionTest2()826   public void getStreamExceptionTest2() throws Exception {
827     ApiException exception =
828         ApiExceptionFactory.createException(
829             new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
830     mockService.addException(exception);
831 
832     try {
833       String name = "projects/project-3433/locations/location-3433/streams/stream-3433";
834       client.getStream(name);
835       Assert.fail("No exception raised");
836     } catch (InvalidArgumentException e) {
837       // Expected exception.
838     }
839   }
840 
841   @Test
createStreamTest()842   public void createStreamTest() throws Exception {
843     Stream expectedResponse =
844         Stream.newBuilder()
845             .setName(StreamName.of("[PROJECT]", "[LOCATION]", "[STREAM]").toString())
846             .setCreateTime(Timestamp.newBuilder().build())
847             .setUpdateTime(Timestamp.newBuilder().build())
848             .putAllLabels(new HashMap<String, String>())
849             .setDisplayName("displayName1714148973")
850             .setSourceConfig(SourceConfig.newBuilder().build())
851             .setDestinationConfig(DestinationConfig.newBuilder().build())
852             .addAllErrors(new ArrayList<Error>())
853             .setCustomerManagedEncryptionKey("customerManagedEncryptionKey-709617797")
854             .build();
855     Operation resultOperation =
856         Operation.newBuilder()
857             .setName("createStreamTest")
858             .setDone(true)
859             .setResponse(Any.pack(expectedResponse))
860             .build();
861     mockService.addResponse(resultOperation);
862 
863     LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
864     Stream stream = Stream.newBuilder().build();
865     String streamId = "streamId1790933179";
866 
867     Stream actualResponse = client.createStreamAsync(parent, stream, streamId).get();
868     Assert.assertEquals(expectedResponse, actualResponse);
869 
870     List<String> actualRequests = mockService.getRequestPaths();
871     Assert.assertEquals(1, actualRequests.size());
872 
873     String apiClientHeaderKey =
874         mockService
875             .getRequestHeaders()
876             .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
877             .iterator()
878             .next();
879     Assert.assertTrue(
880         GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
881             .matcher(apiClientHeaderKey)
882             .matches());
883   }
884 
885   @Test
createStreamExceptionTest()886   public void createStreamExceptionTest() throws Exception {
887     ApiException exception =
888         ApiExceptionFactory.createException(
889             new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
890     mockService.addException(exception);
891 
892     try {
893       LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
894       Stream stream = Stream.newBuilder().build();
895       String streamId = "streamId1790933179";
896       client.createStreamAsync(parent, stream, streamId).get();
897       Assert.fail("No exception raised");
898     } catch (ExecutionException e) {
899     }
900   }
901 
902   @Test
createStreamTest2()903   public void createStreamTest2() throws Exception {
904     Stream expectedResponse =
905         Stream.newBuilder()
906             .setName(StreamName.of("[PROJECT]", "[LOCATION]", "[STREAM]").toString())
907             .setCreateTime(Timestamp.newBuilder().build())
908             .setUpdateTime(Timestamp.newBuilder().build())
909             .putAllLabels(new HashMap<String, String>())
910             .setDisplayName("displayName1714148973")
911             .setSourceConfig(SourceConfig.newBuilder().build())
912             .setDestinationConfig(DestinationConfig.newBuilder().build())
913             .addAllErrors(new ArrayList<Error>())
914             .setCustomerManagedEncryptionKey("customerManagedEncryptionKey-709617797")
915             .build();
916     Operation resultOperation =
917         Operation.newBuilder()
918             .setName("createStreamTest")
919             .setDone(true)
920             .setResponse(Any.pack(expectedResponse))
921             .build();
922     mockService.addResponse(resultOperation);
923 
924     String parent = "projects/project-5833/locations/location-5833";
925     Stream stream = Stream.newBuilder().build();
926     String streamId = "streamId1790933179";
927 
928     Stream actualResponse = client.createStreamAsync(parent, stream, streamId).get();
929     Assert.assertEquals(expectedResponse, actualResponse);
930 
931     List<String> actualRequests = mockService.getRequestPaths();
932     Assert.assertEquals(1, actualRequests.size());
933 
934     String apiClientHeaderKey =
935         mockService
936             .getRequestHeaders()
937             .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
938             .iterator()
939             .next();
940     Assert.assertTrue(
941         GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
942             .matcher(apiClientHeaderKey)
943             .matches());
944   }
945 
946   @Test
createStreamExceptionTest2()947   public void createStreamExceptionTest2() throws Exception {
948     ApiException exception =
949         ApiExceptionFactory.createException(
950             new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
951     mockService.addException(exception);
952 
953     try {
954       String parent = "projects/project-5833/locations/location-5833";
955       Stream stream = Stream.newBuilder().build();
956       String streamId = "streamId1790933179";
957       client.createStreamAsync(parent, stream, streamId).get();
958       Assert.fail("No exception raised");
959     } catch (ExecutionException e) {
960     }
961   }
962 
963   @Test
updateStreamTest()964   public void updateStreamTest() throws Exception {
965     Stream expectedResponse =
966         Stream.newBuilder()
967             .setName(StreamName.of("[PROJECT]", "[LOCATION]", "[STREAM]").toString())
968             .setCreateTime(Timestamp.newBuilder().build())
969             .setUpdateTime(Timestamp.newBuilder().build())
970             .putAllLabels(new HashMap<String, String>())
971             .setDisplayName("displayName1714148973")
972             .setSourceConfig(SourceConfig.newBuilder().build())
973             .setDestinationConfig(DestinationConfig.newBuilder().build())
974             .addAllErrors(new ArrayList<Error>())
975             .setCustomerManagedEncryptionKey("customerManagedEncryptionKey-709617797")
976             .build();
977     Operation resultOperation =
978         Operation.newBuilder()
979             .setName("updateStreamTest")
980             .setDone(true)
981             .setResponse(Any.pack(expectedResponse))
982             .build();
983     mockService.addResponse(resultOperation);
984 
985     Stream stream =
986         Stream.newBuilder()
987             .setName(StreamName.of("[PROJECT]", "[LOCATION]", "[STREAM]").toString())
988             .setCreateTime(Timestamp.newBuilder().build())
989             .setUpdateTime(Timestamp.newBuilder().build())
990             .putAllLabels(new HashMap<String, String>())
991             .setDisplayName("displayName1714148973")
992             .setSourceConfig(SourceConfig.newBuilder().build())
993             .setDestinationConfig(DestinationConfig.newBuilder().build())
994             .addAllErrors(new ArrayList<Error>())
995             .setCustomerManagedEncryptionKey("customerManagedEncryptionKey-709617797")
996             .build();
997     FieldMask updateMask = FieldMask.newBuilder().build();
998 
999     Stream actualResponse = client.updateStreamAsync(stream, updateMask).get();
1000     Assert.assertEquals(expectedResponse, actualResponse);
1001 
1002     List<String> actualRequests = mockService.getRequestPaths();
1003     Assert.assertEquals(1, actualRequests.size());
1004 
1005     String apiClientHeaderKey =
1006         mockService
1007             .getRequestHeaders()
1008             .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
1009             .iterator()
1010             .next();
1011     Assert.assertTrue(
1012         GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
1013             .matcher(apiClientHeaderKey)
1014             .matches());
1015   }
1016 
1017   @Test
updateStreamExceptionTest()1018   public void updateStreamExceptionTest() throws Exception {
1019     ApiException exception =
1020         ApiExceptionFactory.createException(
1021             new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
1022     mockService.addException(exception);
1023 
1024     try {
1025       Stream stream =
1026           Stream.newBuilder()
1027               .setName(StreamName.of("[PROJECT]", "[LOCATION]", "[STREAM]").toString())
1028               .setCreateTime(Timestamp.newBuilder().build())
1029               .setUpdateTime(Timestamp.newBuilder().build())
1030               .putAllLabels(new HashMap<String, String>())
1031               .setDisplayName("displayName1714148973")
1032               .setSourceConfig(SourceConfig.newBuilder().build())
1033               .setDestinationConfig(DestinationConfig.newBuilder().build())
1034               .addAllErrors(new ArrayList<Error>())
1035               .setCustomerManagedEncryptionKey("customerManagedEncryptionKey-709617797")
1036               .build();
1037       FieldMask updateMask = FieldMask.newBuilder().build();
1038       client.updateStreamAsync(stream, updateMask).get();
1039       Assert.fail("No exception raised");
1040     } catch (ExecutionException e) {
1041     }
1042   }
1043 
1044   @Test
deleteStreamTest()1045   public void deleteStreamTest() throws Exception {
1046     Empty expectedResponse = Empty.newBuilder().build();
1047     Operation resultOperation =
1048         Operation.newBuilder()
1049             .setName("deleteStreamTest")
1050             .setDone(true)
1051             .setResponse(Any.pack(expectedResponse))
1052             .build();
1053     mockService.addResponse(resultOperation);
1054 
1055     StreamName name = StreamName.of("[PROJECT]", "[LOCATION]", "[STREAM]");
1056 
1057     client.deleteStreamAsync(name).get();
1058 
1059     List<String> actualRequests = mockService.getRequestPaths();
1060     Assert.assertEquals(1, actualRequests.size());
1061 
1062     String apiClientHeaderKey =
1063         mockService
1064             .getRequestHeaders()
1065             .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
1066             .iterator()
1067             .next();
1068     Assert.assertTrue(
1069         GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
1070             .matcher(apiClientHeaderKey)
1071             .matches());
1072   }
1073 
1074   @Test
deleteStreamExceptionTest()1075   public void deleteStreamExceptionTest() throws Exception {
1076     ApiException exception =
1077         ApiExceptionFactory.createException(
1078             new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
1079     mockService.addException(exception);
1080 
1081     try {
1082       StreamName name = StreamName.of("[PROJECT]", "[LOCATION]", "[STREAM]");
1083       client.deleteStreamAsync(name).get();
1084       Assert.fail("No exception raised");
1085     } catch (ExecutionException e) {
1086     }
1087   }
1088 
1089   @Test
deleteStreamTest2()1090   public void deleteStreamTest2() throws Exception {
1091     Empty expectedResponse = Empty.newBuilder().build();
1092     Operation resultOperation =
1093         Operation.newBuilder()
1094             .setName("deleteStreamTest")
1095             .setDone(true)
1096             .setResponse(Any.pack(expectedResponse))
1097             .build();
1098     mockService.addResponse(resultOperation);
1099 
1100     String name = "projects/project-3433/locations/location-3433/streams/stream-3433";
1101 
1102     client.deleteStreamAsync(name).get();
1103 
1104     List<String> actualRequests = mockService.getRequestPaths();
1105     Assert.assertEquals(1, actualRequests.size());
1106 
1107     String apiClientHeaderKey =
1108         mockService
1109             .getRequestHeaders()
1110             .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
1111             .iterator()
1112             .next();
1113     Assert.assertTrue(
1114         GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
1115             .matcher(apiClientHeaderKey)
1116             .matches());
1117   }
1118 
1119   @Test
deleteStreamExceptionTest2()1120   public void deleteStreamExceptionTest2() throws Exception {
1121     ApiException exception =
1122         ApiExceptionFactory.createException(
1123             new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
1124     mockService.addException(exception);
1125 
1126     try {
1127       String name = "projects/project-3433/locations/location-3433/streams/stream-3433";
1128       client.deleteStreamAsync(name).get();
1129       Assert.fail("No exception raised");
1130     } catch (ExecutionException e) {
1131     }
1132   }
1133 
1134   @Test
getStreamObjectTest()1135   public void getStreamObjectTest() throws Exception {
1136     StreamObject expectedResponse =
1137         StreamObject.newBuilder()
1138             .setName(
1139                 StreamObjectName.of("[PROJECT]", "[LOCATION]", "[STREAM]", "[OBJECT]").toString())
1140             .setCreateTime(Timestamp.newBuilder().build())
1141             .setUpdateTime(Timestamp.newBuilder().build())
1142             .setDisplayName("displayName1714148973")
1143             .addAllErrors(new ArrayList<Error>())
1144             .setBackfillJob(BackfillJob.newBuilder().build())
1145             .setSourceObject(SourceObjectIdentifier.newBuilder().build())
1146             .build();
1147     mockService.addResponse(expectedResponse);
1148 
1149     StreamObjectName name = StreamObjectName.of("[PROJECT]", "[LOCATION]", "[STREAM]", "[OBJECT]");
1150 
1151     StreamObject actualResponse = client.getStreamObject(name);
1152     Assert.assertEquals(expectedResponse, actualResponse);
1153 
1154     List<String> actualRequests = mockService.getRequestPaths();
1155     Assert.assertEquals(1, actualRequests.size());
1156 
1157     String apiClientHeaderKey =
1158         mockService
1159             .getRequestHeaders()
1160             .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
1161             .iterator()
1162             .next();
1163     Assert.assertTrue(
1164         GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
1165             .matcher(apiClientHeaderKey)
1166             .matches());
1167   }
1168 
1169   @Test
getStreamObjectExceptionTest()1170   public void getStreamObjectExceptionTest() throws Exception {
1171     ApiException exception =
1172         ApiExceptionFactory.createException(
1173             new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
1174     mockService.addException(exception);
1175 
1176     try {
1177       StreamObjectName name =
1178           StreamObjectName.of("[PROJECT]", "[LOCATION]", "[STREAM]", "[OBJECT]");
1179       client.getStreamObject(name);
1180       Assert.fail("No exception raised");
1181     } catch (InvalidArgumentException e) {
1182       // Expected exception.
1183     }
1184   }
1185 
1186   @Test
getStreamObjectTest2()1187   public void getStreamObjectTest2() throws Exception {
1188     StreamObject expectedResponse =
1189         StreamObject.newBuilder()
1190             .setName(
1191                 StreamObjectName.of("[PROJECT]", "[LOCATION]", "[STREAM]", "[OBJECT]").toString())
1192             .setCreateTime(Timestamp.newBuilder().build())
1193             .setUpdateTime(Timestamp.newBuilder().build())
1194             .setDisplayName("displayName1714148973")
1195             .addAllErrors(new ArrayList<Error>())
1196             .setBackfillJob(BackfillJob.newBuilder().build())
1197             .setSourceObject(SourceObjectIdentifier.newBuilder().build())
1198             .build();
1199     mockService.addResponse(expectedResponse);
1200 
1201     String name =
1202         "projects/project-6471/locations/location-6471/streams/stream-6471/objects/object-6471";
1203 
1204     StreamObject actualResponse = client.getStreamObject(name);
1205     Assert.assertEquals(expectedResponse, actualResponse);
1206 
1207     List<String> actualRequests = mockService.getRequestPaths();
1208     Assert.assertEquals(1, actualRequests.size());
1209 
1210     String apiClientHeaderKey =
1211         mockService
1212             .getRequestHeaders()
1213             .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
1214             .iterator()
1215             .next();
1216     Assert.assertTrue(
1217         GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
1218             .matcher(apiClientHeaderKey)
1219             .matches());
1220   }
1221 
1222   @Test
getStreamObjectExceptionTest2()1223   public void getStreamObjectExceptionTest2() throws Exception {
1224     ApiException exception =
1225         ApiExceptionFactory.createException(
1226             new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
1227     mockService.addException(exception);
1228 
1229     try {
1230       String name =
1231           "projects/project-6471/locations/location-6471/streams/stream-6471/objects/object-6471";
1232       client.getStreamObject(name);
1233       Assert.fail("No exception raised");
1234     } catch (InvalidArgumentException e) {
1235       // Expected exception.
1236     }
1237   }
1238 
1239   @Test
lookupStreamObjectTest()1240   public void lookupStreamObjectTest() throws Exception {
1241     StreamObject expectedResponse =
1242         StreamObject.newBuilder()
1243             .setName(
1244                 StreamObjectName.of("[PROJECT]", "[LOCATION]", "[STREAM]", "[OBJECT]").toString())
1245             .setCreateTime(Timestamp.newBuilder().build())
1246             .setUpdateTime(Timestamp.newBuilder().build())
1247             .setDisplayName("displayName1714148973")
1248             .addAllErrors(new ArrayList<Error>())
1249             .setBackfillJob(BackfillJob.newBuilder().build())
1250             .setSourceObject(SourceObjectIdentifier.newBuilder().build())
1251             .build();
1252     mockService.addResponse(expectedResponse);
1253 
1254     LookupStreamObjectRequest request =
1255         LookupStreamObjectRequest.newBuilder()
1256             .setParent(StreamName.of("[PROJECT]", "[LOCATION]", "[STREAM]").toString())
1257             .setSourceObjectIdentifier(SourceObjectIdentifier.newBuilder().build())
1258             .build();
1259 
1260     StreamObject actualResponse = client.lookupStreamObject(request);
1261     Assert.assertEquals(expectedResponse, actualResponse);
1262 
1263     List<String> actualRequests = mockService.getRequestPaths();
1264     Assert.assertEquals(1, actualRequests.size());
1265 
1266     String apiClientHeaderKey =
1267         mockService
1268             .getRequestHeaders()
1269             .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
1270             .iterator()
1271             .next();
1272     Assert.assertTrue(
1273         GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
1274             .matcher(apiClientHeaderKey)
1275             .matches());
1276   }
1277 
1278   @Test
lookupStreamObjectExceptionTest()1279   public void lookupStreamObjectExceptionTest() throws Exception {
1280     ApiException exception =
1281         ApiExceptionFactory.createException(
1282             new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
1283     mockService.addException(exception);
1284 
1285     try {
1286       LookupStreamObjectRequest request =
1287           LookupStreamObjectRequest.newBuilder()
1288               .setParent(StreamName.of("[PROJECT]", "[LOCATION]", "[STREAM]").toString())
1289               .setSourceObjectIdentifier(SourceObjectIdentifier.newBuilder().build())
1290               .build();
1291       client.lookupStreamObject(request);
1292       Assert.fail("No exception raised");
1293     } catch (InvalidArgumentException e) {
1294       // Expected exception.
1295     }
1296   }
1297 
1298   @Test
listStreamObjectsTest()1299   public void listStreamObjectsTest() throws Exception {
1300     StreamObject responsesElement = StreamObject.newBuilder().build();
1301     ListStreamObjectsResponse expectedResponse =
1302         ListStreamObjectsResponse.newBuilder()
1303             .setNextPageToken("")
1304             .addAllStreamObjects(Arrays.asList(responsesElement))
1305             .build();
1306     mockService.addResponse(expectedResponse);
1307 
1308     StreamName parent = StreamName.of("[PROJECT]", "[LOCATION]", "[STREAM]");
1309 
1310     ListStreamObjectsPagedResponse pagedListResponse = client.listStreamObjects(parent);
1311 
1312     List<StreamObject> resources = Lists.newArrayList(pagedListResponse.iterateAll());
1313 
1314     Assert.assertEquals(1, resources.size());
1315     Assert.assertEquals(expectedResponse.getStreamObjectsList().get(0), resources.get(0));
1316 
1317     List<String> actualRequests = mockService.getRequestPaths();
1318     Assert.assertEquals(1, actualRequests.size());
1319 
1320     String apiClientHeaderKey =
1321         mockService
1322             .getRequestHeaders()
1323             .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
1324             .iterator()
1325             .next();
1326     Assert.assertTrue(
1327         GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
1328             .matcher(apiClientHeaderKey)
1329             .matches());
1330   }
1331 
1332   @Test
listStreamObjectsExceptionTest()1333   public void listStreamObjectsExceptionTest() throws Exception {
1334     ApiException exception =
1335         ApiExceptionFactory.createException(
1336             new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
1337     mockService.addException(exception);
1338 
1339     try {
1340       StreamName parent = StreamName.of("[PROJECT]", "[LOCATION]", "[STREAM]");
1341       client.listStreamObjects(parent);
1342       Assert.fail("No exception raised");
1343     } catch (InvalidArgumentException e) {
1344       // Expected exception.
1345     }
1346   }
1347 
1348   @Test
listStreamObjectsTest2()1349   public void listStreamObjectsTest2() throws Exception {
1350     StreamObject responsesElement = StreamObject.newBuilder().build();
1351     ListStreamObjectsResponse expectedResponse =
1352         ListStreamObjectsResponse.newBuilder()
1353             .setNextPageToken("")
1354             .addAllStreamObjects(Arrays.asList(responsesElement))
1355             .build();
1356     mockService.addResponse(expectedResponse);
1357 
1358     String parent = "projects/project-7224/locations/location-7224/streams/stream-7224";
1359 
1360     ListStreamObjectsPagedResponse pagedListResponse = client.listStreamObjects(parent);
1361 
1362     List<StreamObject> resources = Lists.newArrayList(pagedListResponse.iterateAll());
1363 
1364     Assert.assertEquals(1, resources.size());
1365     Assert.assertEquals(expectedResponse.getStreamObjectsList().get(0), resources.get(0));
1366 
1367     List<String> actualRequests = mockService.getRequestPaths();
1368     Assert.assertEquals(1, actualRequests.size());
1369 
1370     String apiClientHeaderKey =
1371         mockService
1372             .getRequestHeaders()
1373             .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
1374             .iterator()
1375             .next();
1376     Assert.assertTrue(
1377         GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
1378             .matcher(apiClientHeaderKey)
1379             .matches());
1380   }
1381 
1382   @Test
listStreamObjectsExceptionTest2()1383   public void listStreamObjectsExceptionTest2() throws Exception {
1384     ApiException exception =
1385         ApiExceptionFactory.createException(
1386             new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
1387     mockService.addException(exception);
1388 
1389     try {
1390       String parent = "projects/project-7224/locations/location-7224/streams/stream-7224";
1391       client.listStreamObjects(parent);
1392       Assert.fail("No exception raised");
1393     } catch (InvalidArgumentException e) {
1394       // Expected exception.
1395     }
1396   }
1397 
1398   @Test
startBackfillJobTest()1399   public void startBackfillJobTest() throws Exception {
1400     StartBackfillJobResponse expectedResponse =
1401         StartBackfillJobResponse.newBuilder().setObject(StreamObject.newBuilder().build()).build();
1402     mockService.addResponse(expectedResponse);
1403 
1404     StreamObjectName object =
1405         StreamObjectName.of("[PROJECT]", "[LOCATION]", "[STREAM]", "[OBJECT]");
1406 
1407     StartBackfillJobResponse actualResponse = client.startBackfillJob(object);
1408     Assert.assertEquals(expectedResponse, actualResponse);
1409 
1410     List<String> actualRequests = mockService.getRequestPaths();
1411     Assert.assertEquals(1, actualRequests.size());
1412 
1413     String apiClientHeaderKey =
1414         mockService
1415             .getRequestHeaders()
1416             .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
1417             .iterator()
1418             .next();
1419     Assert.assertTrue(
1420         GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
1421             .matcher(apiClientHeaderKey)
1422             .matches());
1423   }
1424 
1425   @Test
startBackfillJobExceptionTest()1426   public void startBackfillJobExceptionTest() throws Exception {
1427     ApiException exception =
1428         ApiExceptionFactory.createException(
1429             new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
1430     mockService.addException(exception);
1431 
1432     try {
1433       StreamObjectName object =
1434           StreamObjectName.of("[PROJECT]", "[LOCATION]", "[STREAM]", "[OBJECT]");
1435       client.startBackfillJob(object);
1436       Assert.fail("No exception raised");
1437     } catch (InvalidArgumentException e) {
1438       // Expected exception.
1439     }
1440   }
1441 
1442   @Test
startBackfillJobTest2()1443   public void startBackfillJobTest2() throws Exception {
1444     StartBackfillJobResponse expectedResponse =
1445         StartBackfillJobResponse.newBuilder().setObject(StreamObject.newBuilder().build()).build();
1446     mockService.addResponse(expectedResponse);
1447 
1448     String object = "projects/project-45/locations/location-45/streams/stream-45/objects/object-45";
1449 
1450     StartBackfillJobResponse actualResponse = client.startBackfillJob(object);
1451     Assert.assertEquals(expectedResponse, actualResponse);
1452 
1453     List<String> actualRequests = mockService.getRequestPaths();
1454     Assert.assertEquals(1, actualRequests.size());
1455 
1456     String apiClientHeaderKey =
1457         mockService
1458             .getRequestHeaders()
1459             .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
1460             .iterator()
1461             .next();
1462     Assert.assertTrue(
1463         GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
1464             .matcher(apiClientHeaderKey)
1465             .matches());
1466   }
1467 
1468   @Test
startBackfillJobExceptionTest2()1469   public void startBackfillJobExceptionTest2() throws Exception {
1470     ApiException exception =
1471         ApiExceptionFactory.createException(
1472             new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
1473     mockService.addException(exception);
1474 
1475     try {
1476       String object =
1477           "projects/project-45/locations/location-45/streams/stream-45/objects/object-45";
1478       client.startBackfillJob(object);
1479       Assert.fail("No exception raised");
1480     } catch (InvalidArgumentException e) {
1481       // Expected exception.
1482     }
1483   }
1484 
1485   @Test
stopBackfillJobTest()1486   public void stopBackfillJobTest() throws Exception {
1487     StopBackfillJobResponse expectedResponse =
1488         StopBackfillJobResponse.newBuilder().setObject(StreamObject.newBuilder().build()).build();
1489     mockService.addResponse(expectedResponse);
1490 
1491     StreamObjectName object =
1492         StreamObjectName.of("[PROJECT]", "[LOCATION]", "[STREAM]", "[OBJECT]");
1493 
1494     StopBackfillJobResponse actualResponse = client.stopBackfillJob(object);
1495     Assert.assertEquals(expectedResponse, actualResponse);
1496 
1497     List<String> actualRequests = mockService.getRequestPaths();
1498     Assert.assertEquals(1, actualRequests.size());
1499 
1500     String apiClientHeaderKey =
1501         mockService
1502             .getRequestHeaders()
1503             .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
1504             .iterator()
1505             .next();
1506     Assert.assertTrue(
1507         GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
1508             .matcher(apiClientHeaderKey)
1509             .matches());
1510   }
1511 
1512   @Test
stopBackfillJobExceptionTest()1513   public void stopBackfillJobExceptionTest() throws Exception {
1514     ApiException exception =
1515         ApiExceptionFactory.createException(
1516             new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
1517     mockService.addException(exception);
1518 
1519     try {
1520       StreamObjectName object =
1521           StreamObjectName.of("[PROJECT]", "[LOCATION]", "[STREAM]", "[OBJECT]");
1522       client.stopBackfillJob(object);
1523       Assert.fail("No exception raised");
1524     } catch (InvalidArgumentException e) {
1525       // Expected exception.
1526     }
1527   }
1528 
1529   @Test
stopBackfillJobTest2()1530   public void stopBackfillJobTest2() throws Exception {
1531     StopBackfillJobResponse expectedResponse =
1532         StopBackfillJobResponse.newBuilder().setObject(StreamObject.newBuilder().build()).build();
1533     mockService.addResponse(expectedResponse);
1534 
1535     String object = "projects/project-45/locations/location-45/streams/stream-45/objects/object-45";
1536 
1537     StopBackfillJobResponse actualResponse = client.stopBackfillJob(object);
1538     Assert.assertEquals(expectedResponse, actualResponse);
1539 
1540     List<String> actualRequests = mockService.getRequestPaths();
1541     Assert.assertEquals(1, actualRequests.size());
1542 
1543     String apiClientHeaderKey =
1544         mockService
1545             .getRequestHeaders()
1546             .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
1547             .iterator()
1548             .next();
1549     Assert.assertTrue(
1550         GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
1551             .matcher(apiClientHeaderKey)
1552             .matches());
1553   }
1554 
1555   @Test
stopBackfillJobExceptionTest2()1556   public void stopBackfillJobExceptionTest2() throws Exception {
1557     ApiException exception =
1558         ApiExceptionFactory.createException(
1559             new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
1560     mockService.addException(exception);
1561 
1562     try {
1563       String object =
1564           "projects/project-45/locations/location-45/streams/stream-45/objects/object-45";
1565       client.stopBackfillJob(object);
1566       Assert.fail("No exception raised");
1567     } catch (InvalidArgumentException e) {
1568       // Expected exception.
1569     }
1570   }
1571 
1572   @Test
fetchStaticIpsTest()1573   public void fetchStaticIpsTest() throws Exception {
1574     String responsesElement = "responsesElement-318365110";
1575     FetchStaticIpsResponse expectedResponse =
1576         FetchStaticIpsResponse.newBuilder()
1577             .setNextPageToken("")
1578             .addAllStaticIps(Arrays.asList(responsesElement))
1579             .build();
1580     mockService.addResponse(expectedResponse);
1581 
1582     LocationName name = LocationName.of("[PROJECT]", "[LOCATION]");
1583 
1584     FetchStaticIpsPagedResponse pagedListResponse = client.fetchStaticIps(name);
1585 
1586     List<String> resources = Lists.newArrayList(pagedListResponse.iterateAll());
1587 
1588     Assert.assertEquals(1, resources.size());
1589     Assert.assertEquals(expectedResponse.getStaticIpsList().get(0), resources.get(0));
1590 
1591     List<String> actualRequests = mockService.getRequestPaths();
1592     Assert.assertEquals(1, actualRequests.size());
1593 
1594     String apiClientHeaderKey =
1595         mockService
1596             .getRequestHeaders()
1597             .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
1598             .iterator()
1599             .next();
1600     Assert.assertTrue(
1601         GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
1602             .matcher(apiClientHeaderKey)
1603             .matches());
1604   }
1605 
1606   @Test
fetchStaticIpsExceptionTest()1607   public void fetchStaticIpsExceptionTest() throws Exception {
1608     ApiException exception =
1609         ApiExceptionFactory.createException(
1610             new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
1611     mockService.addException(exception);
1612 
1613     try {
1614       LocationName name = LocationName.of("[PROJECT]", "[LOCATION]");
1615       client.fetchStaticIps(name);
1616       Assert.fail("No exception raised");
1617     } catch (InvalidArgumentException e) {
1618       // Expected exception.
1619     }
1620   }
1621 
1622   @Test
fetchStaticIpsTest2()1623   public void fetchStaticIpsTest2() throws Exception {
1624     String responsesElement = "responsesElement-318365110";
1625     FetchStaticIpsResponse expectedResponse =
1626         FetchStaticIpsResponse.newBuilder()
1627             .setNextPageToken("")
1628             .addAllStaticIps(Arrays.asList(responsesElement))
1629             .build();
1630     mockService.addResponse(expectedResponse);
1631 
1632     String name = "projects/project-9062/locations/location-9062";
1633 
1634     FetchStaticIpsPagedResponse pagedListResponse = client.fetchStaticIps(name);
1635 
1636     List<String> resources = Lists.newArrayList(pagedListResponse.iterateAll());
1637 
1638     Assert.assertEquals(1, resources.size());
1639     Assert.assertEquals(expectedResponse.getStaticIpsList().get(0), resources.get(0));
1640 
1641     List<String> actualRequests = mockService.getRequestPaths();
1642     Assert.assertEquals(1, actualRequests.size());
1643 
1644     String apiClientHeaderKey =
1645         mockService
1646             .getRequestHeaders()
1647             .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
1648             .iterator()
1649             .next();
1650     Assert.assertTrue(
1651         GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
1652             .matcher(apiClientHeaderKey)
1653             .matches());
1654   }
1655 
1656   @Test
fetchStaticIpsExceptionTest2()1657   public void fetchStaticIpsExceptionTest2() throws Exception {
1658     ApiException exception =
1659         ApiExceptionFactory.createException(
1660             new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
1661     mockService.addException(exception);
1662 
1663     try {
1664       String name = "projects/project-9062/locations/location-9062";
1665       client.fetchStaticIps(name);
1666       Assert.fail("No exception raised");
1667     } catch (InvalidArgumentException e) {
1668       // Expected exception.
1669     }
1670   }
1671 
1672   @Test
createPrivateConnectionTest()1673   public void createPrivateConnectionTest() throws Exception {
1674     PrivateConnection expectedResponse =
1675         PrivateConnection.newBuilder()
1676             .setName(
1677                 PrivateConnectionName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_CONNECTION]")
1678                     .toString())
1679             .setCreateTime(Timestamp.newBuilder().build())
1680             .setUpdateTime(Timestamp.newBuilder().build())
1681             .putAllLabels(new HashMap<String, String>())
1682             .setDisplayName("displayName1714148973")
1683             .setError(Error.newBuilder().build())
1684             .setVpcPeeringConfig(VpcPeeringConfig.newBuilder().build())
1685             .build();
1686     Operation resultOperation =
1687         Operation.newBuilder()
1688             .setName("createPrivateConnectionTest")
1689             .setDone(true)
1690             .setResponse(Any.pack(expectedResponse))
1691             .build();
1692     mockService.addResponse(resultOperation);
1693 
1694     LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
1695     PrivateConnection privateConnection = PrivateConnection.newBuilder().build();
1696     String privateConnectionId = "privateConnectionId-1926654532";
1697 
1698     PrivateConnection actualResponse =
1699         client.createPrivateConnectionAsync(parent, privateConnection, privateConnectionId).get();
1700     Assert.assertEquals(expectedResponse, actualResponse);
1701 
1702     List<String> actualRequests = mockService.getRequestPaths();
1703     Assert.assertEquals(1, actualRequests.size());
1704 
1705     String apiClientHeaderKey =
1706         mockService
1707             .getRequestHeaders()
1708             .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
1709             .iterator()
1710             .next();
1711     Assert.assertTrue(
1712         GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
1713             .matcher(apiClientHeaderKey)
1714             .matches());
1715   }
1716 
1717   @Test
createPrivateConnectionExceptionTest()1718   public void createPrivateConnectionExceptionTest() throws Exception {
1719     ApiException exception =
1720         ApiExceptionFactory.createException(
1721             new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
1722     mockService.addException(exception);
1723 
1724     try {
1725       LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
1726       PrivateConnection privateConnection = PrivateConnection.newBuilder().build();
1727       String privateConnectionId = "privateConnectionId-1926654532";
1728       client.createPrivateConnectionAsync(parent, privateConnection, privateConnectionId).get();
1729       Assert.fail("No exception raised");
1730     } catch (ExecutionException e) {
1731     }
1732   }
1733 
1734   @Test
createPrivateConnectionTest2()1735   public void createPrivateConnectionTest2() throws Exception {
1736     PrivateConnection expectedResponse =
1737         PrivateConnection.newBuilder()
1738             .setName(
1739                 PrivateConnectionName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_CONNECTION]")
1740                     .toString())
1741             .setCreateTime(Timestamp.newBuilder().build())
1742             .setUpdateTime(Timestamp.newBuilder().build())
1743             .putAllLabels(new HashMap<String, String>())
1744             .setDisplayName("displayName1714148973")
1745             .setError(Error.newBuilder().build())
1746             .setVpcPeeringConfig(VpcPeeringConfig.newBuilder().build())
1747             .build();
1748     Operation resultOperation =
1749         Operation.newBuilder()
1750             .setName("createPrivateConnectionTest")
1751             .setDone(true)
1752             .setResponse(Any.pack(expectedResponse))
1753             .build();
1754     mockService.addResponse(resultOperation);
1755 
1756     String parent = "projects/project-5833/locations/location-5833";
1757     PrivateConnection privateConnection = PrivateConnection.newBuilder().build();
1758     String privateConnectionId = "privateConnectionId-1926654532";
1759 
1760     PrivateConnection actualResponse =
1761         client.createPrivateConnectionAsync(parent, privateConnection, privateConnectionId).get();
1762     Assert.assertEquals(expectedResponse, actualResponse);
1763 
1764     List<String> actualRequests = mockService.getRequestPaths();
1765     Assert.assertEquals(1, actualRequests.size());
1766 
1767     String apiClientHeaderKey =
1768         mockService
1769             .getRequestHeaders()
1770             .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
1771             .iterator()
1772             .next();
1773     Assert.assertTrue(
1774         GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
1775             .matcher(apiClientHeaderKey)
1776             .matches());
1777   }
1778 
1779   @Test
createPrivateConnectionExceptionTest2()1780   public void createPrivateConnectionExceptionTest2() throws Exception {
1781     ApiException exception =
1782         ApiExceptionFactory.createException(
1783             new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
1784     mockService.addException(exception);
1785 
1786     try {
1787       String parent = "projects/project-5833/locations/location-5833";
1788       PrivateConnection privateConnection = PrivateConnection.newBuilder().build();
1789       String privateConnectionId = "privateConnectionId-1926654532";
1790       client.createPrivateConnectionAsync(parent, privateConnection, privateConnectionId).get();
1791       Assert.fail("No exception raised");
1792     } catch (ExecutionException e) {
1793     }
1794   }
1795 
1796   @Test
getPrivateConnectionTest()1797   public void getPrivateConnectionTest() throws Exception {
1798     PrivateConnection expectedResponse =
1799         PrivateConnection.newBuilder()
1800             .setName(
1801                 PrivateConnectionName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_CONNECTION]")
1802                     .toString())
1803             .setCreateTime(Timestamp.newBuilder().build())
1804             .setUpdateTime(Timestamp.newBuilder().build())
1805             .putAllLabels(new HashMap<String, String>())
1806             .setDisplayName("displayName1714148973")
1807             .setError(Error.newBuilder().build())
1808             .setVpcPeeringConfig(VpcPeeringConfig.newBuilder().build())
1809             .build();
1810     mockService.addResponse(expectedResponse);
1811 
1812     PrivateConnectionName name =
1813         PrivateConnectionName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_CONNECTION]");
1814 
1815     PrivateConnection actualResponse = client.getPrivateConnection(name);
1816     Assert.assertEquals(expectedResponse, actualResponse);
1817 
1818     List<String> actualRequests = mockService.getRequestPaths();
1819     Assert.assertEquals(1, actualRequests.size());
1820 
1821     String apiClientHeaderKey =
1822         mockService
1823             .getRequestHeaders()
1824             .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
1825             .iterator()
1826             .next();
1827     Assert.assertTrue(
1828         GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
1829             .matcher(apiClientHeaderKey)
1830             .matches());
1831   }
1832 
1833   @Test
getPrivateConnectionExceptionTest()1834   public void getPrivateConnectionExceptionTest() throws Exception {
1835     ApiException exception =
1836         ApiExceptionFactory.createException(
1837             new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
1838     mockService.addException(exception);
1839 
1840     try {
1841       PrivateConnectionName name =
1842           PrivateConnectionName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_CONNECTION]");
1843       client.getPrivateConnection(name);
1844       Assert.fail("No exception raised");
1845     } catch (InvalidArgumentException e) {
1846       // Expected exception.
1847     }
1848   }
1849 
1850   @Test
getPrivateConnectionTest2()1851   public void getPrivateConnectionTest2() throws Exception {
1852     PrivateConnection expectedResponse =
1853         PrivateConnection.newBuilder()
1854             .setName(
1855                 PrivateConnectionName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_CONNECTION]")
1856                     .toString())
1857             .setCreateTime(Timestamp.newBuilder().build())
1858             .setUpdateTime(Timestamp.newBuilder().build())
1859             .putAllLabels(new HashMap<String, String>())
1860             .setDisplayName("displayName1714148973")
1861             .setError(Error.newBuilder().build())
1862             .setVpcPeeringConfig(VpcPeeringConfig.newBuilder().build())
1863             .build();
1864     mockService.addResponse(expectedResponse);
1865 
1866     String name =
1867         "projects/project-9090/locations/location-9090/privateConnections/privateConnection-9090";
1868 
1869     PrivateConnection actualResponse = client.getPrivateConnection(name);
1870     Assert.assertEquals(expectedResponse, actualResponse);
1871 
1872     List<String> actualRequests = mockService.getRequestPaths();
1873     Assert.assertEquals(1, actualRequests.size());
1874 
1875     String apiClientHeaderKey =
1876         mockService
1877             .getRequestHeaders()
1878             .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
1879             .iterator()
1880             .next();
1881     Assert.assertTrue(
1882         GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
1883             .matcher(apiClientHeaderKey)
1884             .matches());
1885   }
1886 
1887   @Test
getPrivateConnectionExceptionTest2()1888   public void getPrivateConnectionExceptionTest2() throws Exception {
1889     ApiException exception =
1890         ApiExceptionFactory.createException(
1891             new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
1892     mockService.addException(exception);
1893 
1894     try {
1895       String name =
1896           "projects/project-9090/locations/location-9090/privateConnections/privateConnection-9090";
1897       client.getPrivateConnection(name);
1898       Assert.fail("No exception raised");
1899     } catch (InvalidArgumentException e) {
1900       // Expected exception.
1901     }
1902   }
1903 
1904   @Test
listPrivateConnectionsTest()1905   public void listPrivateConnectionsTest() throws Exception {
1906     PrivateConnection responsesElement = PrivateConnection.newBuilder().build();
1907     ListPrivateConnectionsResponse expectedResponse =
1908         ListPrivateConnectionsResponse.newBuilder()
1909             .setNextPageToken("")
1910             .addAllPrivateConnections(Arrays.asList(responsesElement))
1911             .build();
1912     mockService.addResponse(expectedResponse);
1913 
1914     LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
1915 
1916     ListPrivateConnectionsPagedResponse pagedListResponse = client.listPrivateConnections(parent);
1917 
1918     List<PrivateConnection> resources = Lists.newArrayList(pagedListResponse.iterateAll());
1919 
1920     Assert.assertEquals(1, resources.size());
1921     Assert.assertEquals(expectedResponse.getPrivateConnectionsList().get(0), resources.get(0));
1922 
1923     List<String> actualRequests = mockService.getRequestPaths();
1924     Assert.assertEquals(1, actualRequests.size());
1925 
1926     String apiClientHeaderKey =
1927         mockService
1928             .getRequestHeaders()
1929             .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
1930             .iterator()
1931             .next();
1932     Assert.assertTrue(
1933         GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
1934             .matcher(apiClientHeaderKey)
1935             .matches());
1936   }
1937 
1938   @Test
listPrivateConnectionsExceptionTest()1939   public void listPrivateConnectionsExceptionTest() throws Exception {
1940     ApiException exception =
1941         ApiExceptionFactory.createException(
1942             new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
1943     mockService.addException(exception);
1944 
1945     try {
1946       LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
1947       client.listPrivateConnections(parent);
1948       Assert.fail("No exception raised");
1949     } catch (InvalidArgumentException e) {
1950       // Expected exception.
1951     }
1952   }
1953 
1954   @Test
listPrivateConnectionsTest2()1955   public void listPrivateConnectionsTest2() throws Exception {
1956     PrivateConnection responsesElement = PrivateConnection.newBuilder().build();
1957     ListPrivateConnectionsResponse expectedResponse =
1958         ListPrivateConnectionsResponse.newBuilder()
1959             .setNextPageToken("")
1960             .addAllPrivateConnections(Arrays.asList(responsesElement))
1961             .build();
1962     mockService.addResponse(expectedResponse);
1963 
1964     String parent = "projects/project-5833/locations/location-5833";
1965 
1966     ListPrivateConnectionsPagedResponse pagedListResponse = client.listPrivateConnections(parent);
1967 
1968     List<PrivateConnection> resources = Lists.newArrayList(pagedListResponse.iterateAll());
1969 
1970     Assert.assertEquals(1, resources.size());
1971     Assert.assertEquals(expectedResponse.getPrivateConnectionsList().get(0), resources.get(0));
1972 
1973     List<String> actualRequests = mockService.getRequestPaths();
1974     Assert.assertEquals(1, actualRequests.size());
1975 
1976     String apiClientHeaderKey =
1977         mockService
1978             .getRequestHeaders()
1979             .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
1980             .iterator()
1981             .next();
1982     Assert.assertTrue(
1983         GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
1984             .matcher(apiClientHeaderKey)
1985             .matches());
1986   }
1987 
1988   @Test
listPrivateConnectionsExceptionTest2()1989   public void listPrivateConnectionsExceptionTest2() throws Exception {
1990     ApiException exception =
1991         ApiExceptionFactory.createException(
1992             new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
1993     mockService.addException(exception);
1994 
1995     try {
1996       String parent = "projects/project-5833/locations/location-5833";
1997       client.listPrivateConnections(parent);
1998       Assert.fail("No exception raised");
1999     } catch (InvalidArgumentException e) {
2000       // Expected exception.
2001     }
2002   }
2003 
2004   @Test
deletePrivateConnectionTest()2005   public void deletePrivateConnectionTest() throws Exception {
2006     Empty expectedResponse = Empty.newBuilder().build();
2007     Operation resultOperation =
2008         Operation.newBuilder()
2009             .setName("deletePrivateConnectionTest")
2010             .setDone(true)
2011             .setResponse(Any.pack(expectedResponse))
2012             .build();
2013     mockService.addResponse(resultOperation);
2014 
2015     PrivateConnectionName name =
2016         PrivateConnectionName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_CONNECTION]");
2017 
2018     client.deletePrivateConnectionAsync(name).get();
2019 
2020     List<String> actualRequests = mockService.getRequestPaths();
2021     Assert.assertEquals(1, actualRequests.size());
2022 
2023     String apiClientHeaderKey =
2024         mockService
2025             .getRequestHeaders()
2026             .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
2027             .iterator()
2028             .next();
2029     Assert.assertTrue(
2030         GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
2031             .matcher(apiClientHeaderKey)
2032             .matches());
2033   }
2034 
2035   @Test
deletePrivateConnectionExceptionTest()2036   public void deletePrivateConnectionExceptionTest() throws Exception {
2037     ApiException exception =
2038         ApiExceptionFactory.createException(
2039             new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
2040     mockService.addException(exception);
2041 
2042     try {
2043       PrivateConnectionName name =
2044           PrivateConnectionName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_CONNECTION]");
2045       client.deletePrivateConnectionAsync(name).get();
2046       Assert.fail("No exception raised");
2047     } catch (ExecutionException e) {
2048     }
2049   }
2050 
2051   @Test
deletePrivateConnectionTest2()2052   public void deletePrivateConnectionTest2() throws Exception {
2053     Empty expectedResponse = Empty.newBuilder().build();
2054     Operation resultOperation =
2055         Operation.newBuilder()
2056             .setName("deletePrivateConnectionTest")
2057             .setDone(true)
2058             .setResponse(Any.pack(expectedResponse))
2059             .build();
2060     mockService.addResponse(resultOperation);
2061 
2062     String name =
2063         "projects/project-9090/locations/location-9090/privateConnections/privateConnection-9090";
2064 
2065     client.deletePrivateConnectionAsync(name).get();
2066 
2067     List<String> actualRequests = mockService.getRequestPaths();
2068     Assert.assertEquals(1, actualRequests.size());
2069 
2070     String apiClientHeaderKey =
2071         mockService
2072             .getRequestHeaders()
2073             .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
2074             .iterator()
2075             .next();
2076     Assert.assertTrue(
2077         GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
2078             .matcher(apiClientHeaderKey)
2079             .matches());
2080   }
2081 
2082   @Test
deletePrivateConnectionExceptionTest2()2083   public void deletePrivateConnectionExceptionTest2() throws Exception {
2084     ApiException exception =
2085         ApiExceptionFactory.createException(
2086             new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
2087     mockService.addException(exception);
2088 
2089     try {
2090       String name =
2091           "projects/project-9090/locations/location-9090/privateConnections/privateConnection-9090";
2092       client.deletePrivateConnectionAsync(name).get();
2093       Assert.fail("No exception raised");
2094     } catch (ExecutionException e) {
2095     }
2096   }
2097 
2098   @Test
createRouteTest()2099   public void createRouteTest() throws Exception {
2100     Route expectedResponse =
2101         Route.newBuilder()
2102             .setName(
2103                 RouteName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_CONNECTION]", "[ROUTE]")
2104                     .toString())
2105             .setCreateTime(Timestamp.newBuilder().build())
2106             .setUpdateTime(Timestamp.newBuilder().build())
2107             .putAllLabels(new HashMap<String, String>())
2108             .setDisplayName("displayName1714148973")
2109             .setDestinationAddress("destinationAddress1736827910")
2110             .setDestinationPort(1205298706)
2111             .build();
2112     Operation resultOperation =
2113         Operation.newBuilder()
2114             .setName("createRouteTest")
2115             .setDone(true)
2116             .setResponse(Any.pack(expectedResponse))
2117             .build();
2118     mockService.addResponse(resultOperation);
2119 
2120     PrivateConnectionName parent =
2121         PrivateConnectionName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_CONNECTION]");
2122     Route route = Route.newBuilder().build();
2123     String routeId = "routeId1385647428";
2124 
2125     Route actualResponse = client.createRouteAsync(parent, route, routeId).get();
2126     Assert.assertEquals(expectedResponse, actualResponse);
2127 
2128     List<String> actualRequests = mockService.getRequestPaths();
2129     Assert.assertEquals(1, actualRequests.size());
2130 
2131     String apiClientHeaderKey =
2132         mockService
2133             .getRequestHeaders()
2134             .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
2135             .iterator()
2136             .next();
2137     Assert.assertTrue(
2138         GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
2139             .matcher(apiClientHeaderKey)
2140             .matches());
2141   }
2142 
2143   @Test
createRouteExceptionTest()2144   public void createRouteExceptionTest() throws Exception {
2145     ApiException exception =
2146         ApiExceptionFactory.createException(
2147             new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
2148     mockService.addException(exception);
2149 
2150     try {
2151       PrivateConnectionName parent =
2152           PrivateConnectionName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_CONNECTION]");
2153       Route route = Route.newBuilder().build();
2154       String routeId = "routeId1385647428";
2155       client.createRouteAsync(parent, route, routeId).get();
2156       Assert.fail("No exception raised");
2157     } catch (ExecutionException e) {
2158     }
2159   }
2160 
2161   @Test
createRouteTest2()2162   public void createRouteTest2() throws Exception {
2163     Route expectedResponse =
2164         Route.newBuilder()
2165             .setName(
2166                 RouteName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_CONNECTION]", "[ROUTE]")
2167                     .toString())
2168             .setCreateTime(Timestamp.newBuilder().build())
2169             .setUpdateTime(Timestamp.newBuilder().build())
2170             .putAllLabels(new HashMap<String, String>())
2171             .setDisplayName("displayName1714148973")
2172             .setDestinationAddress("destinationAddress1736827910")
2173             .setDestinationPort(1205298706)
2174             .build();
2175     Operation resultOperation =
2176         Operation.newBuilder()
2177             .setName("createRouteTest")
2178             .setDone(true)
2179             .setResponse(Any.pack(expectedResponse))
2180             .build();
2181     mockService.addResponse(resultOperation);
2182 
2183     String parent =
2184         "projects/project-9165/locations/location-9165/privateConnections/privateConnection-9165";
2185     Route route = Route.newBuilder().build();
2186     String routeId = "routeId1385647428";
2187 
2188     Route actualResponse = client.createRouteAsync(parent, route, routeId).get();
2189     Assert.assertEquals(expectedResponse, actualResponse);
2190 
2191     List<String> actualRequests = mockService.getRequestPaths();
2192     Assert.assertEquals(1, actualRequests.size());
2193 
2194     String apiClientHeaderKey =
2195         mockService
2196             .getRequestHeaders()
2197             .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
2198             .iterator()
2199             .next();
2200     Assert.assertTrue(
2201         GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
2202             .matcher(apiClientHeaderKey)
2203             .matches());
2204   }
2205 
2206   @Test
createRouteExceptionTest2()2207   public void createRouteExceptionTest2() throws Exception {
2208     ApiException exception =
2209         ApiExceptionFactory.createException(
2210             new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
2211     mockService.addException(exception);
2212 
2213     try {
2214       String parent =
2215           "projects/project-9165/locations/location-9165/privateConnections/privateConnection-9165";
2216       Route route = Route.newBuilder().build();
2217       String routeId = "routeId1385647428";
2218       client.createRouteAsync(parent, route, routeId).get();
2219       Assert.fail("No exception raised");
2220     } catch (ExecutionException e) {
2221     }
2222   }
2223 
2224   @Test
getRouteTest()2225   public void getRouteTest() throws Exception {
2226     Route expectedResponse =
2227         Route.newBuilder()
2228             .setName(
2229                 RouteName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_CONNECTION]", "[ROUTE]")
2230                     .toString())
2231             .setCreateTime(Timestamp.newBuilder().build())
2232             .setUpdateTime(Timestamp.newBuilder().build())
2233             .putAllLabels(new HashMap<String, String>())
2234             .setDisplayName("displayName1714148973")
2235             .setDestinationAddress("destinationAddress1736827910")
2236             .setDestinationPort(1205298706)
2237             .build();
2238     mockService.addResponse(expectedResponse);
2239 
2240     RouteName name = RouteName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_CONNECTION]", "[ROUTE]");
2241 
2242     Route actualResponse = client.getRoute(name);
2243     Assert.assertEquals(expectedResponse, actualResponse);
2244 
2245     List<String> actualRequests = mockService.getRequestPaths();
2246     Assert.assertEquals(1, actualRequests.size());
2247 
2248     String apiClientHeaderKey =
2249         mockService
2250             .getRequestHeaders()
2251             .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
2252             .iterator()
2253             .next();
2254     Assert.assertTrue(
2255         GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
2256             .matcher(apiClientHeaderKey)
2257             .matches());
2258   }
2259 
2260   @Test
getRouteExceptionTest()2261   public void getRouteExceptionTest() throws Exception {
2262     ApiException exception =
2263         ApiExceptionFactory.createException(
2264             new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
2265     mockService.addException(exception);
2266 
2267     try {
2268       RouteName name = RouteName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_CONNECTION]", "[ROUTE]");
2269       client.getRoute(name);
2270       Assert.fail("No exception raised");
2271     } catch (InvalidArgumentException e) {
2272       // Expected exception.
2273     }
2274   }
2275 
2276   @Test
getRouteTest2()2277   public void getRouteTest2() throws Exception {
2278     Route expectedResponse =
2279         Route.newBuilder()
2280             .setName(
2281                 RouteName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_CONNECTION]", "[ROUTE]")
2282                     .toString())
2283             .setCreateTime(Timestamp.newBuilder().build())
2284             .setUpdateTime(Timestamp.newBuilder().build())
2285             .putAllLabels(new HashMap<String, String>())
2286             .setDisplayName("displayName1714148973")
2287             .setDestinationAddress("destinationAddress1736827910")
2288             .setDestinationPort(1205298706)
2289             .build();
2290     mockService.addResponse(expectedResponse);
2291 
2292     String name =
2293         "projects/project-9342/locations/location-9342/privateConnections/privateConnection-9342/routes/route-9342";
2294 
2295     Route actualResponse = client.getRoute(name);
2296     Assert.assertEquals(expectedResponse, actualResponse);
2297 
2298     List<String> actualRequests = mockService.getRequestPaths();
2299     Assert.assertEquals(1, actualRequests.size());
2300 
2301     String apiClientHeaderKey =
2302         mockService
2303             .getRequestHeaders()
2304             .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
2305             .iterator()
2306             .next();
2307     Assert.assertTrue(
2308         GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
2309             .matcher(apiClientHeaderKey)
2310             .matches());
2311   }
2312 
2313   @Test
getRouteExceptionTest2()2314   public void getRouteExceptionTest2() throws Exception {
2315     ApiException exception =
2316         ApiExceptionFactory.createException(
2317             new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
2318     mockService.addException(exception);
2319 
2320     try {
2321       String name =
2322           "projects/project-9342/locations/location-9342/privateConnections/privateConnection-9342/routes/route-9342";
2323       client.getRoute(name);
2324       Assert.fail("No exception raised");
2325     } catch (InvalidArgumentException e) {
2326       // Expected exception.
2327     }
2328   }
2329 
2330   @Test
listRoutesTest()2331   public void listRoutesTest() throws Exception {
2332     Route responsesElement = Route.newBuilder().build();
2333     ListRoutesResponse expectedResponse =
2334         ListRoutesResponse.newBuilder()
2335             .setNextPageToken("")
2336             .addAllRoutes(Arrays.asList(responsesElement))
2337             .build();
2338     mockService.addResponse(expectedResponse);
2339 
2340     PrivateConnectionName parent =
2341         PrivateConnectionName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_CONNECTION]");
2342 
2343     ListRoutesPagedResponse pagedListResponse = client.listRoutes(parent);
2344 
2345     List<Route> resources = Lists.newArrayList(pagedListResponse.iterateAll());
2346 
2347     Assert.assertEquals(1, resources.size());
2348     Assert.assertEquals(expectedResponse.getRoutesList().get(0), resources.get(0));
2349 
2350     List<String> actualRequests = mockService.getRequestPaths();
2351     Assert.assertEquals(1, actualRequests.size());
2352 
2353     String apiClientHeaderKey =
2354         mockService
2355             .getRequestHeaders()
2356             .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
2357             .iterator()
2358             .next();
2359     Assert.assertTrue(
2360         GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
2361             .matcher(apiClientHeaderKey)
2362             .matches());
2363   }
2364 
2365   @Test
listRoutesExceptionTest()2366   public void listRoutesExceptionTest() throws Exception {
2367     ApiException exception =
2368         ApiExceptionFactory.createException(
2369             new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
2370     mockService.addException(exception);
2371 
2372     try {
2373       PrivateConnectionName parent =
2374           PrivateConnectionName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_CONNECTION]");
2375       client.listRoutes(parent);
2376       Assert.fail("No exception raised");
2377     } catch (InvalidArgumentException e) {
2378       // Expected exception.
2379     }
2380   }
2381 
2382   @Test
listRoutesTest2()2383   public void listRoutesTest2() throws Exception {
2384     Route responsesElement = Route.newBuilder().build();
2385     ListRoutesResponse expectedResponse =
2386         ListRoutesResponse.newBuilder()
2387             .setNextPageToken("")
2388             .addAllRoutes(Arrays.asList(responsesElement))
2389             .build();
2390     mockService.addResponse(expectedResponse);
2391 
2392     String parent =
2393         "projects/project-9165/locations/location-9165/privateConnections/privateConnection-9165";
2394 
2395     ListRoutesPagedResponse pagedListResponse = client.listRoutes(parent);
2396 
2397     List<Route> resources = Lists.newArrayList(pagedListResponse.iterateAll());
2398 
2399     Assert.assertEquals(1, resources.size());
2400     Assert.assertEquals(expectedResponse.getRoutesList().get(0), resources.get(0));
2401 
2402     List<String> actualRequests = mockService.getRequestPaths();
2403     Assert.assertEquals(1, actualRequests.size());
2404 
2405     String apiClientHeaderKey =
2406         mockService
2407             .getRequestHeaders()
2408             .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
2409             .iterator()
2410             .next();
2411     Assert.assertTrue(
2412         GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
2413             .matcher(apiClientHeaderKey)
2414             .matches());
2415   }
2416 
2417   @Test
listRoutesExceptionTest2()2418   public void listRoutesExceptionTest2() throws Exception {
2419     ApiException exception =
2420         ApiExceptionFactory.createException(
2421             new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
2422     mockService.addException(exception);
2423 
2424     try {
2425       String parent =
2426           "projects/project-9165/locations/location-9165/privateConnections/privateConnection-9165";
2427       client.listRoutes(parent);
2428       Assert.fail("No exception raised");
2429     } catch (InvalidArgumentException e) {
2430       // Expected exception.
2431     }
2432   }
2433 
2434   @Test
deleteRouteTest()2435   public void deleteRouteTest() throws Exception {
2436     Empty expectedResponse = Empty.newBuilder().build();
2437     Operation resultOperation =
2438         Operation.newBuilder()
2439             .setName("deleteRouteTest")
2440             .setDone(true)
2441             .setResponse(Any.pack(expectedResponse))
2442             .build();
2443     mockService.addResponse(resultOperation);
2444 
2445     RouteName name = RouteName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_CONNECTION]", "[ROUTE]");
2446 
2447     client.deleteRouteAsync(name).get();
2448 
2449     List<String> actualRequests = mockService.getRequestPaths();
2450     Assert.assertEquals(1, actualRequests.size());
2451 
2452     String apiClientHeaderKey =
2453         mockService
2454             .getRequestHeaders()
2455             .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
2456             .iterator()
2457             .next();
2458     Assert.assertTrue(
2459         GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
2460             .matcher(apiClientHeaderKey)
2461             .matches());
2462   }
2463 
2464   @Test
deleteRouteExceptionTest()2465   public void deleteRouteExceptionTest() throws Exception {
2466     ApiException exception =
2467         ApiExceptionFactory.createException(
2468             new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
2469     mockService.addException(exception);
2470 
2471     try {
2472       RouteName name = RouteName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_CONNECTION]", "[ROUTE]");
2473       client.deleteRouteAsync(name).get();
2474       Assert.fail("No exception raised");
2475     } catch (ExecutionException e) {
2476     }
2477   }
2478 
2479   @Test
deleteRouteTest2()2480   public void deleteRouteTest2() throws Exception {
2481     Empty expectedResponse = Empty.newBuilder().build();
2482     Operation resultOperation =
2483         Operation.newBuilder()
2484             .setName("deleteRouteTest")
2485             .setDone(true)
2486             .setResponse(Any.pack(expectedResponse))
2487             .build();
2488     mockService.addResponse(resultOperation);
2489 
2490     String name =
2491         "projects/project-9342/locations/location-9342/privateConnections/privateConnection-9342/routes/route-9342";
2492 
2493     client.deleteRouteAsync(name).get();
2494 
2495     List<String> actualRequests = mockService.getRequestPaths();
2496     Assert.assertEquals(1, actualRequests.size());
2497 
2498     String apiClientHeaderKey =
2499         mockService
2500             .getRequestHeaders()
2501             .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
2502             .iterator()
2503             .next();
2504     Assert.assertTrue(
2505         GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
2506             .matcher(apiClientHeaderKey)
2507             .matches());
2508   }
2509 
2510   @Test
deleteRouteExceptionTest2()2511   public void deleteRouteExceptionTest2() throws Exception {
2512     ApiException exception =
2513         ApiExceptionFactory.createException(
2514             new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
2515     mockService.addException(exception);
2516 
2517     try {
2518       String name =
2519           "projects/project-9342/locations/location-9342/privateConnections/privateConnection-9342/routes/route-9342";
2520       client.deleteRouteAsync(name).get();
2521       Assert.fail("No exception raised");
2522     } catch (ExecutionException e) {
2523     }
2524   }
2525 
2526   @Test
listLocationsTest()2527   public void listLocationsTest() throws Exception {
2528     Location responsesElement = Location.newBuilder().build();
2529     ListLocationsResponse expectedResponse =
2530         ListLocationsResponse.newBuilder()
2531             .setNextPageToken("")
2532             .addAllLocations(Arrays.asList(responsesElement))
2533             .build();
2534     mockService.addResponse(expectedResponse);
2535 
2536     ListLocationsRequest request =
2537         ListLocationsRequest.newBuilder()
2538             .setName("projects/project-3664")
2539             .setFilter("filter-1274492040")
2540             .setPageSize(883849137)
2541             .setPageToken("pageToken873572522")
2542             .build();
2543 
2544     ListLocationsPagedResponse pagedListResponse = client.listLocations(request);
2545 
2546     List<Location> resources = Lists.newArrayList(pagedListResponse.iterateAll());
2547 
2548     Assert.assertEquals(1, resources.size());
2549     Assert.assertEquals(expectedResponse.getLocationsList().get(0), resources.get(0));
2550 
2551     List<String> actualRequests = mockService.getRequestPaths();
2552     Assert.assertEquals(1, actualRequests.size());
2553 
2554     String apiClientHeaderKey =
2555         mockService
2556             .getRequestHeaders()
2557             .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
2558             .iterator()
2559             .next();
2560     Assert.assertTrue(
2561         GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
2562             .matcher(apiClientHeaderKey)
2563             .matches());
2564   }
2565 
2566   @Test
listLocationsExceptionTest()2567   public void listLocationsExceptionTest() throws Exception {
2568     ApiException exception =
2569         ApiExceptionFactory.createException(
2570             new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
2571     mockService.addException(exception);
2572 
2573     try {
2574       ListLocationsRequest request =
2575           ListLocationsRequest.newBuilder()
2576               .setName("projects/project-3664")
2577               .setFilter("filter-1274492040")
2578               .setPageSize(883849137)
2579               .setPageToken("pageToken873572522")
2580               .build();
2581       client.listLocations(request);
2582       Assert.fail("No exception raised");
2583     } catch (InvalidArgumentException e) {
2584       // Expected exception.
2585     }
2586   }
2587 
2588   @Test
getLocationTest()2589   public void getLocationTest() throws Exception {
2590     Location expectedResponse =
2591         Location.newBuilder()
2592             .setName("name3373707")
2593             .setLocationId("locationId1541836720")
2594             .setDisplayName("displayName1714148973")
2595             .putAllLabels(new HashMap<String, String>())
2596             .setMetadata(Any.newBuilder().build())
2597             .build();
2598     mockService.addResponse(expectedResponse);
2599 
2600     GetLocationRequest request =
2601         GetLocationRequest.newBuilder()
2602             .setName("projects/project-9062/locations/location-9062")
2603             .build();
2604 
2605     Location actualResponse = client.getLocation(request);
2606     Assert.assertEquals(expectedResponse, actualResponse);
2607 
2608     List<String> actualRequests = mockService.getRequestPaths();
2609     Assert.assertEquals(1, actualRequests.size());
2610 
2611     String apiClientHeaderKey =
2612         mockService
2613             .getRequestHeaders()
2614             .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
2615             .iterator()
2616             .next();
2617     Assert.assertTrue(
2618         GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
2619             .matcher(apiClientHeaderKey)
2620             .matches());
2621   }
2622 
2623   @Test
getLocationExceptionTest()2624   public void getLocationExceptionTest() throws Exception {
2625     ApiException exception =
2626         ApiExceptionFactory.createException(
2627             new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
2628     mockService.addException(exception);
2629 
2630     try {
2631       GetLocationRequest request =
2632           GetLocationRequest.newBuilder()
2633               .setName("projects/project-9062/locations/location-9062")
2634               .build();
2635       client.getLocation(request);
2636       Assert.fail("No exception raised");
2637     } catch (InvalidArgumentException e) {
2638       // Expected exception.
2639     }
2640   }
2641 }
2642