• 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.v2;
18 
19 import static com.google.cloud.dialogflow.v2.SessionEntityTypesClient.ListLocationsPagedResponse;
20 import static com.google.cloud.dialogflow.v2.SessionEntityTypesClient.ListSessionEntityTypesPagedResponse;
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 io.grpc.StatusRuntimeException;
39 import java.io.IOException;
40 import java.util.ArrayList;
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 SessionEntityTypesClientTest {
55   private static MockLocations mockLocations;
56   private static MockServiceHelper mockServiceHelper;
57   private static MockSessionEntityTypes mockSessionEntityTypes;
58   private LocalChannelProvider channelProvider;
59   private SessionEntityTypesClient client;
60 
61   @BeforeClass
startStaticServer()62   public static void startStaticServer() {
63     mockSessionEntityTypes = new MockSessionEntityTypes();
64     mockLocations = new MockLocations();
65     mockServiceHelper =
66         new MockServiceHelper(
67             UUID.randomUUID().toString(),
68             Arrays.<MockGrpcService>asList(mockSessionEntityTypes, 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     SessionEntityTypesSettings settings =
82         SessionEntityTypesSettings.newBuilder()
83             .setTransportChannelProvider(channelProvider)
84             .setCredentialsProvider(NoCredentialsProvider.create())
85             .build();
86     client = SessionEntityTypesClient.create(settings);
87   }
88 
89   @After
tearDown()90   public void tearDown() throws Exception {
91     client.close();
92   }
93 
94   @Test
listSessionEntityTypesTest()95   public void listSessionEntityTypesTest() throws Exception {
96     SessionEntityType responsesElement = SessionEntityType.newBuilder().build();
97     ListSessionEntityTypesResponse expectedResponse =
98         ListSessionEntityTypesResponse.newBuilder()
99             .setNextPageToken("")
100             .addAllSessionEntityTypes(Arrays.asList(responsesElement))
101             .build();
102     mockSessionEntityTypes.addResponse(expectedResponse);
103 
104     SessionName parent = SessionName.ofProjectSessionName("[PROJECT]", "[SESSION]");
105 
106     ListSessionEntityTypesPagedResponse pagedListResponse = client.listSessionEntityTypes(parent);
107 
108     List<SessionEntityType> resources = Lists.newArrayList(pagedListResponse.iterateAll());
109 
110     Assert.assertEquals(1, resources.size());
111     Assert.assertEquals(expectedResponse.getSessionEntityTypesList().get(0), resources.get(0));
112 
113     List<AbstractMessage> actualRequests = mockSessionEntityTypes.getRequests();
114     Assert.assertEquals(1, actualRequests.size());
115     ListSessionEntityTypesRequest actualRequest =
116         ((ListSessionEntityTypesRequest) 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
listSessionEntityTypesExceptionTest()126   public void listSessionEntityTypesExceptionTest() throws Exception {
127     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
128     mockSessionEntityTypes.addException(exception);
129 
130     try {
131       SessionName parent = SessionName.ofProjectSessionName("[PROJECT]", "[SESSION]");
132       client.listSessionEntityTypes(parent);
133       Assert.fail("No exception raised");
134     } catch (InvalidArgumentException e) {
135       // Expected exception.
136     }
137   }
138 
139   @Test
listSessionEntityTypesTest2()140   public void listSessionEntityTypesTest2() throws Exception {
141     SessionEntityType responsesElement = SessionEntityType.newBuilder().build();
142     ListSessionEntityTypesResponse expectedResponse =
143         ListSessionEntityTypesResponse.newBuilder()
144             .setNextPageToken("")
145             .addAllSessionEntityTypes(Arrays.asList(responsesElement))
146             .build();
147     mockSessionEntityTypes.addResponse(expectedResponse);
148 
149     String parent = "parent-995424086";
150 
151     ListSessionEntityTypesPagedResponse pagedListResponse = client.listSessionEntityTypes(parent);
152 
153     List<SessionEntityType> resources = Lists.newArrayList(pagedListResponse.iterateAll());
154 
155     Assert.assertEquals(1, resources.size());
156     Assert.assertEquals(expectedResponse.getSessionEntityTypesList().get(0), resources.get(0));
157 
158     List<AbstractMessage> actualRequests = mockSessionEntityTypes.getRequests();
159     Assert.assertEquals(1, actualRequests.size());
160     ListSessionEntityTypesRequest actualRequest =
161         ((ListSessionEntityTypesRequest) 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
listSessionEntityTypesExceptionTest2()171   public void listSessionEntityTypesExceptionTest2() throws Exception {
172     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
173     mockSessionEntityTypes.addException(exception);
174 
175     try {
176       String parent = "parent-995424086";
177       client.listSessionEntityTypes(parent);
178       Assert.fail("No exception raised");
179     } catch (InvalidArgumentException e) {
180       // Expected exception.
181     }
182   }
183 
184   @Test
getSessionEntityTypeTest()185   public void getSessionEntityTypeTest() throws Exception {
186     SessionEntityType expectedResponse =
187         SessionEntityType.newBuilder()
188             .setName(
189                 SessionEntityTypeName.ofProjectSessionEntityTypeName(
190                         "[PROJECT]", "[SESSION]", "[ENTITY_TYPE]")
191                     .toString())
192             .addAllEntities(new ArrayList<EntityType.Entity>())
193             .build();
194     mockSessionEntityTypes.addResponse(expectedResponse);
195 
196     SessionEntityTypeName name =
197         SessionEntityTypeName.ofProjectSessionEntityTypeName(
198             "[PROJECT]", "[SESSION]", "[ENTITY_TYPE]");
199 
200     SessionEntityType actualResponse = client.getSessionEntityType(name);
201     Assert.assertEquals(expectedResponse, actualResponse);
202 
203     List<AbstractMessage> actualRequests = mockSessionEntityTypes.getRequests();
204     Assert.assertEquals(1, actualRequests.size());
205     GetSessionEntityTypeRequest actualRequest =
206         ((GetSessionEntityTypeRequest) actualRequests.get(0));
207 
208     Assert.assertEquals(name.toString(), actualRequest.getName());
209     Assert.assertTrue(
210         channelProvider.isHeaderSent(
211             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
212             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
213   }
214 
215   @Test
getSessionEntityTypeExceptionTest()216   public void getSessionEntityTypeExceptionTest() throws Exception {
217     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
218     mockSessionEntityTypes.addException(exception);
219 
220     try {
221       SessionEntityTypeName name =
222           SessionEntityTypeName.ofProjectSessionEntityTypeName(
223               "[PROJECT]", "[SESSION]", "[ENTITY_TYPE]");
224       client.getSessionEntityType(name);
225       Assert.fail("No exception raised");
226     } catch (InvalidArgumentException e) {
227       // Expected exception.
228     }
229   }
230 
231   @Test
getSessionEntityTypeTest2()232   public void getSessionEntityTypeTest2() throws Exception {
233     SessionEntityType expectedResponse =
234         SessionEntityType.newBuilder()
235             .setName(
236                 SessionEntityTypeName.ofProjectSessionEntityTypeName(
237                         "[PROJECT]", "[SESSION]", "[ENTITY_TYPE]")
238                     .toString())
239             .addAllEntities(new ArrayList<EntityType.Entity>())
240             .build();
241     mockSessionEntityTypes.addResponse(expectedResponse);
242 
243     String name = "name3373707";
244 
245     SessionEntityType actualResponse = client.getSessionEntityType(name);
246     Assert.assertEquals(expectedResponse, actualResponse);
247 
248     List<AbstractMessage> actualRequests = mockSessionEntityTypes.getRequests();
249     Assert.assertEquals(1, actualRequests.size());
250     GetSessionEntityTypeRequest actualRequest =
251         ((GetSessionEntityTypeRequest) actualRequests.get(0));
252 
253     Assert.assertEquals(name, actualRequest.getName());
254     Assert.assertTrue(
255         channelProvider.isHeaderSent(
256             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
257             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
258   }
259 
260   @Test
getSessionEntityTypeExceptionTest2()261   public void getSessionEntityTypeExceptionTest2() throws Exception {
262     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
263     mockSessionEntityTypes.addException(exception);
264 
265     try {
266       String name = "name3373707";
267       client.getSessionEntityType(name);
268       Assert.fail("No exception raised");
269     } catch (InvalidArgumentException e) {
270       // Expected exception.
271     }
272   }
273 
274   @Test
createSessionEntityTypeTest()275   public void createSessionEntityTypeTest() throws Exception {
276     SessionEntityType expectedResponse =
277         SessionEntityType.newBuilder()
278             .setName(
279                 SessionEntityTypeName.ofProjectSessionEntityTypeName(
280                         "[PROJECT]", "[SESSION]", "[ENTITY_TYPE]")
281                     .toString())
282             .addAllEntities(new ArrayList<EntityType.Entity>())
283             .build();
284     mockSessionEntityTypes.addResponse(expectedResponse);
285 
286     SessionName parent = SessionName.ofProjectSessionName("[PROJECT]", "[SESSION]");
287     SessionEntityType sessionEntityType = SessionEntityType.newBuilder().build();
288 
289     SessionEntityType actualResponse = client.createSessionEntityType(parent, sessionEntityType);
290     Assert.assertEquals(expectedResponse, actualResponse);
291 
292     List<AbstractMessage> actualRequests = mockSessionEntityTypes.getRequests();
293     Assert.assertEquals(1, actualRequests.size());
294     CreateSessionEntityTypeRequest actualRequest =
295         ((CreateSessionEntityTypeRequest) actualRequests.get(0));
296 
297     Assert.assertEquals(parent.toString(), actualRequest.getParent());
298     Assert.assertEquals(sessionEntityType, actualRequest.getSessionEntityType());
299     Assert.assertTrue(
300         channelProvider.isHeaderSent(
301             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
302             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
303   }
304 
305   @Test
createSessionEntityTypeExceptionTest()306   public void createSessionEntityTypeExceptionTest() throws Exception {
307     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
308     mockSessionEntityTypes.addException(exception);
309 
310     try {
311       SessionName parent = SessionName.ofProjectSessionName("[PROJECT]", "[SESSION]");
312       SessionEntityType sessionEntityType = SessionEntityType.newBuilder().build();
313       client.createSessionEntityType(parent, sessionEntityType);
314       Assert.fail("No exception raised");
315     } catch (InvalidArgumentException e) {
316       // Expected exception.
317     }
318   }
319 
320   @Test
createSessionEntityTypeTest2()321   public void createSessionEntityTypeTest2() throws Exception {
322     SessionEntityType expectedResponse =
323         SessionEntityType.newBuilder()
324             .setName(
325                 SessionEntityTypeName.ofProjectSessionEntityTypeName(
326                         "[PROJECT]", "[SESSION]", "[ENTITY_TYPE]")
327                     .toString())
328             .addAllEntities(new ArrayList<EntityType.Entity>())
329             .build();
330     mockSessionEntityTypes.addResponse(expectedResponse);
331 
332     String parent = "parent-995424086";
333     SessionEntityType sessionEntityType = SessionEntityType.newBuilder().build();
334 
335     SessionEntityType actualResponse = client.createSessionEntityType(parent, sessionEntityType);
336     Assert.assertEquals(expectedResponse, actualResponse);
337 
338     List<AbstractMessage> actualRequests = mockSessionEntityTypes.getRequests();
339     Assert.assertEquals(1, actualRequests.size());
340     CreateSessionEntityTypeRequest actualRequest =
341         ((CreateSessionEntityTypeRequest) actualRequests.get(0));
342 
343     Assert.assertEquals(parent, actualRequest.getParent());
344     Assert.assertEquals(sessionEntityType, actualRequest.getSessionEntityType());
345     Assert.assertTrue(
346         channelProvider.isHeaderSent(
347             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
348             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
349   }
350 
351   @Test
createSessionEntityTypeExceptionTest2()352   public void createSessionEntityTypeExceptionTest2() throws Exception {
353     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
354     mockSessionEntityTypes.addException(exception);
355 
356     try {
357       String parent = "parent-995424086";
358       SessionEntityType sessionEntityType = SessionEntityType.newBuilder().build();
359       client.createSessionEntityType(parent, sessionEntityType);
360       Assert.fail("No exception raised");
361     } catch (InvalidArgumentException e) {
362       // Expected exception.
363     }
364   }
365 
366   @Test
updateSessionEntityTypeTest()367   public void updateSessionEntityTypeTest() throws Exception {
368     SessionEntityType expectedResponse =
369         SessionEntityType.newBuilder()
370             .setName(
371                 SessionEntityTypeName.ofProjectSessionEntityTypeName(
372                         "[PROJECT]", "[SESSION]", "[ENTITY_TYPE]")
373                     .toString())
374             .addAllEntities(new ArrayList<EntityType.Entity>())
375             .build();
376     mockSessionEntityTypes.addResponse(expectedResponse);
377 
378     SessionEntityType sessionEntityType = SessionEntityType.newBuilder().build();
379 
380     SessionEntityType actualResponse = client.updateSessionEntityType(sessionEntityType);
381     Assert.assertEquals(expectedResponse, actualResponse);
382 
383     List<AbstractMessage> actualRequests = mockSessionEntityTypes.getRequests();
384     Assert.assertEquals(1, actualRequests.size());
385     UpdateSessionEntityTypeRequest actualRequest =
386         ((UpdateSessionEntityTypeRequest) actualRequests.get(0));
387 
388     Assert.assertEquals(sessionEntityType, actualRequest.getSessionEntityType());
389     Assert.assertTrue(
390         channelProvider.isHeaderSent(
391             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
392             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
393   }
394 
395   @Test
updateSessionEntityTypeExceptionTest()396   public void updateSessionEntityTypeExceptionTest() throws Exception {
397     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
398     mockSessionEntityTypes.addException(exception);
399 
400     try {
401       SessionEntityType sessionEntityType = SessionEntityType.newBuilder().build();
402       client.updateSessionEntityType(sessionEntityType);
403       Assert.fail("No exception raised");
404     } catch (InvalidArgumentException e) {
405       // Expected exception.
406     }
407   }
408 
409   @Test
updateSessionEntityTypeTest2()410   public void updateSessionEntityTypeTest2() throws Exception {
411     SessionEntityType expectedResponse =
412         SessionEntityType.newBuilder()
413             .setName(
414                 SessionEntityTypeName.ofProjectSessionEntityTypeName(
415                         "[PROJECT]", "[SESSION]", "[ENTITY_TYPE]")
416                     .toString())
417             .addAllEntities(new ArrayList<EntityType.Entity>())
418             .build();
419     mockSessionEntityTypes.addResponse(expectedResponse);
420 
421     SessionEntityType sessionEntityType = SessionEntityType.newBuilder().build();
422     FieldMask updateMask = FieldMask.newBuilder().build();
423 
424     SessionEntityType actualResponse =
425         client.updateSessionEntityType(sessionEntityType, updateMask);
426     Assert.assertEquals(expectedResponse, actualResponse);
427 
428     List<AbstractMessage> actualRequests = mockSessionEntityTypes.getRequests();
429     Assert.assertEquals(1, actualRequests.size());
430     UpdateSessionEntityTypeRequest actualRequest =
431         ((UpdateSessionEntityTypeRequest) actualRequests.get(0));
432 
433     Assert.assertEquals(sessionEntityType, actualRequest.getSessionEntityType());
434     Assert.assertEquals(updateMask, actualRequest.getUpdateMask());
435     Assert.assertTrue(
436         channelProvider.isHeaderSent(
437             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
438             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
439   }
440 
441   @Test
updateSessionEntityTypeExceptionTest2()442   public void updateSessionEntityTypeExceptionTest2() throws Exception {
443     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
444     mockSessionEntityTypes.addException(exception);
445 
446     try {
447       SessionEntityType sessionEntityType = SessionEntityType.newBuilder().build();
448       FieldMask updateMask = FieldMask.newBuilder().build();
449       client.updateSessionEntityType(sessionEntityType, updateMask);
450       Assert.fail("No exception raised");
451     } catch (InvalidArgumentException e) {
452       // Expected exception.
453     }
454   }
455 
456   @Test
deleteSessionEntityTypeTest()457   public void deleteSessionEntityTypeTest() throws Exception {
458     Empty expectedResponse = Empty.newBuilder().build();
459     mockSessionEntityTypes.addResponse(expectedResponse);
460 
461     SessionEntityTypeName name =
462         SessionEntityTypeName.ofProjectSessionEntityTypeName(
463             "[PROJECT]", "[SESSION]", "[ENTITY_TYPE]");
464 
465     client.deleteSessionEntityType(name);
466 
467     List<AbstractMessage> actualRequests = mockSessionEntityTypes.getRequests();
468     Assert.assertEquals(1, actualRequests.size());
469     DeleteSessionEntityTypeRequest actualRequest =
470         ((DeleteSessionEntityTypeRequest) actualRequests.get(0));
471 
472     Assert.assertEquals(name.toString(), actualRequest.getName());
473     Assert.assertTrue(
474         channelProvider.isHeaderSent(
475             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
476             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
477   }
478 
479   @Test
deleteSessionEntityTypeExceptionTest()480   public void deleteSessionEntityTypeExceptionTest() throws Exception {
481     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
482     mockSessionEntityTypes.addException(exception);
483 
484     try {
485       SessionEntityTypeName name =
486           SessionEntityTypeName.ofProjectSessionEntityTypeName(
487               "[PROJECT]", "[SESSION]", "[ENTITY_TYPE]");
488       client.deleteSessionEntityType(name);
489       Assert.fail("No exception raised");
490     } catch (InvalidArgumentException e) {
491       // Expected exception.
492     }
493   }
494 
495   @Test
deleteSessionEntityTypeTest2()496   public void deleteSessionEntityTypeTest2() throws Exception {
497     Empty expectedResponse = Empty.newBuilder().build();
498     mockSessionEntityTypes.addResponse(expectedResponse);
499 
500     String name = "name3373707";
501 
502     client.deleteSessionEntityType(name);
503 
504     List<AbstractMessage> actualRequests = mockSessionEntityTypes.getRequests();
505     Assert.assertEquals(1, actualRequests.size());
506     DeleteSessionEntityTypeRequest actualRequest =
507         ((DeleteSessionEntityTypeRequest) actualRequests.get(0));
508 
509     Assert.assertEquals(name, actualRequest.getName());
510     Assert.assertTrue(
511         channelProvider.isHeaderSent(
512             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
513             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
514   }
515 
516   @Test
deleteSessionEntityTypeExceptionTest2()517   public void deleteSessionEntityTypeExceptionTest2() throws Exception {
518     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
519     mockSessionEntityTypes.addException(exception);
520 
521     try {
522       String name = "name3373707";
523       client.deleteSessionEntityType(name);
524       Assert.fail("No exception raised");
525     } catch (InvalidArgumentException e) {
526       // Expected exception.
527     }
528   }
529 
530   @Test
listLocationsTest()531   public void listLocationsTest() throws Exception {
532     Location responsesElement = Location.newBuilder().build();
533     ListLocationsResponse expectedResponse =
534         ListLocationsResponse.newBuilder()
535             .setNextPageToken("")
536             .addAllLocations(Arrays.asList(responsesElement))
537             .build();
538     mockLocations.addResponse(expectedResponse);
539 
540     ListLocationsRequest request =
541         ListLocationsRequest.newBuilder()
542             .setName("name3373707")
543             .setFilter("filter-1274492040")
544             .setPageSize(883849137)
545             .setPageToken("pageToken873572522")
546             .build();
547 
548     ListLocationsPagedResponse pagedListResponse = client.listLocations(request);
549 
550     List<Location> resources = Lists.newArrayList(pagedListResponse.iterateAll());
551 
552     Assert.assertEquals(1, resources.size());
553     Assert.assertEquals(expectedResponse.getLocationsList().get(0), resources.get(0));
554 
555     List<AbstractMessage> actualRequests = mockLocations.getRequests();
556     Assert.assertEquals(1, actualRequests.size());
557     ListLocationsRequest actualRequest = ((ListLocationsRequest) actualRequests.get(0));
558 
559     Assert.assertEquals(request.getName(), actualRequest.getName());
560     Assert.assertEquals(request.getFilter(), actualRequest.getFilter());
561     Assert.assertEquals(request.getPageSize(), actualRequest.getPageSize());
562     Assert.assertEquals(request.getPageToken(), actualRequest.getPageToken());
563     Assert.assertTrue(
564         channelProvider.isHeaderSent(
565             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
566             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
567   }
568 
569   @Test
listLocationsExceptionTest()570   public void listLocationsExceptionTest() throws Exception {
571     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
572     mockLocations.addException(exception);
573 
574     try {
575       ListLocationsRequest request =
576           ListLocationsRequest.newBuilder()
577               .setName("name3373707")
578               .setFilter("filter-1274492040")
579               .setPageSize(883849137)
580               .setPageToken("pageToken873572522")
581               .build();
582       client.listLocations(request);
583       Assert.fail("No exception raised");
584     } catch (InvalidArgumentException e) {
585       // Expected exception.
586     }
587   }
588 
589   @Test
getLocationTest()590   public void getLocationTest() throws Exception {
591     Location expectedResponse =
592         Location.newBuilder()
593             .setName("name3373707")
594             .setLocationId("locationId1541836720")
595             .setDisplayName("displayName1714148973")
596             .putAllLabels(new HashMap<String, String>())
597             .setMetadata(Any.newBuilder().build())
598             .build();
599     mockLocations.addResponse(expectedResponse);
600 
601     GetLocationRequest request = GetLocationRequest.newBuilder().setName("name3373707").build();
602 
603     Location actualResponse = client.getLocation(request);
604     Assert.assertEquals(expectedResponse, actualResponse);
605 
606     List<AbstractMessage> actualRequests = mockLocations.getRequests();
607     Assert.assertEquals(1, actualRequests.size());
608     GetLocationRequest actualRequest = ((GetLocationRequest) actualRequests.get(0));
609 
610     Assert.assertEquals(request.getName(), actualRequest.getName());
611     Assert.assertTrue(
612         channelProvider.isHeaderSent(
613             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
614             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
615   }
616 
617   @Test
getLocationExceptionTest()618   public void getLocationExceptionTest() throws Exception {
619     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
620     mockLocations.addException(exception);
621 
622     try {
623       GetLocationRequest request = GetLocationRequest.newBuilder().setName("name3373707").build();
624       client.getLocation(request);
625       Assert.fail("No exception raised");
626     } catch (InvalidArgumentException e) {
627       // Expected exception.
628     }
629   }
630 }
631