• 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.v1alpha1;
18 
19 import static com.google.cloud.datastream.v1alpha1.DatastreamClient.FetchStaticIpsPagedResponse;
20 import static com.google.cloud.datastream.v1alpha1.DatastreamClient.ListConnectionProfilesPagedResponse;
21 import static com.google.cloud.datastream.v1alpha1.DatastreamClient.ListPrivateConnectionsPagedResponse;
22 import static com.google.cloud.datastream.v1alpha1.DatastreamClient.ListRoutesPagedResponse;
23 import static com.google.cloud.datastream.v1alpha1.DatastreamClient.ListStreamsPagedResponse;
24 
25 import com.google.api.gax.core.NoCredentialsProvider;
26 import com.google.api.gax.grpc.GaxGrpcProperties;
27 import com.google.api.gax.grpc.testing.LocalChannelProvider;
28 import com.google.api.gax.grpc.testing.MockGrpcService;
29 import com.google.api.gax.grpc.testing.MockServiceHelper;
30 import com.google.api.gax.rpc.ApiClientHeaderProvider;
31 import com.google.api.gax.rpc.InvalidArgumentException;
32 import com.google.api.gax.rpc.StatusCode;
33 import com.google.common.collect.Lists;
34 import com.google.longrunning.Operation;
35 import com.google.protobuf.AbstractMessage;
36 import com.google.protobuf.Any;
37 import com.google.protobuf.Empty;
38 import com.google.protobuf.FieldMask;
39 import com.google.protobuf.Timestamp;
40 import io.grpc.StatusRuntimeException;
41 import java.io.IOException;
42 import java.util.ArrayList;
43 import java.util.Arrays;
44 import java.util.HashMap;
45 import java.util.List;
46 import java.util.UUID;
47 import java.util.concurrent.ExecutionException;
48 import javax.annotation.Generated;
49 import org.junit.After;
50 import org.junit.AfterClass;
51 import org.junit.Assert;
52 import org.junit.Before;
53 import org.junit.BeforeClass;
54 import org.junit.Test;
55 
56 @Generated("by gapic-generator-java")
57 public class DatastreamClientTest {
58   private static MockDatastream mockDatastream;
59   private static MockServiceHelper mockServiceHelper;
60   private LocalChannelProvider channelProvider;
61   private DatastreamClient client;
62 
63   @BeforeClass
startStaticServer()64   public static void startStaticServer() {
65     mockDatastream = new MockDatastream();
66     mockServiceHelper =
67         new MockServiceHelper(
68             UUID.randomUUID().toString(), Arrays.<MockGrpcService>asList(mockDatastream));
69     mockServiceHelper.start();
70   }
71 
72   @AfterClass
stopServer()73   public static void stopServer() {
74     mockServiceHelper.stop();
75   }
76 
77   @Before
setUp()78   public void setUp() throws IOException {
79     mockServiceHelper.reset();
80     channelProvider = mockServiceHelper.createChannelProvider();
81     DatastreamSettings settings =
82         DatastreamSettings.newBuilder()
83             .setTransportChannelProvider(channelProvider)
84             .setCredentialsProvider(NoCredentialsProvider.create())
85             .build();
86     client = DatastreamClient.create(settings);
87   }
88 
89   @After
tearDown()90   public void tearDown() throws Exception {
91     client.close();
92   }
93 
94   @Test
listConnectionProfilesTest()95   public void listConnectionProfilesTest() throws Exception {
96     ConnectionProfile responsesElement = ConnectionProfile.newBuilder().build();
97     ListConnectionProfilesResponse expectedResponse =
98         ListConnectionProfilesResponse.newBuilder()
99             .setNextPageToken("")
100             .addAllConnectionProfiles(Arrays.asList(responsesElement))
101             .build();
102     mockDatastream.addResponse(expectedResponse);
103 
104     LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
105 
106     ListConnectionProfilesPagedResponse pagedListResponse = client.listConnectionProfiles(parent);
107 
108     List<ConnectionProfile> resources = Lists.newArrayList(pagedListResponse.iterateAll());
109 
110     Assert.assertEquals(1, resources.size());
111     Assert.assertEquals(expectedResponse.getConnectionProfilesList().get(0), resources.get(0));
112 
113     List<AbstractMessage> actualRequests = mockDatastream.getRequests();
114     Assert.assertEquals(1, actualRequests.size());
115     ListConnectionProfilesRequest actualRequest =
116         ((ListConnectionProfilesRequest) actualRequests.get(0));
117 
118     Assert.assertEquals(parent.toString(), actualRequest.getParent());
119     Assert.assertTrue(
120         channelProvider.isHeaderSent(
121             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
122             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
123   }
124 
125   @Test
listConnectionProfilesExceptionTest()126   public void listConnectionProfilesExceptionTest() throws Exception {
127     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
128     mockDatastream.addException(exception);
129 
130     try {
131       LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
132       client.listConnectionProfiles(parent);
133       Assert.fail("No exception raised");
134     } catch (InvalidArgumentException e) {
135       // Expected exception.
136     }
137   }
138 
139   @Test
listConnectionProfilesTest2()140   public void listConnectionProfilesTest2() throws Exception {
141     ConnectionProfile responsesElement = ConnectionProfile.newBuilder().build();
142     ListConnectionProfilesResponse expectedResponse =
143         ListConnectionProfilesResponse.newBuilder()
144             .setNextPageToken("")
145             .addAllConnectionProfiles(Arrays.asList(responsesElement))
146             .build();
147     mockDatastream.addResponse(expectedResponse);
148 
149     String parent = "parent-995424086";
150 
151     ListConnectionProfilesPagedResponse pagedListResponse = client.listConnectionProfiles(parent);
152 
153     List<ConnectionProfile> resources = Lists.newArrayList(pagedListResponse.iterateAll());
154 
155     Assert.assertEquals(1, resources.size());
156     Assert.assertEquals(expectedResponse.getConnectionProfilesList().get(0), resources.get(0));
157 
158     List<AbstractMessage> actualRequests = mockDatastream.getRequests();
159     Assert.assertEquals(1, actualRequests.size());
160     ListConnectionProfilesRequest actualRequest =
161         ((ListConnectionProfilesRequest) actualRequests.get(0));
162 
163     Assert.assertEquals(parent, actualRequest.getParent());
164     Assert.assertTrue(
165         channelProvider.isHeaderSent(
166             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
167             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
168   }
169 
170   @Test
listConnectionProfilesExceptionTest2()171   public void listConnectionProfilesExceptionTest2() throws Exception {
172     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
173     mockDatastream.addException(exception);
174 
175     try {
176       String parent = "parent-995424086";
177       client.listConnectionProfiles(parent);
178       Assert.fail("No exception raised");
179     } catch (InvalidArgumentException e) {
180       // Expected exception.
181     }
182   }
183 
184   @Test
getConnectionProfileTest()185   public void getConnectionProfileTest() throws Exception {
186     ConnectionProfile expectedResponse =
187         ConnectionProfile.newBuilder()
188             .setName(
189                 ConnectionProfileName.of("[PROJECT]", "[LOCATION]", "[CONNECTION_PROFILE]")
190                     .toString())
191             .setCreateTime(Timestamp.newBuilder().build())
192             .setUpdateTime(Timestamp.newBuilder().build())
193             .putAllLabels(new HashMap<String, String>())
194             .setDisplayName("displayName1714148973")
195             .build();
196     mockDatastream.addResponse(expectedResponse);
197 
198     ConnectionProfileName name =
199         ConnectionProfileName.of("[PROJECT]", "[LOCATION]", "[CONNECTION_PROFILE]");
200 
201     ConnectionProfile actualResponse = client.getConnectionProfile(name);
202     Assert.assertEquals(expectedResponse, actualResponse);
203 
204     List<AbstractMessage> actualRequests = mockDatastream.getRequests();
205     Assert.assertEquals(1, actualRequests.size());
206     GetConnectionProfileRequest actualRequest =
207         ((GetConnectionProfileRequest) actualRequests.get(0));
208 
209     Assert.assertEquals(name.toString(), actualRequest.getName());
210     Assert.assertTrue(
211         channelProvider.isHeaderSent(
212             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
213             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
214   }
215 
216   @Test
getConnectionProfileExceptionTest()217   public void getConnectionProfileExceptionTest() throws Exception {
218     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
219     mockDatastream.addException(exception);
220 
221     try {
222       ConnectionProfileName name =
223           ConnectionProfileName.of("[PROJECT]", "[LOCATION]", "[CONNECTION_PROFILE]");
224       client.getConnectionProfile(name);
225       Assert.fail("No exception raised");
226     } catch (InvalidArgumentException e) {
227       // Expected exception.
228     }
229   }
230 
231   @Test
getConnectionProfileTest2()232   public void getConnectionProfileTest2() throws Exception {
233     ConnectionProfile expectedResponse =
234         ConnectionProfile.newBuilder()
235             .setName(
236                 ConnectionProfileName.of("[PROJECT]", "[LOCATION]", "[CONNECTION_PROFILE]")
237                     .toString())
238             .setCreateTime(Timestamp.newBuilder().build())
239             .setUpdateTime(Timestamp.newBuilder().build())
240             .putAllLabels(new HashMap<String, String>())
241             .setDisplayName("displayName1714148973")
242             .build();
243     mockDatastream.addResponse(expectedResponse);
244 
245     String name = "name3373707";
246 
247     ConnectionProfile actualResponse = client.getConnectionProfile(name);
248     Assert.assertEquals(expectedResponse, actualResponse);
249 
250     List<AbstractMessage> actualRequests = mockDatastream.getRequests();
251     Assert.assertEquals(1, actualRequests.size());
252     GetConnectionProfileRequest actualRequest =
253         ((GetConnectionProfileRequest) actualRequests.get(0));
254 
255     Assert.assertEquals(name, actualRequest.getName());
256     Assert.assertTrue(
257         channelProvider.isHeaderSent(
258             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
259             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
260   }
261 
262   @Test
getConnectionProfileExceptionTest2()263   public void getConnectionProfileExceptionTest2() throws Exception {
264     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
265     mockDatastream.addException(exception);
266 
267     try {
268       String name = "name3373707";
269       client.getConnectionProfile(name);
270       Assert.fail("No exception raised");
271     } catch (InvalidArgumentException e) {
272       // Expected exception.
273     }
274   }
275 
276   @Test
createConnectionProfileTest()277   public void createConnectionProfileTest() throws Exception {
278     ConnectionProfile expectedResponse =
279         ConnectionProfile.newBuilder()
280             .setName(
281                 ConnectionProfileName.of("[PROJECT]", "[LOCATION]", "[CONNECTION_PROFILE]")
282                     .toString())
283             .setCreateTime(Timestamp.newBuilder().build())
284             .setUpdateTime(Timestamp.newBuilder().build())
285             .putAllLabels(new HashMap<String, String>())
286             .setDisplayName("displayName1714148973")
287             .build();
288     Operation resultOperation =
289         Operation.newBuilder()
290             .setName("createConnectionProfileTest")
291             .setDone(true)
292             .setResponse(Any.pack(expectedResponse))
293             .build();
294     mockDatastream.addResponse(resultOperation);
295 
296     LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
297     ConnectionProfile connectionProfile = ConnectionProfile.newBuilder().build();
298     String connectionProfileId = "connectionProfileId597575526";
299 
300     ConnectionProfile actualResponse =
301         client.createConnectionProfileAsync(parent, connectionProfile, connectionProfileId).get();
302     Assert.assertEquals(expectedResponse, actualResponse);
303 
304     List<AbstractMessage> actualRequests = mockDatastream.getRequests();
305     Assert.assertEquals(1, actualRequests.size());
306     CreateConnectionProfileRequest actualRequest =
307         ((CreateConnectionProfileRequest) actualRequests.get(0));
308 
309     Assert.assertEquals(parent.toString(), actualRequest.getParent());
310     Assert.assertEquals(connectionProfile, actualRequest.getConnectionProfile());
311     Assert.assertEquals(connectionProfileId, actualRequest.getConnectionProfileId());
312     Assert.assertTrue(
313         channelProvider.isHeaderSent(
314             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
315             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
316   }
317 
318   @Test
createConnectionProfileExceptionTest()319   public void createConnectionProfileExceptionTest() throws Exception {
320     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
321     mockDatastream.addException(exception);
322 
323     try {
324       LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
325       ConnectionProfile connectionProfile = ConnectionProfile.newBuilder().build();
326       String connectionProfileId = "connectionProfileId597575526";
327       client.createConnectionProfileAsync(parent, connectionProfile, connectionProfileId).get();
328       Assert.fail("No exception raised");
329     } catch (ExecutionException e) {
330       Assert.assertEquals(InvalidArgumentException.class, e.getCause().getClass());
331       InvalidArgumentException apiException = ((InvalidArgumentException) e.getCause());
332       Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode());
333     }
334   }
335 
336   @Test
createConnectionProfileTest2()337   public void createConnectionProfileTest2() throws Exception {
338     ConnectionProfile expectedResponse =
339         ConnectionProfile.newBuilder()
340             .setName(
341                 ConnectionProfileName.of("[PROJECT]", "[LOCATION]", "[CONNECTION_PROFILE]")
342                     .toString())
343             .setCreateTime(Timestamp.newBuilder().build())
344             .setUpdateTime(Timestamp.newBuilder().build())
345             .putAllLabels(new HashMap<String, String>())
346             .setDisplayName("displayName1714148973")
347             .build();
348     Operation resultOperation =
349         Operation.newBuilder()
350             .setName("createConnectionProfileTest")
351             .setDone(true)
352             .setResponse(Any.pack(expectedResponse))
353             .build();
354     mockDatastream.addResponse(resultOperation);
355 
356     String parent = "parent-995424086";
357     ConnectionProfile connectionProfile = ConnectionProfile.newBuilder().build();
358     String connectionProfileId = "connectionProfileId597575526";
359 
360     ConnectionProfile actualResponse =
361         client.createConnectionProfileAsync(parent, connectionProfile, connectionProfileId).get();
362     Assert.assertEquals(expectedResponse, actualResponse);
363 
364     List<AbstractMessage> actualRequests = mockDatastream.getRequests();
365     Assert.assertEquals(1, actualRequests.size());
366     CreateConnectionProfileRequest actualRequest =
367         ((CreateConnectionProfileRequest) actualRequests.get(0));
368 
369     Assert.assertEquals(parent, actualRequest.getParent());
370     Assert.assertEquals(connectionProfile, actualRequest.getConnectionProfile());
371     Assert.assertEquals(connectionProfileId, actualRequest.getConnectionProfileId());
372     Assert.assertTrue(
373         channelProvider.isHeaderSent(
374             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
375             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
376   }
377 
378   @Test
createConnectionProfileExceptionTest2()379   public void createConnectionProfileExceptionTest2() throws Exception {
380     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
381     mockDatastream.addException(exception);
382 
383     try {
384       String parent = "parent-995424086";
385       ConnectionProfile connectionProfile = ConnectionProfile.newBuilder().build();
386       String connectionProfileId = "connectionProfileId597575526";
387       client.createConnectionProfileAsync(parent, connectionProfile, connectionProfileId).get();
388       Assert.fail("No exception raised");
389     } catch (ExecutionException e) {
390       Assert.assertEquals(InvalidArgumentException.class, e.getCause().getClass());
391       InvalidArgumentException apiException = ((InvalidArgumentException) e.getCause());
392       Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode());
393     }
394   }
395 
396   @Test
updateConnectionProfileTest()397   public void updateConnectionProfileTest() throws Exception {
398     ConnectionProfile expectedResponse =
399         ConnectionProfile.newBuilder()
400             .setName(
401                 ConnectionProfileName.of("[PROJECT]", "[LOCATION]", "[CONNECTION_PROFILE]")
402                     .toString())
403             .setCreateTime(Timestamp.newBuilder().build())
404             .setUpdateTime(Timestamp.newBuilder().build())
405             .putAllLabels(new HashMap<String, String>())
406             .setDisplayName("displayName1714148973")
407             .build();
408     Operation resultOperation =
409         Operation.newBuilder()
410             .setName("updateConnectionProfileTest")
411             .setDone(true)
412             .setResponse(Any.pack(expectedResponse))
413             .build();
414     mockDatastream.addResponse(resultOperation);
415 
416     ConnectionProfile connectionProfile = ConnectionProfile.newBuilder().build();
417     FieldMask updateMask = FieldMask.newBuilder().build();
418 
419     ConnectionProfile actualResponse =
420         client.updateConnectionProfileAsync(connectionProfile, updateMask).get();
421     Assert.assertEquals(expectedResponse, actualResponse);
422 
423     List<AbstractMessage> actualRequests = mockDatastream.getRequests();
424     Assert.assertEquals(1, actualRequests.size());
425     UpdateConnectionProfileRequest actualRequest =
426         ((UpdateConnectionProfileRequest) actualRequests.get(0));
427 
428     Assert.assertEquals(connectionProfile, actualRequest.getConnectionProfile());
429     Assert.assertEquals(updateMask, actualRequest.getUpdateMask());
430     Assert.assertTrue(
431         channelProvider.isHeaderSent(
432             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
433             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
434   }
435 
436   @Test
updateConnectionProfileExceptionTest()437   public void updateConnectionProfileExceptionTest() throws Exception {
438     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
439     mockDatastream.addException(exception);
440 
441     try {
442       ConnectionProfile connectionProfile = ConnectionProfile.newBuilder().build();
443       FieldMask updateMask = FieldMask.newBuilder().build();
444       client.updateConnectionProfileAsync(connectionProfile, updateMask).get();
445       Assert.fail("No exception raised");
446     } catch (ExecutionException e) {
447       Assert.assertEquals(InvalidArgumentException.class, e.getCause().getClass());
448       InvalidArgumentException apiException = ((InvalidArgumentException) e.getCause());
449       Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode());
450     }
451   }
452 
453   @Test
deleteConnectionProfileTest()454   public void deleteConnectionProfileTest() throws Exception {
455     Empty expectedResponse = Empty.newBuilder().build();
456     Operation resultOperation =
457         Operation.newBuilder()
458             .setName("deleteConnectionProfileTest")
459             .setDone(true)
460             .setResponse(Any.pack(expectedResponse))
461             .build();
462     mockDatastream.addResponse(resultOperation);
463 
464     ConnectionProfileName name =
465         ConnectionProfileName.of("[PROJECT]", "[LOCATION]", "[CONNECTION_PROFILE]");
466 
467     client.deleteConnectionProfileAsync(name).get();
468 
469     List<AbstractMessage> actualRequests = mockDatastream.getRequests();
470     Assert.assertEquals(1, actualRequests.size());
471     DeleteConnectionProfileRequest actualRequest =
472         ((DeleteConnectionProfileRequest) actualRequests.get(0));
473 
474     Assert.assertEquals(name.toString(), actualRequest.getName());
475     Assert.assertTrue(
476         channelProvider.isHeaderSent(
477             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
478             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
479   }
480 
481   @Test
deleteConnectionProfileExceptionTest()482   public void deleteConnectionProfileExceptionTest() throws Exception {
483     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
484     mockDatastream.addException(exception);
485 
486     try {
487       ConnectionProfileName name =
488           ConnectionProfileName.of("[PROJECT]", "[LOCATION]", "[CONNECTION_PROFILE]");
489       client.deleteConnectionProfileAsync(name).get();
490       Assert.fail("No exception raised");
491     } catch (ExecutionException e) {
492       Assert.assertEquals(InvalidArgumentException.class, e.getCause().getClass());
493       InvalidArgumentException apiException = ((InvalidArgumentException) e.getCause());
494       Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode());
495     }
496   }
497 
498   @Test
deleteConnectionProfileTest2()499   public void deleteConnectionProfileTest2() throws Exception {
500     Empty expectedResponse = Empty.newBuilder().build();
501     Operation resultOperation =
502         Operation.newBuilder()
503             .setName("deleteConnectionProfileTest")
504             .setDone(true)
505             .setResponse(Any.pack(expectedResponse))
506             .build();
507     mockDatastream.addResponse(resultOperation);
508 
509     String name = "name3373707";
510 
511     client.deleteConnectionProfileAsync(name).get();
512 
513     List<AbstractMessage> actualRequests = mockDatastream.getRequests();
514     Assert.assertEquals(1, actualRequests.size());
515     DeleteConnectionProfileRequest actualRequest =
516         ((DeleteConnectionProfileRequest) actualRequests.get(0));
517 
518     Assert.assertEquals(name, actualRequest.getName());
519     Assert.assertTrue(
520         channelProvider.isHeaderSent(
521             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
522             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
523   }
524 
525   @Test
deleteConnectionProfileExceptionTest2()526   public void deleteConnectionProfileExceptionTest2() throws Exception {
527     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
528     mockDatastream.addException(exception);
529 
530     try {
531       String name = "name3373707";
532       client.deleteConnectionProfileAsync(name).get();
533       Assert.fail("No exception raised");
534     } catch (ExecutionException e) {
535       Assert.assertEquals(InvalidArgumentException.class, e.getCause().getClass());
536       InvalidArgumentException apiException = ((InvalidArgumentException) e.getCause());
537       Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode());
538     }
539   }
540 
541   @Test
discoverConnectionProfileTest()542   public void discoverConnectionProfileTest() throws Exception {
543     DiscoverConnectionProfileResponse expectedResponse =
544         DiscoverConnectionProfileResponse.newBuilder().build();
545     mockDatastream.addResponse(expectedResponse);
546 
547     DiscoverConnectionProfileRequest request =
548         DiscoverConnectionProfileRequest.newBuilder()
549             .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString())
550             .build();
551 
552     DiscoverConnectionProfileResponse actualResponse = client.discoverConnectionProfile(request);
553     Assert.assertEquals(expectedResponse, actualResponse);
554 
555     List<AbstractMessage> actualRequests = mockDatastream.getRequests();
556     Assert.assertEquals(1, actualRequests.size());
557     DiscoverConnectionProfileRequest actualRequest =
558         ((DiscoverConnectionProfileRequest) actualRequests.get(0));
559 
560     Assert.assertEquals(request.getParent(), actualRequest.getParent());
561     Assert.assertEquals(request.getConnectionProfile(), actualRequest.getConnectionProfile());
562     Assert.assertEquals(
563         request.getConnectionProfileName(), actualRequest.getConnectionProfileName());
564     Assert.assertEquals(request.getRecursive(), actualRequest.getRecursive());
565     Assert.assertEquals(request.getRecursionDepth(), actualRequest.getRecursionDepth());
566     Assert.assertEquals(request.getOracleRdbms(), actualRequest.getOracleRdbms());
567     Assert.assertEquals(request.getMysqlRdbms(), actualRequest.getMysqlRdbms());
568     Assert.assertTrue(
569         channelProvider.isHeaderSent(
570             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
571             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
572   }
573 
574   @Test
discoverConnectionProfileExceptionTest()575   public void discoverConnectionProfileExceptionTest() throws Exception {
576     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
577     mockDatastream.addException(exception);
578 
579     try {
580       DiscoverConnectionProfileRequest request =
581           DiscoverConnectionProfileRequest.newBuilder()
582               .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString())
583               .build();
584       client.discoverConnectionProfile(request);
585       Assert.fail("No exception raised");
586     } catch (InvalidArgumentException e) {
587       // Expected exception.
588     }
589   }
590 
591   @Test
listStreamsTest()592   public void listStreamsTest() throws Exception {
593     Stream responsesElement = Stream.newBuilder().build();
594     ListStreamsResponse expectedResponse =
595         ListStreamsResponse.newBuilder()
596             .setNextPageToken("")
597             .addAllStreams(Arrays.asList(responsesElement))
598             .build();
599     mockDatastream.addResponse(expectedResponse);
600 
601     LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
602 
603     ListStreamsPagedResponse pagedListResponse = client.listStreams(parent);
604 
605     List<Stream> resources = Lists.newArrayList(pagedListResponse.iterateAll());
606 
607     Assert.assertEquals(1, resources.size());
608     Assert.assertEquals(expectedResponse.getStreamsList().get(0), resources.get(0));
609 
610     List<AbstractMessage> actualRequests = mockDatastream.getRequests();
611     Assert.assertEquals(1, actualRequests.size());
612     ListStreamsRequest actualRequest = ((ListStreamsRequest) actualRequests.get(0));
613 
614     Assert.assertEquals(parent.toString(), actualRequest.getParent());
615     Assert.assertTrue(
616         channelProvider.isHeaderSent(
617             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
618             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
619   }
620 
621   @Test
listStreamsExceptionTest()622   public void listStreamsExceptionTest() throws Exception {
623     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
624     mockDatastream.addException(exception);
625 
626     try {
627       LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
628       client.listStreams(parent);
629       Assert.fail("No exception raised");
630     } catch (InvalidArgumentException e) {
631       // Expected exception.
632     }
633   }
634 
635   @Test
listStreamsTest2()636   public void listStreamsTest2() throws Exception {
637     Stream responsesElement = Stream.newBuilder().build();
638     ListStreamsResponse expectedResponse =
639         ListStreamsResponse.newBuilder()
640             .setNextPageToken("")
641             .addAllStreams(Arrays.asList(responsesElement))
642             .build();
643     mockDatastream.addResponse(expectedResponse);
644 
645     String parent = "parent-995424086";
646 
647     ListStreamsPagedResponse pagedListResponse = client.listStreams(parent);
648 
649     List<Stream> resources = Lists.newArrayList(pagedListResponse.iterateAll());
650 
651     Assert.assertEquals(1, resources.size());
652     Assert.assertEquals(expectedResponse.getStreamsList().get(0), resources.get(0));
653 
654     List<AbstractMessage> actualRequests = mockDatastream.getRequests();
655     Assert.assertEquals(1, actualRequests.size());
656     ListStreamsRequest actualRequest = ((ListStreamsRequest) actualRequests.get(0));
657 
658     Assert.assertEquals(parent, actualRequest.getParent());
659     Assert.assertTrue(
660         channelProvider.isHeaderSent(
661             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
662             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
663   }
664 
665   @Test
listStreamsExceptionTest2()666   public void listStreamsExceptionTest2() throws Exception {
667     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
668     mockDatastream.addException(exception);
669 
670     try {
671       String parent = "parent-995424086";
672       client.listStreams(parent);
673       Assert.fail("No exception raised");
674     } catch (InvalidArgumentException e) {
675       // Expected exception.
676     }
677   }
678 
679   @Test
getStreamTest()680   public void getStreamTest() throws Exception {
681     Stream expectedResponse =
682         Stream.newBuilder()
683             .setName(StreamName.of("[PROJECT]", "[LOCATION]", "[STREAM]").toString())
684             .setCreateTime(Timestamp.newBuilder().build())
685             .setUpdateTime(Timestamp.newBuilder().build())
686             .putAllLabels(new HashMap<String, String>())
687             .setDisplayName("displayName1714148973")
688             .setSourceConfig(SourceConfig.newBuilder().build())
689             .setDestinationConfig(DestinationConfig.newBuilder().build())
690             .addAllErrors(new ArrayList<Error>())
691             .build();
692     mockDatastream.addResponse(expectedResponse);
693 
694     StreamName name = StreamName.of("[PROJECT]", "[LOCATION]", "[STREAM]");
695 
696     Stream actualResponse = client.getStream(name);
697     Assert.assertEquals(expectedResponse, actualResponse);
698 
699     List<AbstractMessage> actualRequests = mockDatastream.getRequests();
700     Assert.assertEquals(1, actualRequests.size());
701     GetStreamRequest actualRequest = ((GetStreamRequest) actualRequests.get(0));
702 
703     Assert.assertEquals(name.toString(), actualRequest.getName());
704     Assert.assertTrue(
705         channelProvider.isHeaderSent(
706             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
707             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
708   }
709 
710   @Test
getStreamExceptionTest()711   public void getStreamExceptionTest() throws Exception {
712     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
713     mockDatastream.addException(exception);
714 
715     try {
716       StreamName name = StreamName.of("[PROJECT]", "[LOCATION]", "[STREAM]");
717       client.getStream(name);
718       Assert.fail("No exception raised");
719     } catch (InvalidArgumentException e) {
720       // Expected exception.
721     }
722   }
723 
724   @Test
getStreamTest2()725   public void getStreamTest2() throws Exception {
726     Stream expectedResponse =
727         Stream.newBuilder()
728             .setName(StreamName.of("[PROJECT]", "[LOCATION]", "[STREAM]").toString())
729             .setCreateTime(Timestamp.newBuilder().build())
730             .setUpdateTime(Timestamp.newBuilder().build())
731             .putAllLabels(new HashMap<String, String>())
732             .setDisplayName("displayName1714148973")
733             .setSourceConfig(SourceConfig.newBuilder().build())
734             .setDestinationConfig(DestinationConfig.newBuilder().build())
735             .addAllErrors(new ArrayList<Error>())
736             .build();
737     mockDatastream.addResponse(expectedResponse);
738 
739     String name = "name3373707";
740 
741     Stream actualResponse = client.getStream(name);
742     Assert.assertEquals(expectedResponse, actualResponse);
743 
744     List<AbstractMessage> actualRequests = mockDatastream.getRequests();
745     Assert.assertEquals(1, actualRequests.size());
746     GetStreamRequest actualRequest = ((GetStreamRequest) actualRequests.get(0));
747 
748     Assert.assertEquals(name, actualRequest.getName());
749     Assert.assertTrue(
750         channelProvider.isHeaderSent(
751             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
752             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
753   }
754 
755   @Test
getStreamExceptionTest2()756   public void getStreamExceptionTest2() throws Exception {
757     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
758     mockDatastream.addException(exception);
759 
760     try {
761       String name = "name3373707";
762       client.getStream(name);
763       Assert.fail("No exception raised");
764     } catch (InvalidArgumentException e) {
765       // Expected exception.
766     }
767   }
768 
769   @Test
createStreamTest()770   public void createStreamTest() throws Exception {
771     Stream expectedResponse =
772         Stream.newBuilder()
773             .setName(StreamName.of("[PROJECT]", "[LOCATION]", "[STREAM]").toString())
774             .setCreateTime(Timestamp.newBuilder().build())
775             .setUpdateTime(Timestamp.newBuilder().build())
776             .putAllLabels(new HashMap<String, String>())
777             .setDisplayName("displayName1714148973")
778             .setSourceConfig(SourceConfig.newBuilder().build())
779             .setDestinationConfig(DestinationConfig.newBuilder().build())
780             .addAllErrors(new ArrayList<Error>())
781             .build();
782     Operation resultOperation =
783         Operation.newBuilder()
784             .setName("createStreamTest")
785             .setDone(true)
786             .setResponse(Any.pack(expectedResponse))
787             .build();
788     mockDatastream.addResponse(resultOperation);
789 
790     LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
791     Stream stream = Stream.newBuilder().build();
792     String streamId = "streamId1790933179";
793 
794     Stream actualResponse = client.createStreamAsync(parent, stream, streamId).get();
795     Assert.assertEquals(expectedResponse, actualResponse);
796 
797     List<AbstractMessage> actualRequests = mockDatastream.getRequests();
798     Assert.assertEquals(1, actualRequests.size());
799     CreateStreamRequest actualRequest = ((CreateStreamRequest) actualRequests.get(0));
800 
801     Assert.assertEquals(parent.toString(), actualRequest.getParent());
802     Assert.assertEquals(stream, actualRequest.getStream());
803     Assert.assertEquals(streamId, actualRequest.getStreamId());
804     Assert.assertTrue(
805         channelProvider.isHeaderSent(
806             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
807             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
808   }
809 
810   @Test
createStreamExceptionTest()811   public void createStreamExceptionTest() throws Exception {
812     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
813     mockDatastream.addException(exception);
814 
815     try {
816       LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
817       Stream stream = Stream.newBuilder().build();
818       String streamId = "streamId1790933179";
819       client.createStreamAsync(parent, stream, streamId).get();
820       Assert.fail("No exception raised");
821     } catch (ExecutionException e) {
822       Assert.assertEquals(InvalidArgumentException.class, e.getCause().getClass());
823       InvalidArgumentException apiException = ((InvalidArgumentException) e.getCause());
824       Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode());
825     }
826   }
827 
828   @Test
createStreamTest2()829   public void createStreamTest2() throws Exception {
830     Stream expectedResponse =
831         Stream.newBuilder()
832             .setName(StreamName.of("[PROJECT]", "[LOCATION]", "[STREAM]").toString())
833             .setCreateTime(Timestamp.newBuilder().build())
834             .setUpdateTime(Timestamp.newBuilder().build())
835             .putAllLabels(new HashMap<String, String>())
836             .setDisplayName("displayName1714148973")
837             .setSourceConfig(SourceConfig.newBuilder().build())
838             .setDestinationConfig(DestinationConfig.newBuilder().build())
839             .addAllErrors(new ArrayList<Error>())
840             .build();
841     Operation resultOperation =
842         Operation.newBuilder()
843             .setName("createStreamTest")
844             .setDone(true)
845             .setResponse(Any.pack(expectedResponse))
846             .build();
847     mockDatastream.addResponse(resultOperation);
848 
849     String parent = "parent-995424086";
850     Stream stream = Stream.newBuilder().build();
851     String streamId = "streamId1790933179";
852 
853     Stream actualResponse = client.createStreamAsync(parent, stream, streamId).get();
854     Assert.assertEquals(expectedResponse, actualResponse);
855 
856     List<AbstractMessage> actualRequests = mockDatastream.getRequests();
857     Assert.assertEquals(1, actualRequests.size());
858     CreateStreamRequest actualRequest = ((CreateStreamRequest) actualRequests.get(0));
859 
860     Assert.assertEquals(parent, actualRequest.getParent());
861     Assert.assertEquals(stream, actualRequest.getStream());
862     Assert.assertEquals(streamId, actualRequest.getStreamId());
863     Assert.assertTrue(
864         channelProvider.isHeaderSent(
865             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
866             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
867   }
868 
869   @Test
createStreamExceptionTest2()870   public void createStreamExceptionTest2() throws Exception {
871     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
872     mockDatastream.addException(exception);
873 
874     try {
875       String parent = "parent-995424086";
876       Stream stream = Stream.newBuilder().build();
877       String streamId = "streamId1790933179";
878       client.createStreamAsync(parent, stream, streamId).get();
879       Assert.fail("No exception raised");
880     } catch (ExecutionException e) {
881       Assert.assertEquals(InvalidArgumentException.class, e.getCause().getClass());
882       InvalidArgumentException apiException = ((InvalidArgumentException) e.getCause());
883       Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode());
884     }
885   }
886 
887   @Test
updateStreamTest()888   public void updateStreamTest() throws Exception {
889     Stream expectedResponse =
890         Stream.newBuilder()
891             .setName(StreamName.of("[PROJECT]", "[LOCATION]", "[STREAM]").toString())
892             .setCreateTime(Timestamp.newBuilder().build())
893             .setUpdateTime(Timestamp.newBuilder().build())
894             .putAllLabels(new HashMap<String, String>())
895             .setDisplayName("displayName1714148973")
896             .setSourceConfig(SourceConfig.newBuilder().build())
897             .setDestinationConfig(DestinationConfig.newBuilder().build())
898             .addAllErrors(new ArrayList<Error>())
899             .build();
900     Operation resultOperation =
901         Operation.newBuilder()
902             .setName("updateStreamTest")
903             .setDone(true)
904             .setResponse(Any.pack(expectedResponse))
905             .build();
906     mockDatastream.addResponse(resultOperation);
907 
908     Stream stream = Stream.newBuilder().build();
909     FieldMask updateMask = FieldMask.newBuilder().build();
910 
911     Stream actualResponse = client.updateStreamAsync(stream, updateMask).get();
912     Assert.assertEquals(expectedResponse, actualResponse);
913 
914     List<AbstractMessage> actualRequests = mockDatastream.getRequests();
915     Assert.assertEquals(1, actualRequests.size());
916     UpdateStreamRequest actualRequest = ((UpdateStreamRequest) actualRequests.get(0));
917 
918     Assert.assertEquals(stream, actualRequest.getStream());
919     Assert.assertEquals(updateMask, actualRequest.getUpdateMask());
920     Assert.assertTrue(
921         channelProvider.isHeaderSent(
922             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
923             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
924   }
925 
926   @Test
updateStreamExceptionTest()927   public void updateStreamExceptionTest() throws Exception {
928     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
929     mockDatastream.addException(exception);
930 
931     try {
932       Stream stream = Stream.newBuilder().build();
933       FieldMask updateMask = FieldMask.newBuilder().build();
934       client.updateStreamAsync(stream, updateMask).get();
935       Assert.fail("No exception raised");
936     } catch (ExecutionException e) {
937       Assert.assertEquals(InvalidArgumentException.class, e.getCause().getClass());
938       InvalidArgumentException apiException = ((InvalidArgumentException) e.getCause());
939       Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode());
940     }
941   }
942 
943   @Test
deleteStreamTest()944   public void deleteStreamTest() throws Exception {
945     Empty expectedResponse = Empty.newBuilder().build();
946     Operation resultOperation =
947         Operation.newBuilder()
948             .setName("deleteStreamTest")
949             .setDone(true)
950             .setResponse(Any.pack(expectedResponse))
951             .build();
952     mockDatastream.addResponse(resultOperation);
953 
954     StreamName name = StreamName.of("[PROJECT]", "[LOCATION]", "[STREAM]");
955 
956     client.deleteStreamAsync(name).get();
957 
958     List<AbstractMessage> actualRequests = mockDatastream.getRequests();
959     Assert.assertEquals(1, actualRequests.size());
960     DeleteStreamRequest actualRequest = ((DeleteStreamRequest) actualRequests.get(0));
961 
962     Assert.assertEquals(name.toString(), actualRequest.getName());
963     Assert.assertTrue(
964         channelProvider.isHeaderSent(
965             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
966             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
967   }
968 
969   @Test
deleteStreamExceptionTest()970   public void deleteStreamExceptionTest() throws Exception {
971     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
972     mockDatastream.addException(exception);
973 
974     try {
975       StreamName name = StreamName.of("[PROJECT]", "[LOCATION]", "[STREAM]");
976       client.deleteStreamAsync(name).get();
977       Assert.fail("No exception raised");
978     } catch (ExecutionException e) {
979       Assert.assertEquals(InvalidArgumentException.class, e.getCause().getClass());
980       InvalidArgumentException apiException = ((InvalidArgumentException) e.getCause());
981       Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode());
982     }
983   }
984 
985   @Test
deleteStreamTest2()986   public void deleteStreamTest2() throws Exception {
987     Empty expectedResponse = Empty.newBuilder().build();
988     Operation resultOperation =
989         Operation.newBuilder()
990             .setName("deleteStreamTest")
991             .setDone(true)
992             .setResponse(Any.pack(expectedResponse))
993             .build();
994     mockDatastream.addResponse(resultOperation);
995 
996     String name = "name3373707";
997 
998     client.deleteStreamAsync(name).get();
999 
1000     List<AbstractMessage> actualRequests = mockDatastream.getRequests();
1001     Assert.assertEquals(1, actualRequests.size());
1002     DeleteStreamRequest actualRequest = ((DeleteStreamRequest) actualRequests.get(0));
1003 
1004     Assert.assertEquals(name, actualRequest.getName());
1005     Assert.assertTrue(
1006         channelProvider.isHeaderSent(
1007             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
1008             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
1009   }
1010 
1011   @Test
deleteStreamExceptionTest2()1012   public void deleteStreamExceptionTest2() throws Exception {
1013     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
1014     mockDatastream.addException(exception);
1015 
1016     try {
1017       String name = "name3373707";
1018       client.deleteStreamAsync(name).get();
1019       Assert.fail("No exception raised");
1020     } catch (ExecutionException e) {
1021       Assert.assertEquals(InvalidArgumentException.class, e.getCause().getClass());
1022       InvalidArgumentException apiException = ((InvalidArgumentException) e.getCause());
1023       Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode());
1024     }
1025   }
1026 
1027   @Test
fetchErrorsTest()1028   public void fetchErrorsTest() throws Exception {
1029     FetchErrorsResponse expectedResponse =
1030         FetchErrorsResponse.newBuilder().addAllErrors(new ArrayList<Error>()).build();
1031     Operation resultOperation =
1032         Operation.newBuilder()
1033             .setName("fetchErrorsTest")
1034             .setDone(true)
1035             .setResponse(Any.pack(expectedResponse))
1036             .build();
1037     mockDatastream.addResponse(resultOperation);
1038 
1039     FetchErrorsRequest request =
1040         FetchErrorsRequest.newBuilder()
1041             .setStream(StreamName.of("[PROJECT]", "[LOCATION]", "[STREAM]").toString())
1042             .build();
1043 
1044     FetchErrorsResponse actualResponse = client.fetchErrorsAsync(request).get();
1045     Assert.assertEquals(expectedResponse, actualResponse);
1046 
1047     List<AbstractMessage> actualRequests = mockDatastream.getRequests();
1048     Assert.assertEquals(1, actualRequests.size());
1049     FetchErrorsRequest actualRequest = ((FetchErrorsRequest) actualRequests.get(0));
1050 
1051     Assert.assertEquals(request.getStream(), actualRequest.getStream());
1052     Assert.assertTrue(
1053         channelProvider.isHeaderSent(
1054             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
1055             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
1056   }
1057 
1058   @Test
fetchErrorsExceptionTest()1059   public void fetchErrorsExceptionTest() throws Exception {
1060     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
1061     mockDatastream.addException(exception);
1062 
1063     try {
1064       FetchErrorsRequest request =
1065           FetchErrorsRequest.newBuilder()
1066               .setStream(StreamName.of("[PROJECT]", "[LOCATION]", "[STREAM]").toString())
1067               .build();
1068       client.fetchErrorsAsync(request).get();
1069       Assert.fail("No exception raised");
1070     } catch (ExecutionException e) {
1071       Assert.assertEquals(InvalidArgumentException.class, e.getCause().getClass());
1072       InvalidArgumentException apiException = ((InvalidArgumentException) e.getCause());
1073       Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode());
1074     }
1075   }
1076 
1077   @Test
fetchStaticIpsTest()1078   public void fetchStaticIpsTest() throws Exception {
1079     String responsesElement = "responsesElement-318365110";
1080     FetchStaticIpsResponse expectedResponse =
1081         FetchStaticIpsResponse.newBuilder()
1082             .setNextPageToken("")
1083             .addAllStaticIps(Arrays.asList(responsesElement))
1084             .build();
1085     mockDatastream.addResponse(expectedResponse);
1086 
1087     LocationName name = LocationName.of("[PROJECT]", "[LOCATION]");
1088 
1089     FetchStaticIpsPagedResponse pagedListResponse = client.fetchStaticIps(name);
1090 
1091     List<String> resources = Lists.newArrayList(pagedListResponse.iterateAll());
1092 
1093     Assert.assertEquals(1, resources.size());
1094     Assert.assertEquals(expectedResponse.getStaticIpsList().get(0), resources.get(0));
1095 
1096     List<AbstractMessage> actualRequests = mockDatastream.getRequests();
1097     Assert.assertEquals(1, actualRequests.size());
1098     FetchStaticIpsRequest actualRequest = ((FetchStaticIpsRequest) actualRequests.get(0));
1099 
1100     Assert.assertEquals(name.toString(), actualRequest.getName());
1101     Assert.assertTrue(
1102         channelProvider.isHeaderSent(
1103             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
1104             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
1105   }
1106 
1107   @Test
fetchStaticIpsExceptionTest()1108   public void fetchStaticIpsExceptionTest() throws Exception {
1109     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
1110     mockDatastream.addException(exception);
1111 
1112     try {
1113       LocationName name = LocationName.of("[PROJECT]", "[LOCATION]");
1114       client.fetchStaticIps(name);
1115       Assert.fail("No exception raised");
1116     } catch (InvalidArgumentException e) {
1117       // Expected exception.
1118     }
1119   }
1120 
1121   @Test
fetchStaticIpsTest2()1122   public void fetchStaticIpsTest2() throws Exception {
1123     String responsesElement = "responsesElement-318365110";
1124     FetchStaticIpsResponse expectedResponse =
1125         FetchStaticIpsResponse.newBuilder()
1126             .setNextPageToken("")
1127             .addAllStaticIps(Arrays.asList(responsesElement))
1128             .build();
1129     mockDatastream.addResponse(expectedResponse);
1130 
1131     String name = "name3373707";
1132 
1133     FetchStaticIpsPagedResponse pagedListResponse = client.fetchStaticIps(name);
1134 
1135     List<String> resources = Lists.newArrayList(pagedListResponse.iterateAll());
1136 
1137     Assert.assertEquals(1, resources.size());
1138     Assert.assertEquals(expectedResponse.getStaticIpsList().get(0), resources.get(0));
1139 
1140     List<AbstractMessage> actualRequests = mockDatastream.getRequests();
1141     Assert.assertEquals(1, actualRequests.size());
1142     FetchStaticIpsRequest actualRequest = ((FetchStaticIpsRequest) actualRequests.get(0));
1143 
1144     Assert.assertEquals(name, actualRequest.getName());
1145     Assert.assertTrue(
1146         channelProvider.isHeaderSent(
1147             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
1148             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
1149   }
1150 
1151   @Test
fetchStaticIpsExceptionTest2()1152   public void fetchStaticIpsExceptionTest2() throws Exception {
1153     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
1154     mockDatastream.addException(exception);
1155 
1156     try {
1157       String name = "name3373707";
1158       client.fetchStaticIps(name);
1159       Assert.fail("No exception raised");
1160     } catch (InvalidArgumentException e) {
1161       // Expected exception.
1162     }
1163   }
1164 
1165   @Test
createPrivateConnectionTest()1166   public void createPrivateConnectionTest() throws Exception {
1167     PrivateConnection expectedResponse =
1168         PrivateConnection.newBuilder()
1169             .setName(
1170                 PrivateConnectionName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_CONNECTION]")
1171                     .toString())
1172             .setCreateTime(Timestamp.newBuilder().build())
1173             .setUpdateTime(Timestamp.newBuilder().build())
1174             .putAllLabels(new HashMap<String, String>())
1175             .setDisplayName("displayName1714148973")
1176             .setError(Error.newBuilder().build())
1177             .setVpcPeeringConfig(VpcPeeringConfig.newBuilder().build())
1178             .build();
1179     Operation resultOperation =
1180         Operation.newBuilder()
1181             .setName("createPrivateConnectionTest")
1182             .setDone(true)
1183             .setResponse(Any.pack(expectedResponse))
1184             .build();
1185     mockDatastream.addResponse(resultOperation);
1186 
1187     LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
1188     PrivateConnection privateConnection = PrivateConnection.newBuilder().build();
1189     String privateConnectionId = "privateConnectionId-1926654532";
1190 
1191     PrivateConnection actualResponse =
1192         client.createPrivateConnectionAsync(parent, privateConnection, privateConnectionId).get();
1193     Assert.assertEquals(expectedResponse, actualResponse);
1194 
1195     List<AbstractMessage> actualRequests = mockDatastream.getRequests();
1196     Assert.assertEquals(1, actualRequests.size());
1197     CreatePrivateConnectionRequest actualRequest =
1198         ((CreatePrivateConnectionRequest) actualRequests.get(0));
1199 
1200     Assert.assertEquals(parent.toString(), actualRequest.getParent());
1201     Assert.assertEquals(privateConnection, actualRequest.getPrivateConnection());
1202     Assert.assertEquals(privateConnectionId, actualRequest.getPrivateConnectionId());
1203     Assert.assertTrue(
1204         channelProvider.isHeaderSent(
1205             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
1206             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
1207   }
1208 
1209   @Test
createPrivateConnectionExceptionTest()1210   public void createPrivateConnectionExceptionTest() throws Exception {
1211     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
1212     mockDatastream.addException(exception);
1213 
1214     try {
1215       LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
1216       PrivateConnection privateConnection = PrivateConnection.newBuilder().build();
1217       String privateConnectionId = "privateConnectionId-1926654532";
1218       client.createPrivateConnectionAsync(parent, privateConnection, privateConnectionId).get();
1219       Assert.fail("No exception raised");
1220     } catch (ExecutionException e) {
1221       Assert.assertEquals(InvalidArgumentException.class, e.getCause().getClass());
1222       InvalidArgumentException apiException = ((InvalidArgumentException) e.getCause());
1223       Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode());
1224     }
1225   }
1226 
1227   @Test
createPrivateConnectionTest2()1228   public void createPrivateConnectionTest2() throws Exception {
1229     PrivateConnection expectedResponse =
1230         PrivateConnection.newBuilder()
1231             .setName(
1232                 PrivateConnectionName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_CONNECTION]")
1233                     .toString())
1234             .setCreateTime(Timestamp.newBuilder().build())
1235             .setUpdateTime(Timestamp.newBuilder().build())
1236             .putAllLabels(new HashMap<String, String>())
1237             .setDisplayName("displayName1714148973")
1238             .setError(Error.newBuilder().build())
1239             .setVpcPeeringConfig(VpcPeeringConfig.newBuilder().build())
1240             .build();
1241     Operation resultOperation =
1242         Operation.newBuilder()
1243             .setName("createPrivateConnectionTest")
1244             .setDone(true)
1245             .setResponse(Any.pack(expectedResponse))
1246             .build();
1247     mockDatastream.addResponse(resultOperation);
1248 
1249     String parent = "parent-995424086";
1250     PrivateConnection privateConnection = PrivateConnection.newBuilder().build();
1251     String privateConnectionId = "privateConnectionId-1926654532";
1252 
1253     PrivateConnection actualResponse =
1254         client.createPrivateConnectionAsync(parent, privateConnection, privateConnectionId).get();
1255     Assert.assertEquals(expectedResponse, actualResponse);
1256 
1257     List<AbstractMessage> actualRequests = mockDatastream.getRequests();
1258     Assert.assertEquals(1, actualRequests.size());
1259     CreatePrivateConnectionRequest actualRequest =
1260         ((CreatePrivateConnectionRequest) actualRequests.get(0));
1261 
1262     Assert.assertEquals(parent, actualRequest.getParent());
1263     Assert.assertEquals(privateConnection, actualRequest.getPrivateConnection());
1264     Assert.assertEquals(privateConnectionId, actualRequest.getPrivateConnectionId());
1265     Assert.assertTrue(
1266         channelProvider.isHeaderSent(
1267             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
1268             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
1269   }
1270 
1271   @Test
createPrivateConnectionExceptionTest2()1272   public void createPrivateConnectionExceptionTest2() throws Exception {
1273     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
1274     mockDatastream.addException(exception);
1275 
1276     try {
1277       String parent = "parent-995424086";
1278       PrivateConnection privateConnection = PrivateConnection.newBuilder().build();
1279       String privateConnectionId = "privateConnectionId-1926654532";
1280       client.createPrivateConnectionAsync(parent, privateConnection, privateConnectionId).get();
1281       Assert.fail("No exception raised");
1282     } catch (ExecutionException e) {
1283       Assert.assertEquals(InvalidArgumentException.class, e.getCause().getClass());
1284       InvalidArgumentException apiException = ((InvalidArgumentException) e.getCause());
1285       Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode());
1286     }
1287   }
1288 
1289   @Test
getPrivateConnectionTest()1290   public void getPrivateConnectionTest() throws Exception {
1291     PrivateConnection expectedResponse =
1292         PrivateConnection.newBuilder()
1293             .setName(
1294                 PrivateConnectionName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_CONNECTION]")
1295                     .toString())
1296             .setCreateTime(Timestamp.newBuilder().build())
1297             .setUpdateTime(Timestamp.newBuilder().build())
1298             .putAllLabels(new HashMap<String, String>())
1299             .setDisplayName("displayName1714148973")
1300             .setError(Error.newBuilder().build())
1301             .setVpcPeeringConfig(VpcPeeringConfig.newBuilder().build())
1302             .build();
1303     mockDatastream.addResponse(expectedResponse);
1304 
1305     PrivateConnectionName name =
1306         PrivateConnectionName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_CONNECTION]");
1307 
1308     PrivateConnection actualResponse = client.getPrivateConnection(name);
1309     Assert.assertEquals(expectedResponse, actualResponse);
1310 
1311     List<AbstractMessage> actualRequests = mockDatastream.getRequests();
1312     Assert.assertEquals(1, actualRequests.size());
1313     GetPrivateConnectionRequest actualRequest =
1314         ((GetPrivateConnectionRequest) actualRequests.get(0));
1315 
1316     Assert.assertEquals(name.toString(), actualRequest.getName());
1317     Assert.assertTrue(
1318         channelProvider.isHeaderSent(
1319             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
1320             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
1321   }
1322 
1323   @Test
getPrivateConnectionExceptionTest()1324   public void getPrivateConnectionExceptionTest() throws Exception {
1325     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
1326     mockDatastream.addException(exception);
1327 
1328     try {
1329       PrivateConnectionName name =
1330           PrivateConnectionName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_CONNECTION]");
1331       client.getPrivateConnection(name);
1332       Assert.fail("No exception raised");
1333     } catch (InvalidArgumentException e) {
1334       // Expected exception.
1335     }
1336   }
1337 
1338   @Test
getPrivateConnectionTest2()1339   public void getPrivateConnectionTest2() throws Exception {
1340     PrivateConnection expectedResponse =
1341         PrivateConnection.newBuilder()
1342             .setName(
1343                 PrivateConnectionName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_CONNECTION]")
1344                     .toString())
1345             .setCreateTime(Timestamp.newBuilder().build())
1346             .setUpdateTime(Timestamp.newBuilder().build())
1347             .putAllLabels(new HashMap<String, String>())
1348             .setDisplayName("displayName1714148973")
1349             .setError(Error.newBuilder().build())
1350             .setVpcPeeringConfig(VpcPeeringConfig.newBuilder().build())
1351             .build();
1352     mockDatastream.addResponse(expectedResponse);
1353 
1354     String name = "name3373707";
1355 
1356     PrivateConnection actualResponse = client.getPrivateConnection(name);
1357     Assert.assertEquals(expectedResponse, actualResponse);
1358 
1359     List<AbstractMessage> actualRequests = mockDatastream.getRequests();
1360     Assert.assertEquals(1, actualRequests.size());
1361     GetPrivateConnectionRequest actualRequest =
1362         ((GetPrivateConnectionRequest) actualRequests.get(0));
1363 
1364     Assert.assertEquals(name, actualRequest.getName());
1365     Assert.assertTrue(
1366         channelProvider.isHeaderSent(
1367             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
1368             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
1369   }
1370 
1371   @Test
getPrivateConnectionExceptionTest2()1372   public void getPrivateConnectionExceptionTest2() throws Exception {
1373     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
1374     mockDatastream.addException(exception);
1375 
1376     try {
1377       String name = "name3373707";
1378       client.getPrivateConnection(name);
1379       Assert.fail("No exception raised");
1380     } catch (InvalidArgumentException e) {
1381       // Expected exception.
1382     }
1383   }
1384 
1385   @Test
listPrivateConnectionsTest()1386   public void listPrivateConnectionsTest() throws Exception {
1387     PrivateConnection responsesElement = PrivateConnection.newBuilder().build();
1388     ListPrivateConnectionsResponse expectedResponse =
1389         ListPrivateConnectionsResponse.newBuilder()
1390             .setNextPageToken("")
1391             .addAllPrivateConnections(Arrays.asList(responsesElement))
1392             .build();
1393     mockDatastream.addResponse(expectedResponse);
1394 
1395     LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
1396 
1397     ListPrivateConnectionsPagedResponse pagedListResponse = client.listPrivateConnections(parent);
1398 
1399     List<PrivateConnection> resources = Lists.newArrayList(pagedListResponse.iterateAll());
1400 
1401     Assert.assertEquals(1, resources.size());
1402     Assert.assertEquals(expectedResponse.getPrivateConnectionsList().get(0), resources.get(0));
1403 
1404     List<AbstractMessage> actualRequests = mockDatastream.getRequests();
1405     Assert.assertEquals(1, actualRequests.size());
1406     ListPrivateConnectionsRequest actualRequest =
1407         ((ListPrivateConnectionsRequest) actualRequests.get(0));
1408 
1409     Assert.assertEquals(parent.toString(), actualRequest.getParent());
1410     Assert.assertTrue(
1411         channelProvider.isHeaderSent(
1412             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
1413             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
1414   }
1415 
1416   @Test
listPrivateConnectionsExceptionTest()1417   public void listPrivateConnectionsExceptionTest() throws Exception {
1418     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
1419     mockDatastream.addException(exception);
1420 
1421     try {
1422       LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
1423       client.listPrivateConnections(parent);
1424       Assert.fail("No exception raised");
1425     } catch (InvalidArgumentException e) {
1426       // Expected exception.
1427     }
1428   }
1429 
1430   @Test
listPrivateConnectionsTest2()1431   public void listPrivateConnectionsTest2() throws Exception {
1432     PrivateConnection responsesElement = PrivateConnection.newBuilder().build();
1433     ListPrivateConnectionsResponse expectedResponse =
1434         ListPrivateConnectionsResponse.newBuilder()
1435             .setNextPageToken("")
1436             .addAllPrivateConnections(Arrays.asList(responsesElement))
1437             .build();
1438     mockDatastream.addResponse(expectedResponse);
1439 
1440     String parent = "parent-995424086";
1441 
1442     ListPrivateConnectionsPagedResponse pagedListResponse = client.listPrivateConnections(parent);
1443 
1444     List<PrivateConnection> resources = Lists.newArrayList(pagedListResponse.iterateAll());
1445 
1446     Assert.assertEquals(1, resources.size());
1447     Assert.assertEquals(expectedResponse.getPrivateConnectionsList().get(0), resources.get(0));
1448 
1449     List<AbstractMessage> actualRequests = mockDatastream.getRequests();
1450     Assert.assertEquals(1, actualRequests.size());
1451     ListPrivateConnectionsRequest actualRequest =
1452         ((ListPrivateConnectionsRequest) actualRequests.get(0));
1453 
1454     Assert.assertEquals(parent, actualRequest.getParent());
1455     Assert.assertTrue(
1456         channelProvider.isHeaderSent(
1457             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
1458             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
1459   }
1460 
1461   @Test
listPrivateConnectionsExceptionTest2()1462   public void listPrivateConnectionsExceptionTest2() throws Exception {
1463     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
1464     mockDatastream.addException(exception);
1465 
1466     try {
1467       String parent = "parent-995424086";
1468       client.listPrivateConnections(parent);
1469       Assert.fail("No exception raised");
1470     } catch (InvalidArgumentException e) {
1471       // Expected exception.
1472     }
1473   }
1474 
1475   @Test
deletePrivateConnectionTest()1476   public void deletePrivateConnectionTest() throws Exception {
1477     Empty expectedResponse = Empty.newBuilder().build();
1478     Operation resultOperation =
1479         Operation.newBuilder()
1480             .setName("deletePrivateConnectionTest")
1481             .setDone(true)
1482             .setResponse(Any.pack(expectedResponse))
1483             .build();
1484     mockDatastream.addResponse(resultOperation);
1485 
1486     PrivateConnectionName name =
1487         PrivateConnectionName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_CONNECTION]");
1488 
1489     client.deletePrivateConnectionAsync(name).get();
1490 
1491     List<AbstractMessage> actualRequests = mockDatastream.getRequests();
1492     Assert.assertEquals(1, actualRequests.size());
1493     DeletePrivateConnectionRequest actualRequest =
1494         ((DeletePrivateConnectionRequest) actualRequests.get(0));
1495 
1496     Assert.assertEquals(name.toString(), actualRequest.getName());
1497     Assert.assertTrue(
1498         channelProvider.isHeaderSent(
1499             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
1500             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
1501   }
1502 
1503   @Test
deletePrivateConnectionExceptionTest()1504   public void deletePrivateConnectionExceptionTest() throws Exception {
1505     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
1506     mockDatastream.addException(exception);
1507 
1508     try {
1509       PrivateConnectionName name =
1510           PrivateConnectionName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_CONNECTION]");
1511       client.deletePrivateConnectionAsync(name).get();
1512       Assert.fail("No exception raised");
1513     } catch (ExecutionException e) {
1514       Assert.assertEquals(InvalidArgumentException.class, e.getCause().getClass());
1515       InvalidArgumentException apiException = ((InvalidArgumentException) e.getCause());
1516       Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode());
1517     }
1518   }
1519 
1520   @Test
deletePrivateConnectionTest2()1521   public void deletePrivateConnectionTest2() throws Exception {
1522     Empty expectedResponse = Empty.newBuilder().build();
1523     Operation resultOperation =
1524         Operation.newBuilder()
1525             .setName("deletePrivateConnectionTest")
1526             .setDone(true)
1527             .setResponse(Any.pack(expectedResponse))
1528             .build();
1529     mockDatastream.addResponse(resultOperation);
1530 
1531     String name = "name3373707";
1532 
1533     client.deletePrivateConnectionAsync(name).get();
1534 
1535     List<AbstractMessage> actualRequests = mockDatastream.getRequests();
1536     Assert.assertEquals(1, actualRequests.size());
1537     DeletePrivateConnectionRequest actualRequest =
1538         ((DeletePrivateConnectionRequest) actualRequests.get(0));
1539 
1540     Assert.assertEquals(name, actualRequest.getName());
1541     Assert.assertTrue(
1542         channelProvider.isHeaderSent(
1543             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
1544             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
1545   }
1546 
1547   @Test
deletePrivateConnectionExceptionTest2()1548   public void deletePrivateConnectionExceptionTest2() throws Exception {
1549     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
1550     mockDatastream.addException(exception);
1551 
1552     try {
1553       String name = "name3373707";
1554       client.deletePrivateConnectionAsync(name).get();
1555       Assert.fail("No exception raised");
1556     } catch (ExecutionException e) {
1557       Assert.assertEquals(InvalidArgumentException.class, e.getCause().getClass());
1558       InvalidArgumentException apiException = ((InvalidArgumentException) e.getCause());
1559       Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode());
1560     }
1561   }
1562 
1563   @Test
createRouteTest()1564   public void createRouteTest() throws Exception {
1565     Route expectedResponse =
1566         Route.newBuilder()
1567             .setName(
1568                 RouteName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_CONNECTION]", "[ROUTE]")
1569                     .toString())
1570             .setCreateTime(Timestamp.newBuilder().build())
1571             .setUpdateTime(Timestamp.newBuilder().build())
1572             .putAllLabels(new HashMap<String, String>())
1573             .setDisplayName("displayName1714148973")
1574             .setDestinationAddress("destinationAddress1736827910")
1575             .setDestinationPort(1205298706)
1576             .build();
1577     Operation resultOperation =
1578         Operation.newBuilder()
1579             .setName("createRouteTest")
1580             .setDone(true)
1581             .setResponse(Any.pack(expectedResponse))
1582             .build();
1583     mockDatastream.addResponse(resultOperation);
1584 
1585     PrivateConnectionName parent =
1586         PrivateConnectionName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_CONNECTION]");
1587     Route route = Route.newBuilder().build();
1588     String routeId = "routeId1385647428";
1589 
1590     Route actualResponse = client.createRouteAsync(parent, route, routeId).get();
1591     Assert.assertEquals(expectedResponse, actualResponse);
1592 
1593     List<AbstractMessage> actualRequests = mockDatastream.getRequests();
1594     Assert.assertEquals(1, actualRequests.size());
1595     CreateRouteRequest actualRequest = ((CreateRouteRequest) actualRequests.get(0));
1596 
1597     Assert.assertEquals(parent.toString(), actualRequest.getParent());
1598     Assert.assertEquals(route, actualRequest.getRoute());
1599     Assert.assertEquals(routeId, actualRequest.getRouteId());
1600     Assert.assertTrue(
1601         channelProvider.isHeaderSent(
1602             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
1603             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
1604   }
1605 
1606   @Test
createRouteExceptionTest()1607   public void createRouteExceptionTest() throws Exception {
1608     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
1609     mockDatastream.addException(exception);
1610 
1611     try {
1612       PrivateConnectionName parent =
1613           PrivateConnectionName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_CONNECTION]");
1614       Route route = Route.newBuilder().build();
1615       String routeId = "routeId1385647428";
1616       client.createRouteAsync(parent, route, routeId).get();
1617       Assert.fail("No exception raised");
1618     } catch (ExecutionException e) {
1619       Assert.assertEquals(InvalidArgumentException.class, e.getCause().getClass());
1620       InvalidArgumentException apiException = ((InvalidArgumentException) e.getCause());
1621       Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode());
1622     }
1623   }
1624 
1625   @Test
createRouteTest2()1626   public void createRouteTest2() throws Exception {
1627     Route expectedResponse =
1628         Route.newBuilder()
1629             .setName(
1630                 RouteName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_CONNECTION]", "[ROUTE]")
1631                     .toString())
1632             .setCreateTime(Timestamp.newBuilder().build())
1633             .setUpdateTime(Timestamp.newBuilder().build())
1634             .putAllLabels(new HashMap<String, String>())
1635             .setDisplayName("displayName1714148973")
1636             .setDestinationAddress("destinationAddress1736827910")
1637             .setDestinationPort(1205298706)
1638             .build();
1639     Operation resultOperation =
1640         Operation.newBuilder()
1641             .setName("createRouteTest")
1642             .setDone(true)
1643             .setResponse(Any.pack(expectedResponse))
1644             .build();
1645     mockDatastream.addResponse(resultOperation);
1646 
1647     String parent = "parent-995424086";
1648     Route route = Route.newBuilder().build();
1649     String routeId = "routeId1385647428";
1650 
1651     Route actualResponse = client.createRouteAsync(parent, route, routeId).get();
1652     Assert.assertEquals(expectedResponse, actualResponse);
1653 
1654     List<AbstractMessage> actualRequests = mockDatastream.getRequests();
1655     Assert.assertEquals(1, actualRequests.size());
1656     CreateRouteRequest actualRequest = ((CreateRouteRequest) actualRequests.get(0));
1657 
1658     Assert.assertEquals(parent, actualRequest.getParent());
1659     Assert.assertEquals(route, actualRequest.getRoute());
1660     Assert.assertEquals(routeId, actualRequest.getRouteId());
1661     Assert.assertTrue(
1662         channelProvider.isHeaderSent(
1663             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
1664             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
1665   }
1666 
1667   @Test
createRouteExceptionTest2()1668   public void createRouteExceptionTest2() throws Exception {
1669     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
1670     mockDatastream.addException(exception);
1671 
1672     try {
1673       String parent = "parent-995424086";
1674       Route route = Route.newBuilder().build();
1675       String routeId = "routeId1385647428";
1676       client.createRouteAsync(parent, route, routeId).get();
1677       Assert.fail("No exception raised");
1678     } catch (ExecutionException e) {
1679       Assert.assertEquals(InvalidArgumentException.class, e.getCause().getClass());
1680       InvalidArgumentException apiException = ((InvalidArgumentException) e.getCause());
1681       Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode());
1682     }
1683   }
1684 
1685   @Test
getRouteTest()1686   public void getRouteTest() throws Exception {
1687     Route expectedResponse =
1688         Route.newBuilder()
1689             .setName(
1690                 RouteName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_CONNECTION]", "[ROUTE]")
1691                     .toString())
1692             .setCreateTime(Timestamp.newBuilder().build())
1693             .setUpdateTime(Timestamp.newBuilder().build())
1694             .putAllLabels(new HashMap<String, String>())
1695             .setDisplayName("displayName1714148973")
1696             .setDestinationAddress("destinationAddress1736827910")
1697             .setDestinationPort(1205298706)
1698             .build();
1699     mockDatastream.addResponse(expectedResponse);
1700 
1701     RouteName name = RouteName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_CONNECTION]", "[ROUTE]");
1702 
1703     Route actualResponse = client.getRoute(name);
1704     Assert.assertEquals(expectedResponse, actualResponse);
1705 
1706     List<AbstractMessage> actualRequests = mockDatastream.getRequests();
1707     Assert.assertEquals(1, actualRequests.size());
1708     GetRouteRequest actualRequest = ((GetRouteRequest) actualRequests.get(0));
1709 
1710     Assert.assertEquals(name.toString(), actualRequest.getName());
1711     Assert.assertTrue(
1712         channelProvider.isHeaderSent(
1713             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
1714             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
1715   }
1716 
1717   @Test
getRouteExceptionTest()1718   public void getRouteExceptionTest() throws Exception {
1719     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
1720     mockDatastream.addException(exception);
1721 
1722     try {
1723       RouteName name = RouteName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_CONNECTION]", "[ROUTE]");
1724       client.getRoute(name);
1725       Assert.fail("No exception raised");
1726     } catch (InvalidArgumentException e) {
1727       // Expected exception.
1728     }
1729   }
1730 
1731   @Test
getRouteTest2()1732   public void getRouteTest2() throws Exception {
1733     Route expectedResponse =
1734         Route.newBuilder()
1735             .setName(
1736                 RouteName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_CONNECTION]", "[ROUTE]")
1737                     .toString())
1738             .setCreateTime(Timestamp.newBuilder().build())
1739             .setUpdateTime(Timestamp.newBuilder().build())
1740             .putAllLabels(new HashMap<String, String>())
1741             .setDisplayName("displayName1714148973")
1742             .setDestinationAddress("destinationAddress1736827910")
1743             .setDestinationPort(1205298706)
1744             .build();
1745     mockDatastream.addResponse(expectedResponse);
1746 
1747     String name = "name3373707";
1748 
1749     Route actualResponse = client.getRoute(name);
1750     Assert.assertEquals(expectedResponse, actualResponse);
1751 
1752     List<AbstractMessage> actualRequests = mockDatastream.getRequests();
1753     Assert.assertEquals(1, actualRequests.size());
1754     GetRouteRequest actualRequest = ((GetRouteRequest) actualRequests.get(0));
1755 
1756     Assert.assertEquals(name, actualRequest.getName());
1757     Assert.assertTrue(
1758         channelProvider.isHeaderSent(
1759             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
1760             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
1761   }
1762 
1763   @Test
getRouteExceptionTest2()1764   public void getRouteExceptionTest2() throws Exception {
1765     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
1766     mockDatastream.addException(exception);
1767 
1768     try {
1769       String name = "name3373707";
1770       client.getRoute(name);
1771       Assert.fail("No exception raised");
1772     } catch (InvalidArgumentException e) {
1773       // Expected exception.
1774     }
1775   }
1776 
1777   @Test
listRoutesTest()1778   public void listRoutesTest() throws Exception {
1779     Route responsesElement = Route.newBuilder().build();
1780     ListRoutesResponse expectedResponse =
1781         ListRoutesResponse.newBuilder()
1782             .setNextPageToken("")
1783             .addAllRoutes(Arrays.asList(responsesElement))
1784             .build();
1785     mockDatastream.addResponse(expectedResponse);
1786 
1787     PrivateConnectionName parent =
1788         PrivateConnectionName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_CONNECTION]");
1789 
1790     ListRoutesPagedResponse pagedListResponse = client.listRoutes(parent);
1791 
1792     List<Route> resources = Lists.newArrayList(pagedListResponse.iterateAll());
1793 
1794     Assert.assertEquals(1, resources.size());
1795     Assert.assertEquals(expectedResponse.getRoutesList().get(0), resources.get(0));
1796 
1797     List<AbstractMessage> actualRequests = mockDatastream.getRequests();
1798     Assert.assertEquals(1, actualRequests.size());
1799     ListRoutesRequest actualRequest = ((ListRoutesRequest) actualRequests.get(0));
1800 
1801     Assert.assertEquals(parent.toString(), actualRequest.getParent());
1802     Assert.assertTrue(
1803         channelProvider.isHeaderSent(
1804             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
1805             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
1806   }
1807 
1808   @Test
listRoutesExceptionTest()1809   public void listRoutesExceptionTest() throws Exception {
1810     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
1811     mockDatastream.addException(exception);
1812 
1813     try {
1814       PrivateConnectionName parent =
1815           PrivateConnectionName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_CONNECTION]");
1816       client.listRoutes(parent);
1817       Assert.fail("No exception raised");
1818     } catch (InvalidArgumentException e) {
1819       // Expected exception.
1820     }
1821   }
1822 
1823   @Test
listRoutesTest2()1824   public void listRoutesTest2() throws Exception {
1825     Route responsesElement = Route.newBuilder().build();
1826     ListRoutesResponse expectedResponse =
1827         ListRoutesResponse.newBuilder()
1828             .setNextPageToken("")
1829             .addAllRoutes(Arrays.asList(responsesElement))
1830             .build();
1831     mockDatastream.addResponse(expectedResponse);
1832 
1833     String parent = "parent-995424086";
1834 
1835     ListRoutesPagedResponse pagedListResponse = client.listRoutes(parent);
1836 
1837     List<Route> resources = Lists.newArrayList(pagedListResponse.iterateAll());
1838 
1839     Assert.assertEquals(1, resources.size());
1840     Assert.assertEquals(expectedResponse.getRoutesList().get(0), resources.get(0));
1841 
1842     List<AbstractMessage> actualRequests = mockDatastream.getRequests();
1843     Assert.assertEquals(1, actualRequests.size());
1844     ListRoutesRequest actualRequest = ((ListRoutesRequest) actualRequests.get(0));
1845 
1846     Assert.assertEquals(parent, actualRequest.getParent());
1847     Assert.assertTrue(
1848         channelProvider.isHeaderSent(
1849             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
1850             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
1851   }
1852 
1853   @Test
listRoutesExceptionTest2()1854   public void listRoutesExceptionTest2() throws Exception {
1855     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
1856     mockDatastream.addException(exception);
1857 
1858     try {
1859       String parent = "parent-995424086";
1860       client.listRoutes(parent);
1861       Assert.fail("No exception raised");
1862     } catch (InvalidArgumentException e) {
1863       // Expected exception.
1864     }
1865   }
1866 
1867   @Test
deleteRouteTest()1868   public void deleteRouteTest() throws Exception {
1869     Empty expectedResponse = Empty.newBuilder().build();
1870     Operation resultOperation =
1871         Operation.newBuilder()
1872             .setName("deleteRouteTest")
1873             .setDone(true)
1874             .setResponse(Any.pack(expectedResponse))
1875             .build();
1876     mockDatastream.addResponse(resultOperation);
1877 
1878     RouteName name = RouteName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_CONNECTION]", "[ROUTE]");
1879 
1880     client.deleteRouteAsync(name).get();
1881 
1882     List<AbstractMessage> actualRequests = mockDatastream.getRequests();
1883     Assert.assertEquals(1, actualRequests.size());
1884     DeleteRouteRequest actualRequest = ((DeleteRouteRequest) actualRequests.get(0));
1885 
1886     Assert.assertEquals(name.toString(), actualRequest.getName());
1887     Assert.assertTrue(
1888         channelProvider.isHeaderSent(
1889             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
1890             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
1891   }
1892 
1893   @Test
deleteRouteExceptionTest()1894   public void deleteRouteExceptionTest() throws Exception {
1895     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
1896     mockDatastream.addException(exception);
1897 
1898     try {
1899       RouteName name = RouteName.of("[PROJECT]", "[LOCATION]", "[PRIVATE_CONNECTION]", "[ROUTE]");
1900       client.deleteRouteAsync(name).get();
1901       Assert.fail("No exception raised");
1902     } catch (ExecutionException e) {
1903       Assert.assertEquals(InvalidArgumentException.class, e.getCause().getClass());
1904       InvalidArgumentException apiException = ((InvalidArgumentException) e.getCause());
1905       Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode());
1906     }
1907   }
1908 
1909   @Test
deleteRouteTest2()1910   public void deleteRouteTest2() throws Exception {
1911     Empty expectedResponse = Empty.newBuilder().build();
1912     Operation resultOperation =
1913         Operation.newBuilder()
1914             .setName("deleteRouteTest")
1915             .setDone(true)
1916             .setResponse(Any.pack(expectedResponse))
1917             .build();
1918     mockDatastream.addResponse(resultOperation);
1919 
1920     String name = "name3373707";
1921 
1922     client.deleteRouteAsync(name).get();
1923 
1924     List<AbstractMessage> actualRequests = mockDatastream.getRequests();
1925     Assert.assertEquals(1, actualRequests.size());
1926     DeleteRouteRequest actualRequest = ((DeleteRouteRequest) actualRequests.get(0));
1927 
1928     Assert.assertEquals(name, actualRequest.getName());
1929     Assert.assertTrue(
1930         channelProvider.isHeaderSent(
1931             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
1932             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
1933   }
1934 
1935   @Test
deleteRouteExceptionTest2()1936   public void deleteRouteExceptionTest2() throws Exception {
1937     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
1938     mockDatastream.addException(exception);
1939 
1940     try {
1941       String name = "name3373707";
1942       client.deleteRouteAsync(name).get();
1943       Assert.fail("No exception raised");
1944     } catch (ExecutionException e) {
1945       Assert.assertEquals(InvalidArgumentException.class, e.getCause().getClass());
1946       InvalidArgumentException apiException = ((InvalidArgumentException) e.getCause());
1947       Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode());
1948     }
1949   }
1950 }
1951