• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright 2022 Google LLC
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      https://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 package com.google.cloud.dialogflow.v2beta1;
18 
19 import static com.google.cloud.dialogflow.v2beta1.ContextsClient.ListContextsPagedResponse;
20 import static com.google.cloud.dialogflow.v2beta1.ContextsClient.ListLocationsPagedResponse;
21 
22 import com.google.api.gax.core.NoCredentialsProvider;
23 import com.google.api.gax.grpc.GaxGrpcProperties;
24 import com.google.api.gax.grpc.testing.LocalChannelProvider;
25 import com.google.api.gax.grpc.testing.MockGrpcService;
26 import com.google.api.gax.grpc.testing.MockServiceHelper;
27 import com.google.api.gax.rpc.ApiClientHeaderProvider;
28 import com.google.api.gax.rpc.InvalidArgumentException;
29 import com.google.cloud.location.GetLocationRequest;
30 import com.google.cloud.location.ListLocationsRequest;
31 import com.google.cloud.location.ListLocationsResponse;
32 import com.google.cloud.location.Location;
33 import com.google.common.collect.Lists;
34 import com.google.protobuf.AbstractMessage;
35 import com.google.protobuf.Any;
36 import com.google.protobuf.Empty;
37 import com.google.protobuf.FieldMask;
38 import com.google.protobuf.Struct;
39 import io.grpc.StatusRuntimeException;
40 import java.io.IOException;
41 import java.util.Arrays;
42 import java.util.HashMap;
43 import java.util.List;
44 import java.util.UUID;
45 import javax.annotation.Generated;
46 import org.junit.After;
47 import org.junit.AfterClass;
48 import org.junit.Assert;
49 import org.junit.Before;
50 import org.junit.BeforeClass;
51 import org.junit.Test;
52 
53 @Generated("by gapic-generator-java")
54 public class ContextsClientTest {
55   private static MockContexts mockContexts;
56   private static MockLocations mockLocations;
57   private static MockServiceHelper mockServiceHelper;
58   private LocalChannelProvider channelProvider;
59   private ContextsClient client;
60 
61   @BeforeClass
startStaticServer()62   public static void startStaticServer() {
63     mockContexts = new MockContexts();
64     mockLocations = new MockLocations();
65     mockServiceHelper =
66         new MockServiceHelper(
67             UUID.randomUUID().toString(),
68             Arrays.<MockGrpcService>asList(mockContexts, mockLocations));
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     ContextsSettings settings =
82         ContextsSettings.newBuilder()
83             .setTransportChannelProvider(channelProvider)
84             .setCredentialsProvider(NoCredentialsProvider.create())
85             .build();
86     client = ContextsClient.create(settings);
87   }
88 
89   @After
tearDown()90   public void tearDown() throws Exception {
91     client.close();
92   }
93 
94   @Test
listContextsTest()95   public void listContextsTest() throws Exception {
96     Context responsesElement = Context.newBuilder().build();
97     ListContextsResponse expectedResponse =
98         ListContextsResponse.newBuilder()
99             .setNextPageToken("")
100             .addAllContexts(Arrays.asList(responsesElement))
101             .build();
102     mockContexts.addResponse(expectedResponse);
103 
104     SessionName parent = SessionName.ofProjectSessionName("[PROJECT]", "[SESSION]");
105 
106     ListContextsPagedResponse pagedListResponse = client.listContexts(parent);
107 
108     List<Context> resources = Lists.newArrayList(pagedListResponse.iterateAll());
109 
110     Assert.assertEquals(1, resources.size());
111     Assert.assertEquals(expectedResponse.getContextsList().get(0), resources.get(0));
112 
113     List<AbstractMessage> actualRequests = mockContexts.getRequests();
114     Assert.assertEquals(1, actualRequests.size());
115     ListContextsRequest actualRequest = ((ListContextsRequest) actualRequests.get(0));
116 
117     Assert.assertEquals(parent.toString(), actualRequest.getParent());
118     Assert.assertTrue(
119         channelProvider.isHeaderSent(
120             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
121             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
122   }
123 
124   @Test
listContextsExceptionTest()125   public void listContextsExceptionTest() throws Exception {
126     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
127     mockContexts.addException(exception);
128 
129     try {
130       SessionName parent = SessionName.ofProjectSessionName("[PROJECT]", "[SESSION]");
131       client.listContexts(parent);
132       Assert.fail("No exception raised");
133     } catch (InvalidArgumentException e) {
134       // Expected exception.
135     }
136   }
137 
138   @Test
listContextsTest2()139   public void listContextsTest2() throws Exception {
140     Context responsesElement = Context.newBuilder().build();
141     ListContextsResponse expectedResponse =
142         ListContextsResponse.newBuilder()
143             .setNextPageToken("")
144             .addAllContexts(Arrays.asList(responsesElement))
145             .build();
146     mockContexts.addResponse(expectedResponse);
147 
148     String parent = "parent-995424086";
149 
150     ListContextsPagedResponse pagedListResponse = client.listContexts(parent);
151 
152     List<Context> resources = Lists.newArrayList(pagedListResponse.iterateAll());
153 
154     Assert.assertEquals(1, resources.size());
155     Assert.assertEquals(expectedResponse.getContextsList().get(0), resources.get(0));
156 
157     List<AbstractMessage> actualRequests = mockContexts.getRequests();
158     Assert.assertEquals(1, actualRequests.size());
159     ListContextsRequest actualRequest = ((ListContextsRequest) actualRequests.get(0));
160 
161     Assert.assertEquals(parent, actualRequest.getParent());
162     Assert.assertTrue(
163         channelProvider.isHeaderSent(
164             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
165             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
166   }
167 
168   @Test
listContextsExceptionTest2()169   public void listContextsExceptionTest2() throws Exception {
170     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
171     mockContexts.addException(exception);
172 
173     try {
174       String parent = "parent-995424086";
175       client.listContexts(parent);
176       Assert.fail("No exception raised");
177     } catch (InvalidArgumentException e) {
178       // Expected exception.
179     }
180   }
181 
182   @Test
getContextTest()183   public void getContextTest() throws Exception {
184     Context expectedResponse =
185         Context.newBuilder()
186             .setName(
187                 ContextName.ofProjectSessionContextName("[PROJECT]", "[SESSION]", "[CONTEXT]")
188                     .toString())
189             .setLifespanCount(1178775510)
190             .setParameters(Struct.newBuilder().build())
191             .build();
192     mockContexts.addResponse(expectedResponse);
193 
194     ContextName name =
195         ContextName.ofProjectSessionContextName("[PROJECT]", "[SESSION]", "[CONTEXT]");
196 
197     Context actualResponse = client.getContext(name);
198     Assert.assertEquals(expectedResponse, actualResponse);
199 
200     List<AbstractMessage> actualRequests = mockContexts.getRequests();
201     Assert.assertEquals(1, actualRequests.size());
202     GetContextRequest actualRequest = ((GetContextRequest) actualRequests.get(0));
203 
204     Assert.assertEquals(name.toString(), actualRequest.getName());
205     Assert.assertTrue(
206         channelProvider.isHeaderSent(
207             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
208             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
209   }
210 
211   @Test
getContextExceptionTest()212   public void getContextExceptionTest() throws Exception {
213     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
214     mockContexts.addException(exception);
215 
216     try {
217       ContextName name =
218           ContextName.ofProjectSessionContextName("[PROJECT]", "[SESSION]", "[CONTEXT]");
219       client.getContext(name);
220       Assert.fail("No exception raised");
221     } catch (InvalidArgumentException e) {
222       // Expected exception.
223     }
224   }
225 
226   @Test
getContextTest2()227   public void getContextTest2() throws Exception {
228     Context expectedResponse =
229         Context.newBuilder()
230             .setName(
231                 ContextName.ofProjectSessionContextName("[PROJECT]", "[SESSION]", "[CONTEXT]")
232                     .toString())
233             .setLifespanCount(1178775510)
234             .setParameters(Struct.newBuilder().build())
235             .build();
236     mockContexts.addResponse(expectedResponse);
237 
238     String name = "name3373707";
239 
240     Context actualResponse = client.getContext(name);
241     Assert.assertEquals(expectedResponse, actualResponse);
242 
243     List<AbstractMessage> actualRequests = mockContexts.getRequests();
244     Assert.assertEquals(1, actualRequests.size());
245     GetContextRequest actualRequest = ((GetContextRequest) actualRequests.get(0));
246 
247     Assert.assertEquals(name, actualRequest.getName());
248     Assert.assertTrue(
249         channelProvider.isHeaderSent(
250             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
251             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
252   }
253 
254   @Test
getContextExceptionTest2()255   public void getContextExceptionTest2() throws Exception {
256     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
257     mockContexts.addException(exception);
258 
259     try {
260       String name = "name3373707";
261       client.getContext(name);
262       Assert.fail("No exception raised");
263     } catch (InvalidArgumentException e) {
264       // Expected exception.
265     }
266   }
267 
268   @Test
createContextTest()269   public void createContextTest() throws Exception {
270     Context expectedResponse =
271         Context.newBuilder()
272             .setName(
273                 ContextName.ofProjectSessionContextName("[PROJECT]", "[SESSION]", "[CONTEXT]")
274                     .toString())
275             .setLifespanCount(1178775510)
276             .setParameters(Struct.newBuilder().build())
277             .build();
278     mockContexts.addResponse(expectedResponse);
279 
280     SessionName parent = SessionName.ofProjectSessionName("[PROJECT]", "[SESSION]");
281     Context context = Context.newBuilder().build();
282 
283     Context actualResponse = client.createContext(parent, context);
284     Assert.assertEquals(expectedResponse, actualResponse);
285 
286     List<AbstractMessage> actualRequests = mockContexts.getRequests();
287     Assert.assertEquals(1, actualRequests.size());
288     CreateContextRequest actualRequest = ((CreateContextRequest) actualRequests.get(0));
289 
290     Assert.assertEquals(parent.toString(), actualRequest.getParent());
291     Assert.assertEquals(context, actualRequest.getContext());
292     Assert.assertTrue(
293         channelProvider.isHeaderSent(
294             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
295             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
296   }
297 
298   @Test
createContextExceptionTest()299   public void createContextExceptionTest() throws Exception {
300     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
301     mockContexts.addException(exception);
302 
303     try {
304       SessionName parent = SessionName.ofProjectSessionName("[PROJECT]", "[SESSION]");
305       Context context = Context.newBuilder().build();
306       client.createContext(parent, context);
307       Assert.fail("No exception raised");
308     } catch (InvalidArgumentException e) {
309       // Expected exception.
310     }
311   }
312 
313   @Test
createContextTest2()314   public void createContextTest2() throws Exception {
315     Context expectedResponse =
316         Context.newBuilder()
317             .setName(
318                 ContextName.ofProjectSessionContextName("[PROJECT]", "[SESSION]", "[CONTEXT]")
319                     .toString())
320             .setLifespanCount(1178775510)
321             .setParameters(Struct.newBuilder().build())
322             .build();
323     mockContexts.addResponse(expectedResponse);
324 
325     String parent = "parent-995424086";
326     Context context = Context.newBuilder().build();
327 
328     Context actualResponse = client.createContext(parent, context);
329     Assert.assertEquals(expectedResponse, actualResponse);
330 
331     List<AbstractMessage> actualRequests = mockContexts.getRequests();
332     Assert.assertEquals(1, actualRequests.size());
333     CreateContextRequest actualRequest = ((CreateContextRequest) actualRequests.get(0));
334 
335     Assert.assertEquals(parent, actualRequest.getParent());
336     Assert.assertEquals(context, actualRequest.getContext());
337     Assert.assertTrue(
338         channelProvider.isHeaderSent(
339             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
340             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
341   }
342 
343   @Test
createContextExceptionTest2()344   public void createContextExceptionTest2() throws Exception {
345     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
346     mockContexts.addException(exception);
347 
348     try {
349       String parent = "parent-995424086";
350       Context context = Context.newBuilder().build();
351       client.createContext(parent, context);
352       Assert.fail("No exception raised");
353     } catch (InvalidArgumentException e) {
354       // Expected exception.
355     }
356   }
357 
358   @Test
updateContextTest()359   public void updateContextTest() throws Exception {
360     Context expectedResponse =
361         Context.newBuilder()
362             .setName(
363                 ContextName.ofProjectSessionContextName("[PROJECT]", "[SESSION]", "[CONTEXT]")
364                     .toString())
365             .setLifespanCount(1178775510)
366             .setParameters(Struct.newBuilder().build())
367             .build();
368     mockContexts.addResponse(expectedResponse);
369 
370     Context context = Context.newBuilder().build();
371 
372     Context actualResponse = client.updateContext(context);
373     Assert.assertEquals(expectedResponse, actualResponse);
374 
375     List<AbstractMessage> actualRequests = mockContexts.getRequests();
376     Assert.assertEquals(1, actualRequests.size());
377     UpdateContextRequest actualRequest = ((UpdateContextRequest) actualRequests.get(0));
378 
379     Assert.assertEquals(context, actualRequest.getContext());
380     Assert.assertTrue(
381         channelProvider.isHeaderSent(
382             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
383             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
384   }
385 
386   @Test
updateContextExceptionTest()387   public void updateContextExceptionTest() throws Exception {
388     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
389     mockContexts.addException(exception);
390 
391     try {
392       Context context = Context.newBuilder().build();
393       client.updateContext(context);
394       Assert.fail("No exception raised");
395     } catch (InvalidArgumentException e) {
396       // Expected exception.
397     }
398   }
399 
400   @Test
updateContextTest2()401   public void updateContextTest2() throws Exception {
402     Context expectedResponse =
403         Context.newBuilder()
404             .setName(
405                 ContextName.ofProjectSessionContextName("[PROJECT]", "[SESSION]", "[CONTEXT]")
406                     .toString())
407             .setLifespanCount(1178775510)
408             .setParameters(Struct.newBuilder().build())
409             .build();
410     mockContexts.addResponse(expectedResponse);
411 
412     Context context = Context.newBuilder().build();
413     FieldMask updateMask = FieldMask.newBuilder().build();
414 
415     Context actualResponse = client.updateContext(context, updateMask);
416     Assert.assertEquals(expectedResponse, actualResponse);
417 
418     List<AbstractMessage> actualRequests = mockContexts.getRequests();
419     Assert.assertEquals(1, actualRequests.size());
420     UpdateContextRequest actualRequest = ((UpdateContextRequest) actualRequests.get(0));
421 
422     Assert.assertEquals(context, actualRequest.getContext());
423     Assert.assertEquals(updateMask, actualRequest.getUpdateMask());
424     Assert.assertTrue(
425         channelProvider.isHeaderSent(
426             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
427             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
428   }
429 
430   @Test
updateContextExceptionTest2()431   public void updateContextExceptionTest2() throws Exception {
432     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
433     mockContexts.addException(exception);
434 
435     try {
436       Context context = Context.newBuilder().build();
437       FieldMask updateMask = FieldMask.newBuilder().build();
438       client.updateContext(context, updateMask);
439       Assert.fail("No exception raised");
440     } catch (InvalidArgumentException e) {
441       // Expected exception.
442     }
443   }
444 
445   @Test
deleteContextTest()446   public void deleteContextTest() throws Exception {
447     Empty expectedResponse = Empty.newBuilder().build();
448     mockContexts.addResponse(expectedResponse);
449 
450     ContextName name =
451         ContextName.ofProjectSessionContextName("[PROJECT]", "[SESSION]", "[CONTEXT]");
452 
453     client.deleteContext(name);
454 
455     List<AbstractMessage> actualRequests = mockContexts.getRequests();
456     Assert.assertEquals(1, actualRequests.size());
457     DeleteContextRequest actualRequest = ((DeleteContextRequest) actualRequests.get(0));
458 
459     Assert.assertEquals(name.toString(), actualRequest.getName());
460     Assert.assertTrue(
461         channelProvider.isHeaderSent(
462             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
463             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
464   }
465 
466   @Test
deleteContextExceptionTest()467   public void deleteContextExceptionTest() throws Exception {
468     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
469     mockContexts.addException(exception);
470 
471     try {
472       ContextName name =
473           ContextName.ofProjectSessionContextName("[PROJECT]", "[SESSION]", "[CONTEXT]");
474       client.deleteContext(name);
475       Assert.fail("No exception raised");
476     } catch (InvalidArgumentException e) {
477       // Expected exception.
478     }
479   }
480 
481   @Test
deleteContextTest2()482   public void deleteContextTest2() throws Exception {
483     Empty expectedResponse = Empty.newBuilder().build();
484     mockContexts.addResponse(expectedResponse);
485 
486     String name = "name3373707";
487 
488     client.deleteContext(name);
489 
490     List<AbstractMessage> actualRequests = mockContexts.getRequests();
491     Assert.assertEquals(1, actualRequests.size());
492     DeleteContextRequest actualRequest = ((DeleteContextRequest) actualRequests.get(0));
493 
494     Assert.assertEquals(name, actualRequest.getName());
495     Assert.assertTrue(
496         channelProvider.isHeaderSent(
497             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
498             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
499   }
500 
501   @Test
deleteContextExceptionTest2()502   public void deleteContextExceptionTest2() throws Exception {
503     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
504     mockContexts.addException(exception);
505 
506     try {
507       String name = "name3373707";
508       client.deleteContext(name);
509       Assert.fail("No exception raised");
510     } catch (InvalidArgumentException e) {
511       // Expected exception.
512     }
513   }
514 
515   @Test
deleteAllContextsTest()516   public void deleteAllContextsTest() throws Exception {
517     Empty expectedResponse = Empty.newBuilder().build();
518     mockContexts.addResponse(expectedResponse);
519 
520     SessionName parent = SessionName.ofProjectSessionName("[PROJECT]", "[SESSION]");
521 
522     client.deleteAllContexts(parent);
523 
524     List<AbstractMessage> actualRequests = mockContexts.getRequests();
525     Assert.assertEquals(1, actualRequests.size());
526     DeleteAllContextsRequest actualRequest = ((DeleteAllContextsRequest) actualRequests.get(0));
527 
528     Assert.assertEquals(parent.toString(), actualRequest.getParent());
529     Assert.assertTrue(
530         channelProvider.isHeaderSent(
531             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
532             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
533   }
534 
535   @Test
deleteAllContextsExceptionTest()536   public void deleteAllContextsExceptionTest() throws Exception {
537     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
538     mockContexts.addException(exception);
539 
540     try {
541       SessionName parent = SessionName.ofProjectSessionName("[PROJECT]", "[SESSION]");
542       client.deleteAllContexts(parent);
543       Assert.fail("No exception raised");
544     } catch (InvalidArgumentException e) {
545       // Expected exception.
546     }
547   }
548 
549   @Test
deleteAllContextsTest2()550   public void deleteAllContextsTest2() throws Exception {
551     Empty expectedResponse = Empty.newBuilder().build();
552     mockContexts.addResponse(expectedResponse);
553 
554     String parent = "parent-995424086";
555 
556     client.deleteAllContexts(parent);
557 
558     List<AbstractMessage> actualRequests = mockContexts.getRequests();
559     Assert.assertEquals(1, actualRequests.size());
560     DeleteAllContextsRequest actualRequest = ((DeleteAllContextsRequest) actualRequests.get(0));
561 
562     Assert.assertEquals(parent, actualRequest.getParent());
563     Assert.assertTrue(
564         channelProvider.isHeaderSent(
565             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
566             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
567   }
568 
569   @Test
deleteAllContextsExceptionTest2()570   public void deleteAllContextsExceptionTest2() throws Exception {
571     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
572     mockContexts.addException(exception);
573 
574     try {
575       String parent = "parent-995424086";
576       client.deleteAllContexts(parent);
577       Assert.fail("No exception raised");
578     } catch (InvalidArgumentException e) {
579       // Expected exception.
580     }
581   }
582 
583   @Test
listLocationsTest()584   public void listLocationsTest() throws Exception {
585     Location responsesElement = Location.newBuilder().build();
586     ListLocationsResponse expectedResponse =
587         ListLocationsResponse.newBuilder()
588             .setNextPageToken("")
589             .addAllLocations(Arrays.asList(responsesElement))
590             .build();
591     mockLocations.addResponse(expectedResponse);
592 
593     ListLocationsRequest request =
594         ListLocationsRequest.newBuilder()
595             .setName("name3373707")
596             .setFilter("filter-1274492040")
597             .setPageSize(883849137)
598             .setPageToken("pageToken873572522")
599             .build();
600 
601     ListLocationsPagedResponse pagedListResponse = client.listLocations(request);
602 
603     List<Location> resources = Lists.newArrayList(pagedListResponse.iterateAll());
604 
605     Assert.assertEquals(1, resources.size());
606     Assert.assertEquals(expectedResponse.getLocationsList().get(0), resources.get(0));
607 
608     List<AbstractMessage> actualRequests = mockLocations.getRequests();
609     Assert.assertEquals(1, actualRequests.size());
610     ListLocationsRequest actualRequest = ((ListLocationsRequest) actualRequests.get(0));
611 
612     Assert.assertEquals(request.getName(), actualRequest.getName());
613     Assert.assertEquals(request.getFilter(), actualRequest.getFilter());
614     Assert.assertEquals(request.getPageSize(), actualRequest.getPageSize());
615     Assert.assertEquals(request.getPageToken(), actualRequest.getPageToken());
616     Assert.assertTrue(
617         channelProvider.isHeaderSent(
618             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
619             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
620   }
621 
622   @Test
listLocationsExceptionTest()623   public void listLocationsExceptionTest() throws Exception {
624     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
625     mockLocations.addException(exception);
626 
627     try {
628       ListLocationsRequest request =
629           ListLocationsRequest.newBuilder()
630               .setName("name3373707")
631               .setFilter("filter-1274492040")
632               .setPageSize(883849137)
633               .setPageToken("pageToken873572522")
634               .build();
635       client.listLocations(request);
636       Assert.fail("No exception raised");
637     } catch (InvalidArgumentException e) {
638       // Expected exception.
639     }
640   }
641 
642   @Test
getLocationTest()643   public void getLocationTest() throws Exception {
644     Location expectedResponse =
645         Location.newBuilder()
646             .setName("name3373707")
647             .setLocationId("locationId1541836720")
648             .setDisplayName("displayName1714148973")
649             .putAllLabels(new HashMap<String, String>())
650             .setMetadata(Any.newBuilder().build())
651             .build();
652     mockLocations.addResponse(expectedResponse);
653 
654     GetLocationRequest request = GetLocationRequest.newBuilder().setName("name3373707").build();
655 
656     Location actualResponse = client.getLocation(request);
657     Assert.assertEquals(expectedResponse, actualResponse);
658 
659     List<AbstractMessage> actualRequests = mockLocations.getRequests();
660     Assert.assertEquals(1, actualRequests.size());
661     GetLocationRequest actualRequest = ((GetLocationRequest) actualRequests.get(0));
662 
663     Assert.assertEquals(request.getName(), actualRequest.getName());
664     Assert.assertTrue(
665         channelProvider.isHeaderSent(
666             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
667             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
668   }
669 
670   @Test
getLocationExceptionTest()671   public void getLocationExceptionTest() throws Exception {
672     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
673     mockLocations.addException(exception);
674 
675     try {
676       GetLocationRequest request = GetLocationRequest.newBuilder().setName("name3373707").build();
677       client.getLocation(request);
678       Assert.fail("No exception raised");
679     } catch (InvalidArgumentException e) {
680       // Expected exception.
681     }
682   }
683 }
684