• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright 2022 Google LLC
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      https://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 package com.google.cloud.dialogflow.cx.v3;
18 
19 import static com.google.cloud.dialogflow.cx.v3.SessionEntityTypesClient.ListLocationsPagedResponse;
20 import static com.google.cloud.dialogflow.cx.v3.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 =
105         SessionName.ofProjectLocationAgentSessionName(
106             "[PROJECT]", "[LOCATION]", "[AGENT]", "[SESSION]");
107 
108     ListSessionEntityTypesPagedResponse pagedListResponse = client.listSessionEntityTypes(parent);
109 
110     List<SessionEntityType> resources = Lists.newArrayList(pagedListResponse.iterateAll());
111 
112     Assert.assertEquals(1, resources.size());
113     Assert.assertEquals(expectedResponse.getSessionEntityTypesList().get(0), resources.get(0));
114 
115     List<AbstractMessage> actualRequests = mockSessionEntityTypes.getRequests();
116     Assert.assertEquals(1, actualRequests.size());
117     ListSessionEntityTypesRequest actualRequest =
118         ((ListSessionEntityTypesRequest) actualRequests.get(0));
119 
120     Assert.assertEquals(parent.toString(), actualRequest.getParent());
121     Assert.assertTrue(
122         channelProvider.isHeaderSent(
123             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
124             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
125   }
126 
127   @Test
listSessionEntityTypesExceptionTest()128   public void listSessionEntityTypesExceptionTest() throws Exception {
129     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
130     mockSessionEntityTypes.addException(exception);
131 
132     try {
133       SessionName parent =
134           SessionName.ofProjectLocationAgentSessionName(
135               "[PROJECT]", "[LOCATION]", "[AGENT]", "[SESSION]");
136       client.listSessionEntityTypes(parent);
137       Assert.fail("No exception raised");
138     } catch (InvalidArgumentException e) {
139       // Expected exception.
140     }
141   }
142 
143   @Test
listSessionEntityTypesTest2()144   public void listSessionEntityTypesTest2() throws Exception {
145     SessionEntityType responsesElement = SessionEntityType.newBuilder().build();
146     ListSessionEntityTypesResponse expectedResponse =
147         ListSessionEntityTypesResponse.newBuilder()
148             .setNextPageToken("")
149             .addAllSessionEntityTypes(Arrays.asList(responsesElement))
150             .build();
151     mockSessionEntityTypes.addResponse(expectedResponse);
152 
153     String parent = "parent-995424086";
154 
155     ListSessionEntityTypesPagedResponse pagedListResponse = client.listSessionEntityTypes(parent);
156 
157     List<SessionEntityType> resources = Lists.newArrayList(pagedListResponse.iterateAll());
158 
159     Assert.assertEquals(1, resources.size());
160     Assert.assertEquals(expectedResponse.getSessionEntityTypesList().get(0), resources.get(0));
161 
162     List<AbstractMessage> actualRequests = mockSessionEntityTypes.getRequests();
163     Assert.assertEquals(1, actualRequests.size());
164     ListSessionEntityTypesRequest actualRequest =
165         ((ListSessionEntityTypesRequest) actualRequests.get(0));
166 
167     Assert.assertEquals(parent, actualRequest.getParent());
168     Assert.assertTrue(
169         channelProvider.isHeaderSent(
170             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
171             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
172   }
173 
174   @Test
listSessionEntityTypesExceptionTest2()175   public void listSessionEntityTypesExceptionTest2() throws Exception {
176     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
177     mockSessionEntityTypes.addException(exception);
178 
179     try {
180       String parent = "parent-995424086";
181       client.listSessionEntityTypes(parent);
182       Assert.fail("No exception raised");
183     } catch (InvalidArgumentException e) {
184       // Expected exception.
185     }
186   }
187 
188   @Test
getSessionEntityTypeTest()189   public void getSessionEntityTypeTest() throws Exception {
190     SessionEntityType expectedResponse =
191         SessionEntityType.newBuilder()
192             .setName(
193                 SessionEntityTypeName.ofProjectLocationAgentSessionEntityTypeName(
194                         "[PROJECT]", "[LOCATION]", "[AGENT]", "[SESSION]", "[ENTITY_TYPE]")
195                     .toString())
196             .addAllEntities(new ArrayList<EntityType.Entity>())
197             .build();
198     mockSessionEntityTypes.addResponse(expectedResponse);
199 
200     SessionEntityTypeName name =
201         SessionEntityTypeName.ofProjectLocationAgentSessionEntityTypeName(
202             "[PROJECT]", "[LOCATION]", "[AGENT]", "[SESSION]", "[ENTITY_TYPE]");
203 
204     SessionEntityType actualResponse = client.getSessionEntityType(name);
205     Assert.assertEquals(expectedResponse, actualResponse);
206 
207     List<AbstractMessage> actualRequests = mockSessionEntityTypes.getRequests();
208     Assert.assertEquals(1, actualRequests.size());
209     GetSessionEntityTypeRequest actualRequest =
210         ((GetSessionEntityTypeRequest) actualRequests.get(0));
211 
212     Assert.assertEquals(name.toString(), actualRequest.getName());
213     Assert.assertTrue(
214         channelProvider.isHeaderSent(
215             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
216             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
217   }
218 
219   @Test
getSessionEntityTypeExceptionTest()220   public void getSessionEntityTypeExceptionTest() throws Exception {
221     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
222     mockSessionEntityTypes.addException(exception);
223 
224     try {
225       SessionEntityTypeName name =
226           SessionEntityTypeName.ofProjectLocationAgentSessionEntityTypeName(
227               "[PROJECT]", "[LOCATION]", "[AGENT]", "[SESSION]", "[ENTITY_TYPE]");
228       client.getSessionEntityType(name);
229       Assert.fail("No exception raised");
230     } catch (InvalidArgumentException e) {
231       // Expected exception.
232     }
233   }
234 
235   @Test
getSessionEntityTypeTest2()236   public void getSessionEntityTypeTest2() throws Exception {
237     SessionEntityType expectedResponse =
238         SessionEntityType.newBuilder()
239             .setName(
240                 SessionEntityTypeName.ofProjectLocationAgentSessionEntityTypeName(
241                         "[PROJECT]", "[LOCATION]", "[AGENT]", "[SESSION]", "[ENTITY_TYPE]")
242                     .toString())
243             .addAllEntities(new ArrayList<EntityType.Entity>())
244             .build();
245     mockSessionEntityTypes.addResponse(expectedResponse);
246 
247     String name = "name3373707";
248 
249     SessionEntityType actualResponse = client.getSessionEntityType(name);
250     Assert.assertEquals(expectedResponse, actualResponse);
251 
252     List<AbstractMessage> actualRequests = mockSessionEntityTypes.getRequests();
253     Assert.assertEquals(1, actualRequests.size());
254     GetSessionEntityTypeRequest actualRequest =
255         ((GetSessionEntityTypeRequest) actualRequests.get(0));
256 
257     Assert.assertEquals(name, actualRequest.getName());
258     Assert.assertTrue(
259         channelProvider.isHeaderSent(
260             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
261             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
262   }
263 
264   @Test
getSessionEntityTypeExceptionTest2()265   public void getSessionEntityTypeExceptionTest2() throws Exception {
266     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
267     mockSessionEntityTypes.addException(exception);
268 
269     try {
270       String name = "name3373707";
271       client.getSessionEntityType(name);
272       Assert.fail("No exception raised");
273     } catch (InvalidArgumentException e) {
274       // Expected exception.
275     }
276   }
277 
278   @Test
createSessionEntityTypeTest()279   public void createSessionEntityTypeTest() throws Exception {
280     SessionEntityType expectedResponse =
281         SessionEntityType.newBuilder()
282             .setName(
283                 SessionEntityTypeName.ofProjectLocationAgentSessionEntityTypeName(
284                         "[PROJECT]", "[LOCATION]", "[AGENT]", "[SESSION]", "[ENTITY_TYPE]")
285                     .toString())
286             .addAllEntities(new ArrayList<EntityType.Entity>())
287             .build();
288     mockSessionEntityTypes.addResponse(expectedResponse);
289 
290     SessionName parent =
291         SessionName.ofProjectLocationAgentSessionName(
292             "[PROJECT]", "[LOCATION]", "[AGENT]", "[SESSION]");
293     SessionEntityType sessionEntityType = SessionEntityType.newBuilder().build();
294 
295     SessionEntityType actualResponse = client.createSessionEntityType(parent, sessionEntityType);
296     Assert.assertEquals(expectedResponse, actualResponse);
297 
298     List<AbstractMessage> actualRequests = mockSessionEntityTypes.getRequests();
299     Assert.assertEquals(1, actualRequests.size());
300     CreateSessionEntityTypeRequest actualRequest =
301         ((CreateSessionEntityTypeRequest) actualRequests.get(0));
302 
303     Assert.assertEquals(parent.toString(), actualRequest.getParent());
304     Assert.assertEquals(sessionEntityType, actualRequest.getSessionEntityType());
305     Assert.assertTrue(
306         channelProvider.isHeaderSent(
307             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
308             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
309   }
310 
311   @Test
createSessionEntityTypeExceptionTest()312   public void createSessionEntityTypeExceptionTest() throws Exception {
313     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
314     mockSessionEntityTypes.addException(exception);
315 
316     try {
317       SessionName parent =
318           SessionName.ofProjectLocationAgentSessionName(
319               "[PROJECT]", "[LOCATION]", "[AGENT]", "[SESSION]");
320       SessionEntityType sessionEntityType = SessionEntityType.newBuilder().build();
321       client.createSessionEntityType(parent, sessionEntityType);
322       Assert.fail("No exception raised");
323     } catch (InvalidArgumentException e) {
324       // Expected exception.
325     }
326   }
327 
328   @Test
createSessionEntityTypeTest2()329   public void createSessionEntityTypeTest2() throws Exception {
330     SessionEntityType expectedResponse =
331         SessionEntityType.newBuilder()
332             .setName(
333                 SessionEntityTypeName.ofProjectLocationAgentSessionEntityTypeName(
334                         "[PROJECT]", "[LOCATION]", "[AGENT]", "[SESSION]", "[ENTITY_TYPE]")
335                     .toString())
336             .addAllEntities(new ArrayList<EntityType.Entity>())
337             .build();
338     mockSessionEntityTypes.addResponse(expectedResponse);
339 
340     String parent = "parent-995424086";
341     SessionEntityType sessionEntityType = SessionEntityType.newBuilder().build();
342 
343     SessionEntityType actualResponse = client.createSessionEntityType(parent, sessionEntityType);
344     Assert.assertEquals(expectedResponse, actualResponse);
345 
346     List<AbstractMessage> actualRequests = mockSessionEntityTypes.getRequests();
347     Assert.assertEquals(1, actualRequests.size());
348     CreateSessionEntityTypeRequest actualRequest =
349         ((CreateSessionEntityTypeRequest) actualRequests.get(0));
350 
351     Assert.assertEquals(parent, actualRequest.getParent());
352     Assert.assertEquals(sessionEntityType, actualRequest.getSessionEntityType());
353     Assert.assertTrue(
354         channelProvider.isHeaderSent(
355             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
356             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
357   }
358 
359   @Test
createSessionEntityTypeExceptionTest2()360   public void createSessionEntityTypeExceptionTest2() throws Exception {
361     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
362     mockSessionEntityTypes.addException(exception);
363 
364     try {
365       String parent = "parent-995424086";
366       SessionEntityType sessionEntityType = SessionEntityType.newBuilder().build();
367       client.createSessionEntityType(parent, sessionEntityType);
368       Assert.fail("No exception raised");
369     } catch (InvalidArgumentException e) {
370       // Expected exception.
371     }
372   }
373 
374   @Test
updateSessionEntityTypeTest()375   public void updateSessionEntityTypeTest() throws Exception {
376     SessionEntityType expectedResponse =
377         SessionEntityType.newBuilder()
378             .setName(
379                 SessionEntityTypeName.ofProjectLocationAgentSessionEntityTypeName(
380                         "[PROJECT]", "[LOCATION]", "[AGENT]", "[SESSION]", "[ENTITY_TYPE]")
381                     .toString())
382             .addAllEntities(new ArrayList<EntityType.Entity>())
383             .build();
384     mockSessionEntityTypes.addResponse(expectedResponse);
385 
386     SessionEntityType sessionEntityType = SessionEntityType.newBuilder().build();
387     FieldMask updateMask = FieldMask.newBuilder().build();
388 
389     SessionEntityType actualResponse =
390         client.updateSessionEntityType(sessionEntityType, updateMask);
391     Assert.assertEquals(expectedResponse, actualResponse);
392 
393     List<AbstractMessage> actualRequests = mockSessionEntityTypes.getRequests();
394     Assert.assertEquals(1, actualRequests.size());
395     UpdateSessionEntityTypeRequest actualRequest =
396         ((UpdateSessionEntityTypeRequest) actualRequests.get(0));
397 
398     Assert.assertEquals(sessionEntityType, actualRequest.getSessionEntityType());
399     Assert.assertEquals(updateMask, actualRequest.getUpdateMask());
400     Assert.assertTrue(
401         channelProvider.isHeaderSent(
402             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
403             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
404   }
405 
406   @Test
updateSessionEntityTypeExceptionTest()407   public void updateSessionEntityTypeExceptionTest() throws Exception {
408     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
409     mockSessionEntityTypes.addException(exception);
410 
411     try {
412       SessionEntityType sessionEntityType = SessionEntityType.newBuilder().build();
413       FieldMask updateMask = FieldMask.newBuilder().build();
414       client.updateSessionEntityType(sessionEntityType, updateMask);
415       Assert.fail("No exception raised");
416     } catch (InvalidArgumentException e) {
417       // Expected exception.
418     }
419   }
420 
421   @Test
deleteSessionEntityTypeTest()422   public void deleteSessionEntityTypeTest() throws Exception {
423     Empty expectedResponse = Empty.newBuilder().build();
424     mockSessionEntityTypes.addResponse(expectedResponse);
425 
426     SessionEntityTypeName name =
427         SessionEntityTypeName.ofProjectLocationAgentSessionEntityTypeName(
428             "[PROJECT]", "[LOCATION]", "[AGENT]", "[SESSION]", "[ENTITY_TYPE]");
429 
430     client.deleteSessionEntityType(name);
431 
432     List<AbstractMessage> actualRequests = mockSessionEntityTypes.getRequests();
433     Assert.assertEquals(1, actualRequests.size());
434     DeleteSessionEntityTypeRequest actualRequest =
435         ((DeleteSessionEntityTypeRequest) actualRequests.get(0));
436 
437     Assert.assertEquals(name.toString(), actualRequest.getName());
438     Assert.assertTrue(
439         channelProvider.isHeaderSent(
440             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
441             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
442   }
443 
444   @Test
deleteSessionEntityTypeExceptionTest()445   public void deleteSessionEntityTypeExceptionTest() throws Exception {
446     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
447     mockSessionEntityTypes.addException(exception);
448 
449     try {
450       SessionEntityTypeName name =
451           SessionEntityTypeName.ofProjectLocationAgentSessionEntityTypeName(
452               "[PROJECT]", "[LOCATION]", "[AGENT]", "[SESSION]", "[ENTITY_TYPE]");
453       client.deleteSessionEntityType(name);
454       Assert.fail("No exception raised");
455     } catch (InvalidArgumentException e) {
456       // Expected exception.
457     }
458   }
459 
460   @Test
deleteSessionEntityTypeTest2()461   public void deleteSessionEntityTypeTest2() throws Exception {
462     Empty expectedResponse = Empty.newBuilder().build();
463     mockSessionEntityTypes.addResponse(expectedResponse);
464 
465     String name = "name3373707";
466 
467     client.deleteSessionEntityType(name);
468 
469     List<AbstractMessage> actualRequests = mockSessionEntityTypes.getRequests();
470     Assert.assertEquals(1, actualRequests.size());
471     DeleteSessionEntityTypeRequest actualRequest =
472         ((DeleteSessionEntityTypeRequest) actualRequests.get(0));
473 
474     Assert.assertEquals(name, actualRequest.getName());
475     Assert.assertTrue(
476         channelProvider.isHeaderSent(
477             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
478             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
479   }
480 
481   @Test
deleteSessionEntityTypeExceptionTest2()482   public void deleteSessionEntityTypeExceptionTest2() throws Exception {
483     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
484     mockSessionEntityTypes.addException(exception);
485 
486     try {
487       String name = "name3373707";
488       client.deleteSessionEntityType(name);
489       Assert.fail("No exception raised");
490     } catch (InvalidArgumentException e) {
491       // Expected exception.
492     }
493   }
494 
495   @Test
listLocationsTest()496   public void listLocationsTest() throws Exception {
497     Location responsesElement = Location.newBuilder().build();
498     ListLocationsResponse expectedResponse =
499         ListLocationsResponse.newBuilder()
500             .setNextPageToken("")
501             .addAllLocations(Arrays.asList(responsesElement))
502             .build();
503     mockLocations.addResponse(expectedResponse);
504 
505     ListLocationsRequest request =
506         ListLocationsRequest.newBuilder()
507             .setName("name3373707")
508             .setFilter("filter-1274492040")
509             .setPageSize(883849137)
510             .setPageToken("pageToken873572522")
511             .build();
512 
513     ListLocationsPagedResponse pagedListResponse = client.listLocations(request);
514 
515     List<Location> resources = Lists.newArrayList(pagedListResponse.iterateAll());
516 
517     Assert.assertEquals(1, resources.size());
518     Assert.assertEquals(expectedResponse.getLocationsList().get(0), resources.get(0));
519 
520     List<AbstractMessage> actualRequests = mockLocations.getRequests();
521     Assert.assertEquals(1, actualRequests.size());
522     ListLocationsRequest actualRequest = ((ListLocationsRequest) actualRequests.get(0));
523 
524     Assert.assertEquals(request.getName(), actualRequest.getName());
525     Assert.assertEquals(request.getFilter(), actualRequest.getFilter());
526     Assert.assertEquals(request.getPageSize(), actualRequest.getPageSize());
527     Assert.assertEquals(request.getPageToken(), actualRequest.getPageToken());
528     Assert.assertTrue(
529         channelProvider.isHeaderSent(
530             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
531             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
532   }
533 
534   @Test
listLocationsExceptionTest()535   public void listLocationsExceptionTest() throws Exception {
536     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
537     mockLocations.addException(exception);
538 
539     try {
540       ListLocationsRequest request =
541           ListLocationsRequest.newBuilder()
542               .setName("name3373707")
543               .setFilter("filter-1274492040")
544               .setPageSize(883849137)
545               .setPageToken("pageToken873572522")
546               .build();
547       client.listLocations(request);
548       Assert.fail("No exception raised");
549     } catch (InvalidArgumentException e) {
550       // Expected exception.
551     }
552   }
553 
554   @Test
getLocationTest()555   public void getLocationTest() throws Exception {
556     Location expectedResponse =
557         Location.newBuilder()
558             .setName("name3373707")
559             .setLocationId("locationId1541836720")
560             .setDisplayName("displayName1714148973")
561             .putAllLabels(new HashMap<String, String>())
562             .setMetadata(Any.newBuilder().build())
563             .build();
564     mockLocations.addResponse(expectedResponse);
565 
566     GetLocationRequest request = GetLocationRequest.newBuilder().setName("name3373707").build();
567 
568     Location actualResponse = client.getLocation(request);
569     Assert.assertEquals(expectedResponse, actualResponse);
570 
571     List<AbstractMessage> actualRequests = mockLocations.getRequests();
572     Assert.assertEquals(1, actualRequests.size());
573     GetLocationRequest actualRequest = ((GetLocationRequest) actualRequests.get(0));
574 
575     Assert.assertEquals(request.getName(), actualRequest.getName());
576     Assert.assertTrue(
577         channelProvider.isHeaderSent(
578             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
579             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
580   }
581 
582   @Test
getLocationExceptionTest()583   public void getLocationExceptionTest() throws Exception {
584     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
585     mockLocations.addException(exception);
586 
587     try {
588       GetLocationRequest request = GetLocationRequest.newBuilder().setName("name3373707").build();
589       client.getLocation(request);
590       Assert.fail("No exception raised");
591     } catch (InvalidArgumentException e) {
592       // Expected exception.
593     }
594   }
595 }
596