• 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.aiplatform.v1;
18 
19 import static com.google.cloud.aiplatform.v1.VizierServiceClient.ListLocationsPagedResponse;
20 import static com.google.cloud.aiplatform.v1.VizierServiceClient.ListStudiesPagedResponse;
21 import static com.google.cloud.aiplatform.v1.VizierServiceClient.ListTrialsPagedResponse;
22 
23 import com.google.api.gax.core.NoCredentialsProvider;
24 import com.google.api.gax.grpc.GaxGrpcProperties;
25 import com.google.api.gax.grpc.testing.LocalChannelProvider;
26 import com.google.api.gax.grpc.testing.MockGrpcService;
27 import com.google.api.gax.grpc.testing.MockServiceHelper;
28 import com.google.api.gax.rpc.ApiClientHeaderProvider;
29 import com.google.api.gax.rpc.InvalidArgumentException;
30 import com.google.api.gax.rpc.StatusCode;
31 import com.google.cloud.location.GetLocationRequest;
32 import com.google.cloud.location.ListLocationsRequest;
33 import com.google.cloud.location.ListLocationsResponse;
34 import com.google.cloud.location.Location;
35 import com.google.common.collect.Lists;
36 import com.google.iam.v1.AuditConfig;
37 import com.google.iam.v1.Binding;
38 import com.google.iam.v1.GetIamPolicyRequest;
39 import com.google.iam.v1.GetPolicyOptions;
40 import com.google.iam.v1.Policy;
41 import com.google.iam.v1.SetIamPolicyRequest;
42 import com.google.iam.v1.TestIamPermissionsRequest;
43 import com.google.iam.v1.TestIamPermissionsResponse;
44 import com.google.longrunning.Operation;
45 import com.google.protobuf.AbstractMessage;
46 import com.google.protobuf.Any;
47 import com.google.protobuf.ByteString;
48 import com.google.protobuf.Empty;
49 import com.google.protobuf.FieldMask;
50 import com.google.protobuf.Timestamp;
51 import io.grpc.StatusRuntimeException;
52 import java.io.IOException;
53 import java.util.ArrayList;
54 import java.util.Arrays;
55 import java.util.HashMap;
56 import java.util.List;
57 import java.util.UUID;
58 import java.util.concurrent.ExecutionException;
59 import javax.annotation.Generated;
60 import org.junit.After;
61 import org.junit.AfterClass;
62 import org.junit.Assert;
63 import org.junit.Before;
64 import org.junit.BeforeClass;
65 import org.junit.Test;
66 
67 @Generated("by gapic-generator-java")
68 public class VizierServiceClientTest {
69   private static MockIAMPolicy mockIAMPolicy;
70   private static MockLocations mockLocations;
71   private static MockServiceHelper mockServiceHelper;
72   private static MockVizierService mockVizierService;
73   private LocalChannelProvider channelProvider;
74   private VizierServiceClient client;
75 
76   @BeforeClass
startStaticServer()77   public static void startStaticServer() {
78     mockVizierService = new MockVizierService();
79     mockLocations = new MockLocations();
80     mockIAMPolicy = new MockIAMPolicy();
81     mockServiceHelper =
82         new MockServiceHelper(
83             UUID.randomUUID().toString(),
84             Arrays.<MockGrpcService>asList(mockVizierService, mockLocations, mockIAMPolicy));
85     mockServiceHelper.start();
86   }
87 
88   @AfterClass
stopServer()89   public static void stopServer() {
90     mockServiceHelper.stop();
91   }
92 
93   @Before
setUp()94   public void setUp() throws IOException {
95     mockServiceHelper.reset();
96     channelProvider = mockServiceHelper.createChannelProvider();
97     VizierServiceSettings settings =
98         VizierServiceSettings.newBuilder()
99             .setTransportChannelProvider(channelProvider)
100             .setCredentialsProvider(NoCredentialsProvider.create())
101             .build();
102     client = VizierServiceClient.create(settings);
103   }
104 
105   @After
tearDown()106   public void tearDown() throws Exception {
107     client.close();
108   }
109 
110   @Test
createStudyTest()111   public void createStudyTest() throws Exception {
112     Study expectedResponse =
113         Study.newBuilder()
114             .setName(StudyName.of("[PROJECT]", "[LOCATION]", "[STUDY]").toString())
115             .setDisplayName("displayName1714148973")
116             .setStudySpec(StudySpec.newBuilder().build())
117             .setCreateTime(Timestamp.newBuilder().build())
118             .setInactiveReason("inactiveReason1923653263")
119             .build();
120     mockVizierService.addResponse(expectedResponse);
121 
122     LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
123     Study study = Study.newBuilder().build();
124 
125     Study actualResponse = client.createStudy(parent, study);
126     Assert.assertEquals(expectedResponse, actualResponse);
127 
128     List<AbstractMessage> actualRequests = mockVizierService.getRequests();
129     Assert.assertEquals(1, actualRequests.size());
130     CreateStudyRequest actualRequest = ((CreateStudyRequest) actualRequests.get(0));
131 
132     Assert.assertEquals(parent.toString(), actualRequest.getParent());
133     Assert.assertEquals(study, actualRequest.getStudy());
134     Assert.assertTrue(
135         channelProvider.isHeaderSent(
136             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
137             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
138   }
139 
140   @Test
createStudyExceptionTest()141   public void createStudyExceptionTest() throws Exception {
142     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
143     mockVizierService.addException(exception);
144 
145     try {
146       LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
147       Study study = Study.newBuilder().build();
148       client.createStudy(parent, study);
149       Assert.fail("No exception raised");
150     } catch (InvalidArgumentException e) {
151       // Expected exception.
152     }
153   }
154 
155   @Test
createStudyTest2()156   public void createStudyTest2() throws Exception {
157     Study expectedResponse =
158         Study.newBuilder()
159             .setName(StudyName.of("[PROJECT]", "[LOCATION]", "[STUDY]").toString())
160             .setDisplayName("displayName1714148973")
161             .setStudySpec(StudySpec.newBuilder().build())
162             .setCreateTime(Timestamp.newBuilder().build())
163             .setInactiveReason("inactiveReason1923653263")
164             .build();
165     mockVizierService.addResponse(expectedResponse);
166 
167     String parent = "parent-995424086";
168     Study study = Study.newBuilder().build();
169 
170     Study actualResponse = client.createStudy(parent, study);
171     Assert.assertEquals(expectedResponse, actualResponse);
172 
173     List<AbstractMessage> actualRequests = mockVizierService.getRequests();
174     Assert.assertEquals(1, actualRequests.size());
175     CreateStudyRequest actualRequest = ((CreateStudyRequest) actualRequests.get(0));
176 
177     Assert.assertEquals(parent, actualRequest.getParent());
178     Assert.assertEquals(study, actualRequest.getStudy());
179     Assert.assertTrue(
180         channelProvider.isHeaderSent(
181             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
182             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
183   }
184 
185   @Test
createStudyExceptionTest2()186   public void createStudyExceptionTest2() throws Exception {
187     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
188     mockVizierService.addException(exception);
189 
190     try {
191       String parent = "parent-995424086";
192       Study study = Study.newBuilder().build();
193       client.createStudy(parent, study);
194       Assert.fail("No exception raised");
195     } catch (InvalidArgumentException e) {
196       // Expected exception.
197     }
198   }
199 
200   @Test
getStudyTest()201   public void getStudyTest() throws Exception {
202     Study expectedResponse =
203         Study.newBuilder()
204             .setName(StudyName.of("[PROJECT]", "[LOCATION]", "[STUDY]").toString())
205             .setDisplayName("displayName1714148973")
206             .setStudySpec(StudySpec.newBuilder().build())
207             .setCreateTime(Timestamp.newBuilder().build())
208             .setInactiveReason("inactiveReason1923653263")
209             .build();
210     mockVizierService.addResponse(expectedResponse);
211 
212     StudyName name = StudyName.of("[PROJECT]", "[LOCATION]", "[STUDY]");
213 
214     Study actualResponse = client.getStudy(name);
215     Assert.assertEquals(expectedResponse, actualResponse);
216 
217     List<AbstractMessage> actualRequests = mockVizierService.getRequests();
218     Assert.assertEquals(1, actualRequests.size());
219     GetStudyRequest actualRequest = ((GetStudyRequest) actualRequests.get(0));
220 
221     Assert.assertEquals(name.toString(), actualRequest.getName());
222     Assert.assertTrue(
223         channelProvider.isHeaderSent(
224             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
225             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
226   }
227 
228   @Test
getStudyExceptionTest()229   public void getStudyExceptionTest() throws Exception {
230     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
231     mockVizierService.addException(exception);
232 
233     try {
234       StudyName name = StudyName.of("[PROJECT]", "[LOCATION]", "[STUDY]");
235       client.getStudy(name);
236       Assert.fail("No exception raised");
237     } catch (InvalidArgumentException e) {
238       // Expected exception.
239     }
240   }
241 
242   @Test
getStudyTest2()243   public void getStudyTest2() throws Exception {
244     Study expectedResponse =
245         Study.newBuilder()
246             .setName(StudyName.of("[PROJECT]", "[LOCATION]", "[STUDY]").toString())
247             .setDisplayName("displayName1714148973")
248             .setStudySpec(StudySpec.newBuilder().build())
249             .setCreateTime(Timestamp.newBuilder().build())
250             .setInactiveReason("inactiveReason1923653263")
251             .build();
252     mockVizierService.addResponse(expectedResponse);
253 
254     String name = "name3373707";
255 
256     Study actualResponse = client.getStudy(name);
257     Assert.assertEquals(expectedResponse, actualResponse);
258 
259     List<AbstractMessage> actualRequests = mockVizierService.getRequests();
260     Assert.assertEquals(1, actualRequests.size());
261     GetStudyRequest actualRequest = ((GetStudyRequest) actualRequests.get(0));
262 
263     Assert.assertEquals(name, actualRequest.getName());
264     Assert.assertTrue(
265         channelProvider.isHeaderSent(
266             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
267             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
268   }
269 
270   @Test
getStudyExceptionTest2()271   public void getStudyExceptionTest2() throws Exception {
272     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
273     mockVizierService.addException(exception);
274 
275     try {
276       String name = "name3373707";
277       client.getStudy(name);
278       Assert.fail("No exception raised");
279     } catch (InvalidArgumentException e) {
280       // Expected exception.
281     }
282   }
283 
284   @Test
listStudiesTest()285   public void listStudiesTest() throws Exception {
286     Study responsesElement = Study.newBuilder().build();
287     ListStudiesResponse expectedResponse =
288         ListStudiesResponse.newBuilder()
289             .setNextPageToken("")
290             .addAllStudies(Arrays.asList(responsesElement))
291             .build();
292     mockVizierService.addResponse(expectedResponse);
293 
294     LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
295 
296     ListStudiesPagedResponse pagedListResponse = client.listStudies(parent);
297 
298     List<Study> resources = Lists.newArrayList(pagedListResponse.iterateAll());
299 
300     Assert.assertEquals(1, resources.size());
301     Assert.assertEquals(expectedResponse.getStudiesList().get(0), resources.get(0));
302 
303     List<AbstractMessage> actualRequests = mockVizierService.getRequests();
304     Assert.assertEquals(1, actualRequests.size());
305     ListStudiesRequest actualRequest = ((ListStudiesRequest) actualRequests.get(0));
306 
307     Assert.assertEquals(parent.toString(), actualRequest.getParent());
308     Assert.assertTrue(
309         channelProvider.isHeaderSent(
310             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
311             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
312   }
313 
314   @Test
listStudiesExceptionTest()315   public void listStudiesExceptionTest() throws Exception {
316     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
317     mockVizierService.addException(exception);
318 
319     try {
320       LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
321       client.listStudies(parent);
322       Assert.fail("No exception raised");
323     } catch (InvalidArgumentException e) {
324       // Expected exception.
325     }
326   }
327 
328   @Test
listStudiesTest2()329   public void listStudiesTest2() throws Exception {
330     Study responsesElement = Study.newBuilder().build();
331     ListStudiesResponse expectedResponse =
332         ListStudiesResponse.newBuilder()
333             .setNextPageToken("")
334             .addAllStudies(Arrays.asList(responsesElement))
335             .build();
336     mockVizierService.addResponse(expectedResponse);
337 
338     String parent = "parent-995424086";
339 
340     ListStudiesPagedResponse pagedListResponse = client.listStudies(parent);
341 
342     List<Study> resources = Lists.newArrayList(pagedListResponse.iterateAll());
343 
344     Assert.assertEquals(1, resources.size());
345     Assert.assertEquals(expectedResponse.getStudiesList().get(0), resources.get(0));
346 
347     List<AbstractMessage> actualRequests = mockVizierService.getRequests();
348     Assert.assertEquals(1, actualRequests.size());
349     ListStudiesRequest actualRequest = ((ListStudiesRequest) actualRequests.get(0));
350 
351     Assert.assertEquals(parent, actualRequest.getParent());
352     Assert.assertTrue(
353         channelProvider.isHeaderSent(
354             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
355             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
356   }
357 
358   @Test
listStudiesExceptionTest2()359   public void listStudiesExceptionTest2() throws Exception {
360     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
361     mockVizierService.addException(exception);
362 
363     try {
364       String parent = "parent-995424086";
365       client.listStudies(parent);
366       Assert.fail("No exception raised");
367     } catch (InvalidArgumentException e) {
368       // Expected exception.
369     }
370   }
371 
372   @Test
deleteStudyTest()373   public void deleteStudyTest() throws Exception {
374     Empty expectedResponse = Empty.newBuilder().build();
375     mockVizierService.addResponse(expectedResponse);
376 
377     StudyName name = StudyName.of("[PROJECT]", "[LOCATION]", "[STUDY]");
378 
379     client.deleteStudy(name);
380 
381     List<AbstractMessage> actualRequests = mockVizierService.getRequests();
382     Assert.assertEquals(1, actualRequests.size());
383     DeleteStudyRequest actualRequest = ((DeleteStudyRequest) actualRequests.get(0));
384 
385     Assert.assertEquals(name.toString(), actualRequest.getName());
386     Assert.assertTrue(
387         channelProvider.isHeaderSent(
388             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
389             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
390   }
391 
392   @Test
deleteStudyExceptionTest()393   public void deleteStudyExceptionTest() throws Exception {
394     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
395     mockVizierService.addException(exception);
396 
397     try {
398       StudyName name = StudyName.of("[PROJECT]", "[LOCATION]", "[STUDY]");
399       client.deleteStudy(name);
400       Assert.fail("No exception raised");
401     } catch (InvalidArgumentException e) {
402       // Expected exception.
403     }
404   }
405 
406   @Test
deleteStudyTest2()407   public void deleteStudyTest2() throws Exception {
408     Empty expectedResponse = Empty.newBuilder().build();
409     mockVizierService.addResponse(expectedResponse);
410 
411     String name = "name3373707";
412 
413     client.deleteStudy(name);
414 
415     List<AbstractMessage> actualRequests = mockVizierService.getRequests();
416     Assert.assertEquals(1, actualRequests.size());
417     DeleteStudyRequest actualRequest = ((DeleteStudyRequest) actualRequests.get(0));
418 
419     Assert.assertEquals(name, actualRequest.getName());
420     Assert.assertTrue(
421         channelProvider.isHeaderSent(
422             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
423             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
424   }
425 
426   @Test
deleteStudyExceptionTest2()427   public void deleteStudyExceptionTest2() throws Exception {
428     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
429     mockVizierService.addException(exception);
430 
431     try {
432       String name = "name3373707";
433       client.deleteStudy(name);
434       Assert.fail("No exception raised");
435     } catch (InvalidArgumentException e) {
436       // Expected exception.
437     }
438   }
439 
440   @Test
lookupStudyTest()441   public void lookupStudyTest() throws Exception {
442     Study expectedResponse =
443         Study.newBuilder()
444             .setName(StudyName.of("[PROJECT]", "[LOCATION]", "[STUDY]").toString())
445             .setDisplayName("displayName1714148973")
446             .setStudySpec(StudySpec.newBuilder().build())
447             .setCreateTime(Timestamp.newBuilder().build())
448             .setInactiveReason("inactiveReason1923653263")
449             .build();
450     mockVizierService.addResponse(expectedResponse);
451 
452     LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
453 
454     Study actualResponse = client.lookupStudy(parent);
455     Assert.assertEquals(expectedResponse, actualResponse);
456 
457     List<AbstractMessage> actualRequests = mockVizierService.getRequests();
458     Assert.assertEquals(1, actualRequests.size());
459     LookupStudyRequest actualRequest = ((LookupStudyRequest) actualRequests.get(0));
460 
461     Assert.assertEquals(parent.toString(), actualRequest.getParent());
462     Assert.assertTrue(
463         channelProvider.isHeaderSent(
464             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
465             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
466   }
467 
468   @Test
lookupStudyExceptionTest()469   public void lookupStudyExceptionTest() throws Exception {
470     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
471     mockVizierService.addException(exception);
472 
473     try {
474       LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
475       client.lookupStudy(parent);
476       Assert.fail("No exception raised");
477     } catch (InvalidArgumentException e) {
478       // Expected exception.
479     }
480   }
481 
482   @Test
lookupStudyTest2()483   public void lookupStudyTest2() throws Exception {
484     Study expectedResponse =
485         Study.newBuilder()
486             .setName(StudyName.of("[PROJECT]", "[LOCATION]", "[STUDY]").toString())
487             .setDisplayName("displayName1714148973")
488             .setStudySpec(StudySpec.newBuilder().build())
489             .setCreateTime(Timestamp.newBuilder().build())
490             .setInactiveReason("inactiveReason1923653263")
491             .build();
492     mockVizierService.addResponse(expectedResponse);
493 
494     String parent = "parent-995424086";
495 
496     Study actualResponse = client.lookupStudy(parent);
497     Assert.assertEquals(expectedResponse, actualResponse);
498 
499     List<AbstractMessage> actualRequests = mockVizierService.getRequests();
500     Assert.assertEquals(1, actualRequests.size());
501     LookupStudyRequest actualRequest = ((LookupStudyRequest) actualRequests.get(0));
502 
503     Assert.assertEquals(parent, actualRequest.getParent());
504     Assert.assertTrue(
505         channelProvider.isHeaderSent(
506             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
507             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
508   }
509 
510   @Test
lookupStudyExceptionTest2()511   public void lookupStudyExceptionTest2() throws Exception {
512     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
513     mockVizierService.addException(exception);
514 
515     try {
516       String parent = "parent-995424086";
517       client.lookupStudy(parent);
518       Assert.fail("No exception raised");
519     } catch (InvalidArgumentException e) {
520       // Expected exception.
521     }
522   }
523 
524   @Test
suggestTrialsTest()525   public void suggestTrialsTest() throws Exception {
526     SuggestTrialsResponse expectedResponse =
527         SuggestTrialsResponse.newBuilder()
528             .addAllTrials(new ArrayList<Trial>())
529             .setStartTime(Timestamp.newBuilder().build())
530             .setEndTime(Timestamp.newBuilder().build())
531             .build();
532     Operation resultOperation =
533         Operation.newBuilder()
534             .setName("suggestTrialsTest")
535             .setDone(true)
536             .setResponse(Any.pack(expectedResponse))
537             .build();
538     mockVizierService.addResponse(resultOperation);
539 
540     SuggestTrialsRequest request =
541         SuggestTrialsRequest.newBuilder()
542             .setParent(StudyName.of("[PROJECT]", "[LOCATION]", "[STUDY]").toString())
543             .setSuggestionCount(390130452)
544             .setClientId("clientId908408390")
545             .build();
546 
547     SuggestTrialsResponse actualResponse = client.suggestTrialsAsync(request).get();
548     Assert.assertEquals(expectedResponse, actualResponse);
549 
550     List<AbstractMessage> actualRequests = mockVizierService.getRequests();
551     Assert.assertEquals(1, actualRequests.size());
552     SuggestTrialsRequest actualRequest = ((SuggestTrialsRequest) actualRequests.get(0));
553 
554     Assert.assertEquals(request.getParent(), actualRequest.getParent());
555     Assert.assertEquals(request.getSuggestionCount(), actualRequest.getSuggestionCount());
556     Assert.assertEquals(request.getClientId(), actualRequest.getClientId());
557     Assert.assertTrue(
558         channelProvider.isHeaderSent(
559             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
560             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
561   }
562 
563   @Test
suggestTrialsExceptionTest()564   public void suggestTrialsExceptionTest() throws Exception {
565     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
566     mockVizierService.addException(exception);
567 
568     try {
569       SuggestTrialsRequest request =
570           SuggestTrialsRequest.newBuilder()
571               .setParent(StudyName.of("[PROJECT]", "[LOCATION]", "[STUDY]").toString())
572               .setSuggestionCount(390130452)
573               .setClientId("clientId908408390")
574               .build();
575       client.suggestTrialsAsync(request).get();
576       Assert.fail("No exception raised");
577     } catch (ExecutionException e) {
578       Assert.assertEquals(InvalidArgumentException.class, e.getCause().getClass());
579       InvalidArgumentException apiException = ((InvalidArgumentException) e.getCause());
580       Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode());
581     }
582   }
583 
584   @Test
createTrialTest()585   public void createTrialTest() throws Exception {
586     Trial expectedResponse =
587         Trial.newBuilder()
588             .setName(TrialName.of("[PROJECT]", "[LOCATION]", "[STUDY]", "[TRIAL]").toString())
589             .setId("id3355")
590             .addAllParameters(new ArrayList<Trial.Parameter>())
591             .setFinalMeasurement(Measurement.newBuilder().build())
592             .addAllMeasurements(new ArrayList<Measurement>())
593             .setStartTime(Timestamp.newBuilder().build())
594             .setEndTime(Timestamp.newBuilder().build())
595             .setClientId("clientId908408390")
596             .setInfeasibleReason("infeasibleReason1040725388")
597             .setCustomJob(CustomJobName.of("[PROJECT]", "[LOCATION]", "[CUSTOM_JOB]").toString())
598             .putAllWebAccessUris(new HashMap<String, String>())
599             .build();
600     mockVizierService.addResponse(expectedResponse);
601 
602     StudyName parent = StudyName.of("[PROJECT]", "[LOCATION]", "[STUDY]");
603     Trial trial = Trial.newBuilder().build();
604 
605     Trial actualResponse = client.createTrial(parent, trial);
606     Assert.assertEquals(expectedResponse, actualResponse);
607 
608     List<AbstractMessage> actualRequests = mockVizierService.getRequests();
609     Assert.assertEquals(1, actualRequests.size());
610     CreateTrialRequest actualRequest = ((CreateTrialRequest) actualRequests.get(0));
611 
612     Assert.assertEquals(parent.toString(), actualRequest.getParent());
613     Assert.assertEquals(trial, actualRequest.getTrial());
614     Assert.assertTrue(
615         channelProvider.isHeaderSent(
616             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
617             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
618   }
619 
620   @Test
createTrialExceptionTest()621   public void createTrialExceptionTest() throws Exception {
622     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
623     mockVizierService.addException(exception);
624 
625     try {
626       StudyName parent = StudyName.of("[PROJECT]", "[LOCATION]", "[STUDY]");
627       Trial trial = Trial.newBuilder().build();
628       client.createTrial(parent, trial);
629       Assert.fail("No exception raised");
630     } catch (InvalidArgumentException e) {
631       // Expected exception.
632     }
633   }
634 
635   @Test
createTrialTest2()636   public void createTrialTest2() throws Exception {
637     Trial expectedResponse =
638         Trial.newBuilder()
639             .setName(TrialName.of("[PROJECT]", "[LOCATION]", "[STUDY]", "[TRIAL]").toString())
640             .setId("id3355")
641             .addAllParameters(new ArrayList<Trial.Parameter>())
642             .setFinalMeasurement(Measurement.newBuilder().build())
643             .addAllMeasurements(new ArrayList<Measurement>())
644             .setStartTime(Timestamp.newBuilder().build())
645             .setEndTime(Timestamp.newBuilder().build())
646             .setClientId("clientId908408390")
647             .setInfeasibleReason("infeasibleReason1040725388")
648             .setCustomJob(CustomJobName.of("[PROJECT]", "[LOCATION]", "[CUSTOM_JOB]").toString())
649             .putAllWebAccessUris(new HashMap<String, String>())
650             .build();
651     mockVizierService.addResponse(expectedResponse);
652 
653     String parent = "parent-995424086";
654     Trial trial = Trial.newBuilder().build();
655 
656     Trial actualResponse = client.createTrial(parent, trial);
657     Assert.assertEquals(expectedResponse, actualResponse);
658 
659     List<AbstractMessage> actualRequests = mockVizierService.getRequests();
660     Assert.assertEquals(1, actualRequests.size());
661     CreateTrialRequest actualRequest = ((CreateTrialRequest) actualRequests.get(0));
662 
663     Assert.assertEquals(parent, actualRequest.getParent());
664     Assert.assertEquals(trial, actualRequest.getTrial());
665     Assert.assertTrue(
666         channelProvider.isHeaderSent(
667             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
668             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
669   }
670 
671   @Test
createTrialExceptionTest2()672   public void createTrialExceptionTest2() throws Exception {
673     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
674     mockVizierService.addException(exception);
675 
676     try {
677       String parent = "parent-995424086";
678       Trial trial = Trial.newBuilder().build();
679       client.createTrial(parent, trial);
680       Assert.fail("No exception raised");
681     } catch (InvalidArgumentException e) {
682       // Expected exception.
683     }
684   }
685 
686   @Test
getTrialTest()687   public void getTrialTest() throws Exception {
688     Trial expectedResponse =
689         Trial.newBuilder()
690             .setName(TrialName.of("[PROJECT]", "[LOCATION]", "[STUDY]", "[TRIAL]").toString())
691             .setId("id3355")
692             .addAllParameters(new ArrayList<Trial.Parameter>())
693             .setFinalMeasurement(Measurement.newBuilder().build())
694             .addAllMeasurements(new ArrayList<Measurement>())
695             .setStartTime(Timestamp.newBuilder().build())
696             .setEndTime(Timestamp.newBuilder().build())
697             .setClientId("clientId908408390")
698             .setInfeasibleReason("infeasibleReason1040725388")
699             .setCustomJob(CustomJobName.of("[PROJECT]", "[LOCATION]", "[CUSTOM_JOB]").toString())
700             .putAllWebAccessUris(new HashMap<String, String>())
701             .build();
702     mockVizierService.addResponse(expectedResponse);
703 
704     TrialName name = TrialName.of("[PROJECT]", "[LOCATION]", "[STUDY]", "[TRIAL]");
705 
706     Trial actualResponse = client.getTrial(name);
707     Assert.assertEquals(expectedResponse, actualResponse);
708 
709     List<AbstractMessage> actualRequests = mockVizierService.getRequests();
710     Assert.assertEquals(1, actualRequests.size());
711     GetTrialRequest actualRequest = ((GetTrialRequest) actualRequests.get(0));
712 
713     Assert.assertEquals(name.toString(), actualRequest.getName());
714     Assert.assertTrue(
715         channelProvider.isHeaderSent(
716             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
717             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
718   }
719 
720   @Test
getTrialExceptionTest()721   public void getTrialExceptionTest() throws Exception {
722     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
723     mockVizierService.addException(exception);
724 
725     try {
726       TrialName name = TrialName.of("[PROJECT]", "[LOCATION]", "[STUDY]", "[TRIAL]");
727       client.getTrial(name);
728       Assert.fail("No exception raised");
729     } catch (InvalidArgumentException e) {
730       // Expected exception.
731     }
732   }
733 
734   @Test
getTrialTest2()735   public void getTrialTest2() throws Exception {
736     Trial expectedResponse =
737         Trial.newBuilder()
738             .setName(TrialName.of("[PROJECT]", "[LOCATION]", "[STUDY]", "[TRIAL]").toString())
739             .setId("id3355")
740             .addAllParameters(new ArrayList<Trial.Parameter>())
741             .setFinalMeasurement(Measurement.newBuilder().build())
742             .addAllMeasurements(new ArrayList<Measurement>())
743             .setStartTime(Timestamp.newBuilder().build())
744             .setEndTime(Timestamp.newBuilder().build())
745             .setClientId("clientId908408390")
746             .setInfeasibleReason("infeasibleReason1040725388")
747             .setCustomJob(CustomJobName.of("[PROJECT]", "[LOCATION]", "[CUSTOM_JOB]").toString())
748             .putAllWebAccessUris(new HashMap<String, String>())
749             .build();
750     mockVizierService.addResponse(expectedResponse);
751 
752     String name = "name3373707";
753 
754     Trial actualResponse = client.getTrial(name);
755     Assert.assertEquals(expectedResponse, actualResponse);
756 
757     List<AbstractMessage> actualRequests = mockVizierService.getRequests();
758     Assert.assertEquals(1, actualRequests.size());
759     GetTrialRequest actualRequest = ((GetTrialRequest) actualRequests.get(0));
760 
761     Assert.assertEquals(name, actualRequest.getName());
762     Assert.assertTrue(
763         channelProvider.isHeaderSent(
764             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
765             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
766   }
767 
768   @Test
getTrialExceptionTest2()769   public void getTrialExceptionTest2() throws Exception {
770     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
771     mockVizierService.addException(exception);
772 
773     try {
774       String name = "name3373707";
775       client.getTrial(name);
776       Assert.fail("No exception raised");
777     } catch (InvalidArgumentException e) {
778       // Expected exception.
779     }
780   }
781 
782   @Test
listTrialsTest()783   public void listTrialsTest() throws Exception {
784     Trial responsesElement = Trial.newBuilder().build();
785     ListTrialsResponse expectedResponse =
786         ListTrialsResponse.newBuilder()
787             .setNextPageToken("")
788             .addAllTrials(Arrays.asList(responsesElement))
789             .build();
790     mockVizierService.addResponse(expectedResponse);
791 
792     StudyName parent = StudyName.of("[PROJECT]", "[LOCATION]", "[STUDY]");
793 
794     ListTrialsPagedResponse pagedListResponse = client.listTrials(parent);
795 
796     List<Trial> resources = Lists.newArrayList(pagedListResponse.iterateAll());
797 
798     Assert.assertEquals(1, resources.size());
799     Assert.assertEquals(expectedResponse.getTrialsList().get(0), resources.get(0));
800 
801     List<AbstractMessage> actualRequests = mockVizierService.getRequests();
802     Assert.assertEquals(1, actualRequests.size());
803     ListTrialsRequest actualRequest = ((ListTrialsRequest) actualRequests.get(0));
804 
805     Assert.assertEquals(parent.toString(), actualRequest.getParent());
806     Assert.assertTrue(
807         channelProvider.isHeaderSent(
808             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
809             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
810   }
811 
812   @Test
listTrialsExceptionTest()813   public void listTrialsExceptionTest() throws Exception {
814     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
815     mockVizierService.addException(exception);
816 
817     try {
818       StudyName parent = StudyName.of("[PROJECT]", "[LOCATION]", "[STUDY]");
819       client.listTrials(parent);
820       Assert.fail("No exception raised");
821     } catch (InvalidArgumentException e) {
822       // Expected exception.
823     }
824   }
825 
826   @Test
listTrialsTest2()827   public void listTrialsTest2() throws Exception {
828     Trial responsesElement = Trial.newBuilder().build();
829     ListTrialsResponse expectedResponse =
830         ListTrialsResponse.newBuilder()
831             .setNextPageToken("")
832             .addAllTrials(Arrays.asList(responsesElement))
833             .build();
834     mockVizierService.addResponse(expectedResponse);
835 
836     String parent = "parent-995424086";
837 
838     ListTrialsPagedResponse pagedListResponse = client.listTrials(parent);
839 
840     List<Trial> resources = Lists.newArrayList(pagedListResponse.iterateAll());
841 
842     Assert.assertEquals(1, resources.size());
843     Assert.assertEquals(expectedResponse.getTrialsList().get(0), resources.get(0));
844 
845     List<AbstractMessage> actualRequests = mockVizierService.getRequests();
846     Assert.assertEquals(1, actualRequests.size());
847     ListTrialsRequest actualRequest = ((ListTrialsRequest) actualRequests.get(0));
848 
849     Assert.assertEquals(parent, actualRequest.getParent());
850     Assert.assertTrue(
851         channelProvider.isHeaderSent(
852             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
853             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
854   }
855 
856   @Test
listTrialsExceptionTest2()857   public void listTrialsExceptionTest2() throws Exception {
858     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
859     mockVizierService.addException(exception);
860 
861     try {
862       String parent = "parent-995424086";
863       client.listTrials(parent);
864       Assert.fail("No exception raised");
865     } catch (InvalidArgumentException e) {
866       // Expected exception.
867     }
868   }
869 
870   @Test
addTrialMeasurementTest()871   public void addTrialMeasurementTest() throws Exception {
872     Trial expectedResponse =
873         Trial.newBuilder()
874             .setName(TrialName.of("[PROJECT]", "[LOCATION]", "[STUDY]", "[TRIAL]").toString())
875             .setId("id3355")
876             .addAllParameters(new ArrayList<Trial.Parameter>())
877             .setFinalMeasurement(Measurement.newBuilder().build())
878             .addAllMeasurements(new ArrayList<Measurement>())
879             .setStartTime(Timestamp.newBuilder().build())
880             .setEndTime(Timestamp.newBuilder().build())
881             .setClientId("clientId908408390")
882             .setInfeasibleReason("infeasibleReason1040725388")
883             .setCustomJob(CustomJobName.of("[PROJECT]", "[LOCATION]", "[CUSTOM_JOB]").toString())
884             .putAllWebAccessUris(new HashMap<String, String>())
885             .build();
886     mockVizierService.addResponse(expectedResponse);
887 
888     AddTrialMeasurementRequest request =
889         AddTrialMeasurementRequest.newBuilder()
890             .setTrialName(TrialName.of("[PROJECT]", "[LOCATION]", "[STUDY]", "[TRIAL]").toString())
891             .setMeasurement(Measurement.newBuilder().build())
892             .build();
893 
894     Trial actualResponse = client.addTrialMeasurement(request);
895     Assert.assertEquals(expectedResponse, actualResponse);
896 
897     List<AbstractMessage> actualRequests = mockVizierService.getRequests();
898     Assert.assertEquals(1, actualRequests.size());
899     AddTrialMeasurementRequest actualRequest = ((AddTrialMeasurementRequest) actualRequests.get(0));
900 
901     Assert.assertEquals(request.getTrialName(), actualRequest.getTrialName());
902     Assert.assertEquals(request.getMeasurement(), actualRequest.getMeasurement());
903     Assert.assertTrue(
904         channelProvider.isHeaderSent(
905             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
906             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
907   }
908 
909   @Test
addTrialMeasurementExceptionTest()910   public void addTrialMeasurementExceptionTest() throws Exception {
911     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
912     mockVizierService.addException(exception);
913 
914     try {
915       AddTrialMeasurementRequest request =
916           AddTrialMeasurementRequest.newBuilder()
917               .setTrialName(
918                   TrialName.of("[PROJECT]", "[LOCATION]", "[STUDY]", "[TRIAL]").toString())
919               .setMeasurement(Measurement.newBuilder().build())
920               .build();
921       client.addTrialMeasurement(request);
922       Assert.fail("No exception raised");
923     } catch (InvalidArgumentException e) {
924       // Expected exception.
925     }
926   }
927 
928   @Test
completeTrialTest()929   public void completeTrialTest() throws Exception {
930     Trial expectedResponse =
931         Trial.newBuilder()
932             .setName(TrialName.of("[PROJECT]", "[LOCATION]", "[STUDY]", "[TRIAL]").toString())
933             .setId("id3355")
934             .addAllParameters(new ArrayList<Trial.Parameter>())
935             .setFinalMeasurement(Measurement.newBuilder().build())
936             .addAllMeasurements(new ArrayList<Measurement>())
937             .setStartTime(Timestamp.newBuilder().build())
938             .setEndTime(Timestamp.newBuilder().build())
939             .setClientId("clientId908408390")
940             .setInfeasibleReason("infeasibleReason1040725388")
941             .setCustomJob(CustomJobName.of("[PROJECT]", "[LOCATION]", "[CUSTOM_JOB]").toString())
942             .putAllWebAccessUris(new HashMap<String, String>())
943             .build();
944     mockVizierService.addResponse(expectedResponse);
945 
946     CompleteTrialRequest request =
947         CompleteTrialRequest.newBuilder()
948             .setName(TrialName.of("[PROJECT]", "[LOCATION]", "[STUDY]", "[TRIAL]").toString())
949             .setFinalMeasurement(Measurement.newBuilder().build())
950             .setTrialInfeasible(true)
951             .setInfeasibleReason("infeasibleReason1040725388")
952             .build();
953 
954     Trial actualResponse = client.completeTrial(request);
955     Assert.assertEquals(expectedResponse, actualResponse);
956 
957     List<AbstractMessage> actualRequests = mockVizierService.getRequests();
958     Assert.assertEquals(1, actualRequests.size());
959     CompleteTrialRequest actualRequest = ((CompleteTrialRequest) actualRequests.get(0));
960 
961     Assert.assertEquals(request.getName(), actualRequest.getName());
962     Assert.assertEquals(request.getFinalMeasurement(), actualRequest.getFinalMeasurement());
963     Assert.assertEquals(request.getTrialInfeasible(), actualRequest.getTrialInfeasible());
964     Assert.assertEquals(request.getInfeasibleReason(), actualRequest.getInfeasibleReason());
965     Assert.assertTrue(
966         channelProvider.isHeaderSent(
967             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
968             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
969   }
970 
971   @Test
completeTrialExceptionTest()972   public void completeTrialExceptionTest() throws Exception {
973     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
974     mockVizierService.addException(exception);
975 
976     try {
977       CompleteTrialRequest request =
978           CompleteTrialRequest.newBuilder()
979               .setName(TrialName.of("[PROJECT]", "[LOCATION]", "[STUDY]", "[TRIAL]").toString())
980               .setFinalMeasurement(Measurement.newBuilder().build())
981               .setTrialInfeasible(true)
982               .setInfeasibleReason("infeasibleReason1040725388")
983               .build();
984       client.completeTrial(request);
985       Assert.fail("No exception raised");
986     } catch (InvalidArgumentException e) {
987       // Expected exception.
988     }
989   }
990 
991   @Test
deleteTrialTest()992   public void deleteTrialTest() throws Exception {
993     Empty expectedResponse = Empty.newBuilder().build();
994     mockVizierService.addResponse(expectedResponse);
995 
996     TrialName name = TrialName.of("[PROJECT]", "[LOCATION]", "[STUDY]", "[TRIAL]");
997 
998     client.deleteTrial(name);
999 
1000     List<AbstractMessage> actualRequests = mockVizierService.getRequests();
1001     Assert.assertEquals(1, actualRequests.size());
1002     DeleteTrialRequest actualRequest = ((DeleteTrialRequest) actualRequests.get(0));
1003 
1004     Assert.assertEquals(name.toString(), actualRequest.getName());
1005     Assert.assertTrue(
1006         channelProvider.isHeaderSent(
1007             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
1008             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
1009   }
1010 
1011   @Test
deleteTrialExceptionTest()1012   public void deleteTrialExceptionTest() throws Exception {
1013     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
1014     mockVizierService.addException(exception);
1015 
1016     try {
1017       TrialName name = TrialName.of("[PROJECT]", "[LOCATION]", "[STUDY]", "[TRIAL]");
1018       client.deleteTrial(name);
1019       Assert.fail("No exception raised");
1020     } catch (InvalidArgumentException e) {
1021       // Expected exception.
1022     }
1023   }
1024 
1025   @Test
deleteTrialTest2()1026   public void deleteTrialTest2() throws Exception {
1027     Empty expectedResponse = Empty.newBuilder().build();
1028     mockVizierService.addResponse(expectedResponse);
1029 
1030     String name = "name3373707";
1031 
1032     client.deleteTrial(name);
1033 
1034     List<AbstractMessage> actualRequests = mockVizierService.getRequests();
1035     Assert.assertEquals(1, actualRequests.size());
1036     DeleteTrialRequest actualRequest = ((DeleteTrialRequest) actualRequests.get(0));
1037 
1038     Assert.assertEquals(name, actualRequest.getName());
1039     Assert.assertTrue(
1040         channelProvider.isHeaderSent(
1041             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
1042             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
1043   }
1044 
1045   @Test
deleteTrialExceptionTest2()1046   public void deleteTrialExceptionTest2() throws Exception {
1047     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
1048     mockVizierService.addException(exception);
1049 
1050     try {
1051       String name = "name3373707";
1052       client.deleteTrial(name);
1053       Assert.fail("No exception raised");
1054     } catch (InvalidArgumentException e) {
1055       // Expected exception.
1056     }
1057   }
1058 
1059   @Test
checkTrialEarlyStoppingStateTest()1060   public void checkTrialEarlyStoppingStateTest() throws Exception {
1061     CheckTrialEarlyStoppingStateResponse expectedResponse =
1062         CheckTrialEarlyStoppingStateResponse.newBuilder().setShouldStop(true).build();
1063     Operation resultOperation =
1064         Operation.newBuilder()
1065             .setName("checkTrialEarlyStoppingStateTest")
1066             .setDone(true)
1067             .setResponse(Any.pack(expectedResponse))
1068             .build();
1069     mockVizierService.addResponse(resultOperation);
1070 
1071     CheckTrialEarlyStoppingStateRequest request =
1072         CheckTrialEarlyStoppingStateRequest.newBuilder()
1073             .setTrialName(TrialName.of("[PROJECT]", "[LOCATION]", "[STUDY]", "[TRIAL]").toString())
1074             .build();
1075 
1076     CheckTrialEarlyStoppingStateResponse actualResponse =
1077         client.checkTrialEarlyStoppingStateAsync(request).get();
1078     Assert.assertEquals(expectedResponse, actualResponse);
1079 
1080     List<AbstractMessage> actualRequests = mockVizierService.getRequests();
1081     Assert.assertEquals(1, actualRequests.size());
1082     CheckTrialEarlyStoppingStateRequest actualRequest =
1083         ((CheckTrialEarlyStoppingStateRequest) actualRequests.get(0));
1084 
1085     Assert.assertEquals(request.getTrialName(), actualRequest.getTrialName());
1086     Assert.assertTrue(
1087         channelProvider.isHeaderSent(
1088             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
1089             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
1090   }
1091 
1092   @Test
checkTrialEarlyStoppingStateExceptionTest()1093   public void checkTrialEarlyStoppingStateExceptionTest() throws Exception {
1094     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
1095     mockVizierService.addException(exception);
1096 
1097     try {
1098       CheckTrialEarlyStoppingStateRequest request =
1099           CheckTrialEarlyStoppingStateRequest.newBuilder()
1100               .setTrialName(
1101                   TrialName.of("[PROJECT]", "[LOCATION]", "[STUDY]", "[TRIAL]").toString())
1102               .build();
1103       client.checkTrialEarlyStoppingStateAsync(request).get();
1104       Assert.fail("No exception raised");
1105     } catch (ExecutionException e) {
1106       Assert.assertEquals(InvalidArgumentException.class, e.getCause().getClass());
1107       InvalidArgumentException apiException = ((InvalidArgumentException) e.getCause());
1108       Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode());
1109     }
1110   }
1111 
1112   @Test
stopTrialTest()1113   public void stopTrialTest() throws Exception {
1114     Trial expectedResponse =
1115         Trial.newBuilder()
1116             .setName(TrialName.of("[PROJECT]", "[LOCATION]", "[STUDY]", "[TRIAL]").toString())
1117             .setId("id3355")
1118             .addAllParameters(new ArrayList<Trial.Parameter>())
1119             .setFinalMeasurement(Measurement.newBuilder().build())
1120             .addAllMeasurements(new ArrayList<Measurement>())
1121             .setStartTime(Timestamp.newBuilder().build())
1122             .setEndTime(Timestamp.newBuilder().build())
1123             .setClientId("clientId908408390")
1124             .setInfeasibleReason("infeasibleReason1040725388")
1125             .setCustomJob(CustomJobName.of("[PROJECT]", "[LOCATION]", "[CUSTOM_JOB]").toString())
1126             .putAllWebAccessUris(new HashMap<String, String>())
1127             .build();
1128     mockVizierService.addResponse(expectedResponse);
1129 
1130     StopTrialRequest request =
1131         StopTrialRequest.newBuilder()
1132             .setName(TrialName.of("[PROJECT]", "[LOCATION]", "[STUDY]", "[TRIAL]").toString())
1133             .build();
1134 
1135     Trial actualResponse = client.stopTrial(request);
1136     Assert.assertEquals(expectedResponse, actualResponse);
1137 
1138     List<AbstractMessage> actualRequests = mockVizierService.getRequests();
1139     Assert.assertEquals(1, actualRequests.size());
1140     StopTrialRequest actualRequest = ((StopTrialRequest) actualRequests.get(0));
1141 
1142     Assert.assertEquals(request.getName(), actualRequest.getName());
1143     Assert.assertTrue(
1144         channelProvider.isHeaderSent(
1145             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
1146             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
1147   }
1148 
1149   @Test
stopTrialExceptionTest()1150   public void stopTrialExceptionTest() throws Exception {
1151     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
1152     mockVizierService.addException(exception);
1153 
1154     try {
1155       StopTrialRequest request =
1156           StopTrialRequest.newBuilder()
1157               .setName(TrialName.of("[PROJECT]", "[LOCATION]", "[STUDY]", "[TRIAL]").toString())
1158               .build();
1159       client.stopTrial(request);
1160       Assert.fail("No exception raised");
1161     } catch (InvalidArgumentException e) {
1162       // Expected exception.
1163     }
1164   }
1165 
1166   @Test
listOptimalTrialsTest()1167   public void listOptimalTrialsTest() throws Exception {
1168     ListOptimalTrialsResponse expectedResponse =
1169         ListOptimalTrialsResponse.newBuilder().addAllOptimalTrials(new ArrayList<Trial>()).build();
1170     mockVizierService.addResponse(expectedResponse);
1171 
1172     StudyName parent = StudyName.of("[PROJECT]", "[LOCATION]", "[STUDY]");
1173 
1174     ListOptimalTrialsResponse actualResponse = client.listOptimalTrials(parent);
1175     Assert.assertEquals(expectedResponse, actualResponse);
1176 
1177     List<AbstractMessage> actualRequests = mockVizierService.getRequests();
1178     Assert.assertEquals(1, actualRequests.size());
1179     ListOptimalTrialsRequest actualRequest = ((ListOptimalTrialsRequest) actualRequests.get(0));
1180 
1181     Assert.assertEquals(parent.toString(), actualRequest.getParent());
1182     Assert.assertTrue(
1183         channelProvider.isHeaderSent(
1184             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
1185             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
1186   }
1187 
1188   @Test
listOptimalTrialsExceptionTest()1189   public void listOptimalTrialsExceptionTest() throws Exception {
1190     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
1191     mockVizierService.addException(exception);
1192 
1193     try {
1194       StudyName parent = StudyName.of("[PROJECT]", "[LOCATION]", "[STUDY]");
1195       client.listOptimalTrials(parent);
1196       Assert.fail("No exception raised");
1197     } catch (InvalidArgumentException e) {
1198       // Expected exception.
1199     }
1200   }
1201 
1202   @Test
listOptimalTrialsTest2()1203   public void listOptimalTrialsTest2() throws Exception {
1204     ListOptimalTrialsResponse expectedResponse =
1205         ListOptimalTrialsResponse.newBuilder().addAllOptimalTrials(new ArrayList<Trial>()).build();
1206     mockVizierService.addResponse(expectedResponse);
1207 
1208     String parent = "parent-995424086";
1209 
1210     ListOptimalTrialsResponse actualResponse = client.listOptimalTrials(parent);
1211     Assert.assertEquals(expectedResponse, actualResponse);
1212 
1213     List<AbstractMessage> actualRequests = mockVizierService.getRequests();
1214     Assert.assertEquals(1, actualRequests.size());
1215     ListOptimalTrialsRequest actualRequest = ((ListOptimalTrialsRequest) actualRequests.get(0));
1216 
1217     Assert.assertEquals(parent, actualRequest.getParent());
1218     Assert.assertTrue(
1219         channelProvider.isHeaderSent(
1220             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
1221             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
1222   }
1223 
1224   @Test
listOptimalTrialsExceptionTest2()1225   public void listOptimalTrialsExceptionTest2() throws Exception {
1226     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
1227     mockVizierService.addException(exception);
1228 
1229     try {
1230       String parent = "parent-995424086";
1231       client.listOptimalTrials(parent);
1232       Assert.fail("No exception raised");
1233     } catch (InvalidArgumentException e) {
1234       // Expected exception.
1235     }
1236   }
1237 
1238   @Test
listLocationsTest()1239   public void listLocationsTest() throws Exception {
1240     Location responsesElement = Location.newBuilder().build();
1241     ListLocationsResponse expectedResponse =
1242         ListLocationsResponse.newBuilder()
1243             .setNextPageToken("")
1244             .addAllLocations(Arrays.asList(responsesElement))
1245             .build();
1246     mockLocations.addResponse(expectedResponse);
1247 
1248     ListLocationsRequest request =
1249         ListLocationsRequest.newBuilder()
1250             .setName("name3373707")
1251             .setFilter("filter-1274492040")
1252             .setPageSize(883849137)
1253             .setPageToken("pageToken873572522")
1254             .build();
1255 
1256     ListLocationsPagedResponse pagedListResponse = client.listLocations(request);
1257 
1258     List<Location> resources = Lists.newArrayList(pagedListResponse.iterateAll());
1259 
1260     Assert.assertEquals(1, resources.size());
1261     Assert.assertEquals(expectedResponse.getLocationsList().get(0), resources.get(0));
1262 
1263     List<AbstractMessage> actualRequests = mockLocations.getRequests();
1264     Assert.assertEquals(1, actualRequests.size());
1265     ListLocationsRequest actualRequest = ((ListLocationsRequest) actualRequests.get(0));
1266 
1267     Assert.assertEquals(request.getName(), actualRequest.getName());
1268     Assert.assertEquals(request.getFilter(), actualRequest.getFilter());
1269     Assert.assertEquals(request.getPageSize(), actualRequest.getPageSize());
1270     Assert.assertEquals(request.getPageToken(), actualRequest.getPageToken());
1271     Assert.assertTrue(
1272         channelProvider.isHeaderSent(
1273             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
1274             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
1275   }
1276 
1277   @Test
listLocationsExceptionTest()1278   public void listLocationsExceptionTest() throws Exception {
1279     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
1280     mockLocations.addException(exception);
1281 
1282     try {
1283       ListLocationsRequest request =
1284           ListLocationsRequest.newBuilder()
1285               .setName("name3373707")
1286               .setFilter("filter-1274492040")
1287               .setPageSize(883849137)
1288               .setPageToken("pageToken873572522")
1289               .build();
1290       client.listLocations(request);
1291       Assert.fail("No exception raised");
1292     } catch (InvalidArgumentException e) {
1293       // Expected exception.
1294     }
1295   }
1296 
1297   @Test
getLocationTest()1298   public void getLocationTest() throws Exception {
1299     Location expectedResponse =
1300         Location.newBuilder()
1301             .setName("name3373707")
1302             .setLocationId("locationId1541836720")
1303             .setDisplayName("displayName1714148973")
1304             .putAllLabels(new HashMap<String, String>())
1305             .setMetadata(Any.newBuilder().build())
1306             .build();
1307     mockLocations.addResponse(expectedResponse);
1308 
1309     GetLocationRequest request = GetLocationRequest.newBuilder().setName("name3373707").build();
1310 
1311     Location actualResponse = client.getLocation(request);
1312     Assert.assertEquals(expectedResponse, actualResponse);
1313 
1314     List<AbstractMessage> actualRequests = mockLocations.getRequests();
1315     Assert.assertEquals(1, actualRequests.size());
1316     GetLocationRequest actualRequest = ((GetLocationRequest) actualRequests.get(0));
1317 
1318     Assert.assertEquals(request.getName(), actualRequest.getName());
1319     Assert.assertTrue(
1320         channelProvider.isHeaderSent(
1321             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
1322             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
1323   }
1324 
1325   @Test
getLocationExceptionTest()1326   public void getLocationExceptionTest() throws Exception {
1327     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
1328     mockLocations.addException(exception);
1329 
1330     try {
1331       GetLocationRequest request = GetLocationRequest.newBuilder().setName("name3373707").build();
1332       client.getLocation(request);
1333       Assert.fail("No exception raised");
1334     } catch (InvalidArgumentException e) {
1335       // Expected exception.
1336     }
1337   }
1338 
1339   @Test
setIamPolicyTest()1340   public void setIamPolicyTest() throws Exception {
1341     Policy expectedResponse =
1342         Policy.newBuilder()
1343             .setVersion(351608024)
1344             .addAllBindings(new ArrayList<Binding>())
1345             .addAllAuditConfigs(new ArrayList<AuditConfig>())
1346             .setEtag(ByteString.EMPTY)
1347             .build();
1348     mockIAMPolicy.addResponse(expectedResponse);
1349 
1350     SetIamPolicyRequest request =
1351         SetIamPolicyRequest.newBuilder()
1352             .setResource(
1353                 EndpointName.ofProjectLocationEndpointName("[PROJECT]", "[LOCATION]", "[ENDPOINT]")
1354                     .toString())
1355             .setPolicy(Policy.newBuilder().build())
1356             .setUpdateMask(FieldMask.newBuilder().build())
1357             .build();
1358 
1359     Policy actualResponse = client.setIamPolicy(request);
1360     Assert.assertEquals(expectedResponse, actualResponse);
1361 
1362     List<AbstractMessage> actualRequests = mockIAMPolicy.getRequests();
1363     Assert.assertEquals(1, actualRequests.size());
1364     SetIamPolicyRequest actualRequest = ((SetIamPolicyRequest) actualRequests.get(0));
1365 
1366     Assert.assertEquals(request.getResource(), actualRequest.getResource());
1367     Assert.assertEquals(request.getPolicy(), actualRequest.getPolicy());
1368     Assert.assertEquals(request.getUpdateMask(), actualRequest.getUpdateMask());
1369     Assert.assertTrue(
1370         channelProvider.isHeaderSent(
1371             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
1372             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
1373   }
1374 
1375   @Test
setIamPolicyExceptionTest()1376   public void setIamPolicyExceptionTest() throws Exception {
1377     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
1378     mockIAMPolicy.addException(exception);
1379 
1380     try {
1381       SetIamPolicyRequest request =
1382           SetIamPolicyRequest.newBuilder()
1383               .setResource(
1384                   EndpointName.ofProjectLocationEndpointName(
1385                           "[PROJECT]", "[LOCATION]", "[ENDPOINT]")
1386                       .toString())
1387               .setPolicy(Policy.newBuilder().build())
1388               .setUpdateMask(FieldMask.newBuilder().build())
1389               .build();
1390       client.setIamPolicy(request);
1391       Assert.fail("No exception raised");
1392     } catch (InvalidArgumentException e) {
1393       // Expected exception.
1394     }
1395   }
1396 
1397   @Test
getIamPolicyTest()1398   public void getIamPolicyTest() throws Exception {
1399     Policy expectedResponse =
1400         Policy.newBuilder()
1401             .setVersion(351608024)
1402             .addAllBindings(new ArrayList<Binding>())
1403             .addAllAuditConfigs(new ArrayList<AuditConfig>())
1404             .setEtag(ByteString.EMPTY)
1405             .build();
1406     mockIAMPolicy.addResponse(expectedResponse);
1407 
1408     GetIamPolicyRequest request =
1409         GetIamPolicyRequest.newBuilder()
1410             .setResource(
1411                 EndpointName.ofProjectLocationEndpointName("[PROJECT]", "[LOCATION]", "[ENDPOINT]")
1412                     .toString())
1413             .setOptions(GetPolicyOptions.newBuilder().build())
1414             .build();
1415 
1416     Policy actualResponse = client.getIamPolicy(request);
1417     Assert.assertEquals(expectedResponse, actualResponse);
1418 
1419     List<AbstractMessage> actualRequests = mockIAMPolicy.getRequests();
1420     Assert.assertEquals(1, actualRequests.size());
1421     GetIamPolicyRequest actualRequest = ((GetIamPolicyRequest) actualRequests.get(0));
1422 
1423     Assert.assertEquals(request.getResource(), actualRequest.getResource());
1424     Assert.assertEquals(request.getOptions(), actualRequest.getOptions());
1425     Assert.assertTrue(
1426         channelProvider.isHeaderSent(
1427             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
1428             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
1429   }
1430 
1431   @Test
getIamPolicyExceptionTest()1432   public void getIamPolicyExceptionTest() throws Exception {
1433     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
1434     mockIAMPolicy.addException(exception);
1435 
1436     try {
1437       GetIamPolicyRequest request =
1438           GetIamPolicyRequest.newBuilder()
1439               .setResource(
1440                   EndpointName.ofProjectLocationEndpointName(
1441                           "[PROJECT]", "[LOCATION]", "[ENDPOINT]")
1442                       .toString())
1443               .setOptions(GetPolicyOptions.newBuilder().build())
1444               .build();
1445       client.getIamPolicy(request);
1446       Assert.fail("No exception raised");
1447     } catch (InvalidArgumentException e) {
1448       // Expected exception.
1449     }
1450   }
1451 
1452   @Test
testIamPermissionsTest()1453   public void testIamPermissionsTest() throws Exception {
1454     TestIamPermissionsResponse expectedResponse =
1455         TestIamPermissionsResponse.newBuilder().addAllPermissions(new ArrayList<String>()).build();
1456     mockIAMPolicy.addResponse(expectedResponse);
1457 
1458     TestIamPermissionsRequest request =
1459         TestIamPermissionsRequest.newBuilder()
1460             .setResource(
1461                 EndpointName.ofProjectLocationEndpointName("[PROJECT]", "[LOCATION]", "[ENDPOINT]")
1462                     .toString())
1463             .addAllPermissions(new ArrayList<String>())
1464             .build();
1465 
1466     TestIamPermissionsResponse actualResponse = client.testIamPermissions(request);
1467     Assert.assertEquals(expectedResponse, actualResponse);
1468 
1469     List<AbstractMessage> actualRequests = mockIAMPolicy.getRequests();
1470     Assert.assertEquals(1, actualRequests.size());
1471     TestIamPermissionsRequest actualRequest = ((TestIamPermissionsRequest) actualRequests.get(0));
1472 
1473     Assert.assertEquals(request.getResource(), actualRequest.getResource());
1474     Assert.assertEquals(request.getPermissionsList(), actualRequest.getPermissionsList());
1475     Assert.assertTrue(
1476         channelProvider.isHeaderSent(
1477             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
1478             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
1479   }
1480 
1481   @Test
testIamPermissionsExceptionTest()1482   public void testIamPermissionsExceptionTest() throws Exception {
1483     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
1484     mockIAMPolicy.addException(exception);
1485 
1486     try {
1487       TestIamPermissionsRequest request =
1488           TestIamPermissionsRequest.newBuilder()
1489               .setResource(
1490                   EndpointName.ofProjectLocationEndpointName(
1491                           "[PROJECT]", "[LOCATION]", "[ENDPOINT]")
1492                       .toString())
1493               .addAllPermissions(new ArrayList<String>())
1494               .build();
1495       client.testIamPermissions(request);
1496       Assert.fail("No exception raised");
1497     } catch (InvalidArgumentException e) {
1498       // Expected exception.
1499     }
1500   }
1501 }
1502