• 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.notebooks.v1;
18 
19 import static com.google.cloud.notebooks.v1.NotebookServiceClient.ListEnvironmentsPagedResponse;
20 import static com.google.cloud.notebooks.v1.NotebookServiceClient.ListExecutionsPagedResponse;
21 import static com.google.cloud.notebooks.v1.NotebookServiceClient.ListInstancesPagedResponse;
22 import static com.google.cloud.notebooks.v1.NotebookServiceClient.ListLocationsPagedResponse;
23 import static com.google.cloud.notebooks.v1.NotebookServiceClient.ListSchedulesPagedResponse;
24 
25 import com.google.api.gax.core.NoCredentialsProvider;
26 import com.google.api.gax.grpc.GaxGrpcProperties;
27 import com.google.api.gax.grpc.testing.LocalChannelProvider;
28 import com.google.api.gax.grpc.testing.MockGrpcService;
29 import com.google.api.gax.grpc.testing.MockServiceHelper;
30 import com.google.api.gax.rpc.ApiClientHeaderProvider;
31 import com.google.api.gax.rpc.InvalidArgumentException;
32 import com.google.api.gax.rpc.StatusCode;
33 import com.google.cloud.location.GetLocationRequest;
34 import com.google.cloud.location.ListLocationsRequest;
35 import com.google.cloud.location.ListLocationsResponse;
36 import com.google.cloud.location.Location;
37 import com.google.common.collect.Lists;
38 import com.google.iam.v1.AuditConfig;
39 import com.google.iam.v1.Binding;
40 import com.google.iam.v1.GetIamPolicyRequest;
41 import com.google.iam.v1.GetPolicyOptions;
42 import com.google.iam.v1.Policy;
43 import com.google.iam.v1.SetIamPolicyRequest;
44 import com.google.iam.v1.TestIamPermissionsRequest;
45 import com.google.iam.v1.TestIamPermissionsResponse;
46 import com.google.longrunning.Operation;
47 import com.google.protobuf.AbstractMessage;
48 import com.google.protobuf.Any;
49 import com.google.protobuf.ByteString;
50 import com.google.protobuf.Empty;
51 import com.google.protobuf.FieldMask;
52 import com.google.protobuf.Timestamp;
53 import io.grpc.StatusRuntimeException;
54 import java.io.IOException;
55 import java.util.ArrayList;
56 import java.util.Arrays;
57 import java.util.HashMap;
58 import java.util.List;
59 import java.util.UUID;
60 import java.util.concurrent.ExecutionException;
61 import javax.annotation.Generated;
62 import org.junit.After;
63 import org.junit.AfterClass;
64 import org.junit.Assert;
65 import org.junit.Before;
66 import org.junit.BeforeClass;
67 import org.junit.Test;
68 
69 @Generated("by gapic-generator-java")
70 public class NotebookServiceClientTest {
71   private static MockIAMPolicy mockIAMPolicy;
72   private static MockLocations mockLocations;
73   private static MockNotebookService mockNotebookService;
74   private static MockServiceHelper mockServiceHelper;
75   private LocalChannelProvider channelProvider;
76   private NotebookServiceClient client;
77 
78   @BeforeClass
startStaticServer()79   public static void startStaticServer() {
80     mockNotebookService = new MockNotebookService();
81     mockLocations = new MockLocations();
82     mockIAMPolicy = new MockIAMPolicy();
83     mockServiceHelper =
84         new MockServiceHelper(
85             UUID.randomUUID().toString(),
86             Arrays.<MockGrpcService>asList(mockNotebookService, mockLocations, mockIAMPolicy));
87     mockServiceHelper.start();
88   }
89 
90   @AfterClass
stopServer()91   public static void stopServer() {
92     mockServiceHelper.stop();
93   }
94 
95   @Before
setUp()96   public void setUp() throws IOException {
97     mockServiceHelper.reset();
98     channelProvider = mockServiceHelper.createChannelProvider();
99     NotebookServiceSettings settings =
100         NotebookServiceSettings.newBuilder()
101             .setTransportChannelProvider(channelProvider)
102             .setCredentialsProvider(NoCredentialsProvider.create())
103             .build();
104     client = NotebookServiceClient.create(settings);
105   }
106 
107   @After
tearDown()108   public void tearDown() throws Exception {
109     client.close();
110   }
111 
112   @Test
listInstancesTest()113   public void listInstancesTest() throws Exception {
114     Instance responsesElement = Instance.newBuilder().build();
115     ListInstancesResponse expectedResponse =
116         ListInstancesResponse.newBuilder()
117             .setNextPageToken("")
118             .addAllInstances(Arrays.asList(responsesElement))
119             .build();
120     mockNotebookService.addResponse(expectedResponse);
121 
122     String parent = "parent-995424086";
123 
124     ListInstancesPagedResponse pagedListResponse = client.listInstances(parent);
125 
126     List<Instance> resources = Lists.newArrayList(pagedListResponse.iterateAll());
127 
128     Assert.assertEquals(1, resources.size());
129     Assert.assertEquals(expectedResponse.getInstancesList().get(0), resources.get(0));
130 
131     List<AbstractMessage> actualRequests = mockNotebookService.getRequests();
132     Assert.assertEquals(1, actualRequests.size());
133     ListInstancesRequest actualRequest = ((ListInstancesRequest) actualRequests.get(0));
134 
135     Assert.assertEquals(parent, actualRequest.getParent());
136     Assert.assertTrue(
137         channelProvider.isHeaderSent(
138             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
139             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
140   }
141 
142   @Test
listInstancesExceptionTest()143   public void listInstancesExceptionTest() throws Exception {
144     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
145     mockNotebookService.addException(exception);
146 
147     try {
148       String parent = "parent-995424086";
149       client.listInstances(parent);
150       Assert.fail("No exception raised");
151     } catch (InvalidArgumentException e) {
152       // Expected exception.
153     }
154   }
155 
156   @Test
getInstanceTest()157   public void getInstanceTest() throws Exception {
158     Instance expectedResponse =
159         Instance.newBuilder()
160             .setName(InstanceName.of("[PROJECT]", "[INSTANCE]").toString())
161             .setPostStartupScript("postStartupScript870779112")
162             .setProxyUri("proxyUri-985185250")
163             .addAllInstanceOwners(new ArrayList<String>())
164             .setServiceAccount("serviceAccount1079137720")
165             .addAllServiceAccountScopes(new ArrayList<String>())
166             .setMachineType("machineType-218117087")
167             .setAcceleratorConfig(Instance.AcceleratorConfig.newBuilder().build())
168             .setInstallGpuDriver(true)
169             .setCustomGpuDriverPath("customGpuDriverPath509224520")
170             .setBootDiskSizeGb(1398920548)
171             .setDataDiskSizeGb(-1668379732)
172             .setNoRemoveDataDisk(true)
173             .setKmsKey("kmsKey-1127483058")
174             .addAllDisks(new ArrayList<Instance.Disk>())
175             .setShieldedInstanceConfig(Instance.ShieldedInstanceConfig.newBuilder().build())
176             .setNoPublicIp(true)
177             .setNoProxyAccess(true)
178             .setNetwork("network1843485230")
179             .setSubnet("subnet-891534499")
180             .putAllLabels(new HashMap<String, String>())
181             .putAllMetadata(new HashMap<String, String>())
182             .addAllTags(new ArrayList<String>())
183             .addAllUpgradeHistory(new ArrayList<Instance.UpgradeHistoryEntry>())
184             .setReservationAffinity(ReservationAffinity.newBuilder().build())
185             .setCreator("creator1028554796")
186             .setCanIpForward(true)
187             .setCreateTime(Timestamp.newBuilder().build())
188             .setUpdateTime(Timestamp.newBuilder().build())
189             .build();
190     mockNotebookService.addResponse(expectedResponse);
191 
192     String name = "name3373707";
193 
194     Instance actualResponse = client.getInstance(name);
195     Assert.assertEquals(expectedResponse, actualResponse);
196 
197     List<AbstractMessage> actualRequests = mockNotebookService.getRequests();
198     Assert.assertEquals(1, actualRequests.size());
199     GetInstanceRequest actualRequest = ((GetInstanceRequest) actualRequests.get(0));
200 
201     Assert.assertEquals(name, actualRequest.getName());
202     Assert.assertTrue(
203         channelProvider.isHeaderSent(
204             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
205             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
206   }
207 
208   @Test
getInstanceExceptionTest()209   public void getInstanceExceptionTest() throws Exception {
210     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
211     mockNotebookService.addException(exception);
212 
213     try {
214       String name = "name3373707";
215       client.getInstance(name);
216       Assert.fail("No exception raised");
217     } catch (InvalidArgumentException e) {
218       // Expected exception.
219     }
220   }
221 
222   @Test
createInstanceTest()223   public void createInstanceTest() throws Exception {
224     Instance expectedResponse =
225         Instance.newBuilder()
226             .setName(InstanceName.of("[PROJECT]", "[INSTANCE]").toString())
227             .setPostStartupScript("postStartupScript870779112")
228             .setProxyUri("proxyUri-985185250")
229             .addAllInstanceOwners(new ArrayList<String>())
230             .setServiceAccount("serviceAccount1079137720")
231             .addAllServiceAccountScopes(new ArrayList<String>())
232             .setMachineType("machineType-218117087")
233             .setAcceleratorConfig(Instance.AcceleratorConfig.newBuilder().build())
234             .setInstallGpuDriver(true)
235             .setCustomGpuDriverPath("customGpuDriverPath509224520")
236             .setBootDiskSizeGb(1398920548)
237             .setDataDiskSizeGb(-1668379732)
238             .setNoRemoveDataDisk(true)
239             .setKmsKey("kmsKey-1127483058")
240             .addAllDisks(new ArrayList<Instance.Disk>())
241             .setShieldedInstanceConfig(Instance.ShieldedInstanceConfig.newBuilder().build())
242             .setNoPublicIp(true)
243             .setNoProxyAccess(true)
244             .setNetwork("network1843485230")
245             .setSubnet("subnet-891534499")
246             .putAllLabels(new HashMap<String, String>())
247             .putAllMetadata(new HashMap<String, String>())
248             .addAllTags(new ArrayList<String>())
249             .addAllUpgradeHistory(new ArrayList<Instance.UpgradeHistoryEntry>())
250             .setReservationAffinity(ReservationAffinity.newBuilder().build())
251             .setCreator("creator1028554796")
252             .setCanIpForward(true)
253             .setCreateTime(Timestamp.newBuilder().build())
254             .setUpdateTime(Timestamp.newBuilder().build())
255             .build();
256     Operation resultOperation =
257         Operation.newBuilder()
258             .setName("createInstanceTest")
259             .setDone(true)
260             .setResponse(Any.pack(expectedResponse))
261             .build();
262     mockNotebookService.addResponse(resultOperation);
263 
264     String parent = "parent-995424086";
265     Instance instance = Instance.newBuilder().build();
266     String instanceId = "instanceId902024336";
267 
268     Instance actualResponse = client.createInstanceAsync(parent, instance, instanceId).get();
269     Assert.assertEquals(expectedResponse, actualResponse);
270 
271     List<AbstractMessage> actualRequests = mockNotebookService.getRequests();
272     Assert.assertEquals(1, actualRequests.size());
273     CreateInstanceRequest actualRequest = ((CreateInstanceRequest) actualRequests.get(0));
274 
275     Assert.assertEquals(parent, actualRequest.getParent());
276     Assert.assertEquals(instance, actualRequest.getInstance());
277     Assert.assertEquals(instanceId, actualRequest.getInstanceId());
278     Assert.assertTrue(
279         channelProvider.isHeaderSent(
280             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
281             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
282   }
283 
284   @Test
createInstanceExceptionTest()285   public void createInstanceExceptionTest() throws Exception {
286     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
287     mockNotebookService.addException(exception);
288 
289     try {
290       String parent = "parent-995424086";
291       Instance instance = Instance.newBuilder().build();
292       String instanceId = "instanceId902024336";
293       client.createInstanceAsync(parent, instance, instanceId).get();
294       Assert.fail("No exception raised");
295     } catch (ExecutionException e) {
296       Assert.assertEquals(InvalidArgumentException.class, e.getCause().getClass());
297       InvalidArgumentException apiException = ((InvalidArgumentException) e.getCause());
298       Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode());
299     }
300   }
301 
302   @Test
registerInstanceTest()303   public void registerInstanceTest() throws Exception {
304     Instance expectedResponse =
305         Instance.newBuilder()
306             .setName(InstanceName.of("[PROJECT]", "[INSTANCE]").toString())
307             .setPostStartupScript("postStartupScript870779112")
308             .setProxyUri("proxyUri-985185250")
309             .addAllInstanceOwners(new ArrayList<String>())
310             .setServiceAccount("serviceAccount1079137720")
311             .addAllServiceAccountScopes(new ArrayList<String>())
312             .setMachineType("machineType-218117087")
313             .setAcceleratorConfig(Instance.AcceleratorConfig.newBuilder().build())
314             .setInstallGpuDriver(true)
315             .setCustomGpuDriverPath("customGpuDriverPath509224520")
316             .setBootDiskSizeGb(1398920548)
317             .setDataDiskSizeGb(-1668379732)
318             .setNoRemoveDataDisk(true)
319             .setKmsKey("kmsKey-1127483058")
320             .addAllDisks(new ArrayList<Instance.Disk>())
321             .setShieldedInstanceConfig(Instance.ShieldedInstanceConfig.newBuilder().build())
322             .setNoPublicIp(true)
323             .setNoProxyAccess(true)
324             .setNetwork("network1843485230")
325             .setSubnet("subnet-891534499")
326             .putAllLabels(new HashMap<String, String>())
327             .putAllMetadata(new HashMap<String, String>())
328             .addAllTags(new ArrayList<String>())
329             .addAllUpgradeHistory(new ArrayList<Instance.UpgradeHistoryEntry>())
330             .setReservationAffinity(ReservationAffinity.newBuilder().build())
331             .setCreator("creator1028554796")
332             .setCanIpForward(true)
333             .setCreateTime(Timestamp.newBuilder().build())
334             .setUpdateTime(Timestamp.newBuilder().build())
335             .build();
336     Operation resultOperation =
337         Operation.newBuilder()
338             .setName("registerInstanceTest")
339             .setDone(true)
340             .setResponse(Any.pack(expectedResponse))
341             .build();
342     mockNotebookService.addResponse(resultOperation);
343 
344     RegisterInstanceRequest request =
345         RegisterInstanceRequest.newBuilder()
346             .setParent("parent-995424086")
347             .setInstanceId("instanceId902024336")
348             .build();
349 
350     Instance actualResponse = client.registerInstanceAsync(request).get();
351     Assert.assertEquals(expectedResponse, actualResponse);
352 
353     List<AbstractMessage> actualRequests = mockNotebookService.getRequests();
354     Assert.assertEquals(1, actualRequests.size());
355     RegisterInstanceRequest actualRequest = ((RegisterInstanceRequest) actualRequests.get(0));
356 
357     Assert.assertEquals(request.getParent(), actualRequest.getParent());
358     Assert.assertEquals(request.getInstanceId(), actualRequest.getInstanceId());
359     Assert.assertTrue(
360         channelProvider.isHeaderSent(
361             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
362             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
363   }
364 
365   @Test
registerInstanceExceptionTest()366   public void registerInstanceExceptionTest() throws Exception {
367     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
368     mockNotebookService.addException(exception);
369 
370     try {
371       RegisterInstanceRequest request =
372           RegisterInstanceRequest.newBuilder()
373               .setParent("parent-995424086")
374               .setInstanceId("instanceId902024336")
375               .build();
376       client.registerInstanceAsync(request).get();
377       Assert.fail("No exception raised");
378     } catch (ExecutionException e) {
379       Assert.assertEquals(InvalidArgumentException.class, e.getCause().getClass());
380       InvalidArgumentException apiException = ((InvalidArgumentException) e.getCause());
381       Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode());
382     }
383   }
384 
385   @Test
setInstanceAcceleratorTest()386   public void setInstanceAcceleratorTest() throws Exception {
387     Instance expectedResponse =
388         Instance.newBuilder()
389             .setName(InstanceName.of("[PROJECT]", "[INSTANCE]").toString())
390             .setPostStartupScript("postStartupScript870779112")
391             .setProxyUri("proxyUri-985185250")
392             .addAllInstanceOwners(new ArrayList<String>())
393             .setServiceAccount("serviceAccount1079137720")
394             .addAllServiceAccountScopes(new ArrayList<String>())
395             .setMachineType("machineType-218117087")
396             .setAcceleratorConfig(Instance.AcceleratorConfig.newBuilder().build())
397             .setInstallGpuDriver(true)
398             .setCustomGpuDriverPath("customGpuDriverPath509224520")
399             .setBootDiskSizeGb(1398920548)
400             .setDataDiskSizeGb(-1668379732)
401             .setNoRemoveDataDisk(true)
402             .setKmsKey("kmsKey-1127483058")
403             .addAllDisks(new ArrayList<Instance.Disk>())
404             .setShieldedInstanceConfig(Instance.ShieldedInstanceConfig.newBuilder().build())
405             .setNoPublicIp(true)
406             .setNoProxyAccess(true)
407             .setNetwork("network1843485230")
408             .setSubnet("subnet-891534499")
409             .putAllLabels(new HashMap<String, String>())
410             .putAllMetadata(new HashMap<String, String>())
411             .addAllTags(new ArrayList<String>())
412             .addAllUpgradeHistory(new ArrayList<Instance.UpgradeHistoryEntry>())
413             .setReservationAffinity(ReservationAffinity.newBuilder().build())
414             .setCreator("creator1028554796")
415             .setCanIpForward(true)
416             .setCreateTime(Timestamp.newBuilder().build())
417             .setUpdateTime(Timestamp.newBuilder().build())
418             .build();
419     Operation resultOperation =
420         Operation.newBuilder()
421             .setName("setInstanceAcceleratorTest")
422             .setDone(true)
423             .setResponse(Any.pack(expectedResponse))
424             .build();
425     mockNotebookService.addResponse(resultOperation);
426 
427     SetInstanceAcceleratorRequest request =
428         SetInstanceAcceleratorRequest.newBuilder()
429             .setName("name3373707")
430             .setCoreCount(-1963855761)
431             .build();
432 
433     Instance actualResponse = client.setInstanceAcceleratorAsync(request).get();
434     Assert.assertEquals(expectedResponse, actualResponse);
435 
436     List<AbstractMessage> actualRequests = mockNotebookService.getRequests();
437     Assert.assertEquals(1, actualRequests.size());
438     SetInstanceAcceleratorRequest actualRequest =
439         ((SetInstanceAcceleratorRequest) actualRequests.get(0));
440 
441     Assert.assertEquals(request.getName(), actualRequest.getName());
442     Assert.assertEquals(request.getType(), actualRequest.getType());
443     Assert.assertEquals(request.getCoreCount(), actualRequest.getCoreCount());
444     Assert.assertTrue(
445         channelProvider.isHeaderSent(
446             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
447             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
448   }
449 
450   @Test
setInstanceAcceleratorExceptionTest()451   public void setInstanceAcceleratorExceptionTest() throws Exception {
452     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
453     mockNotebookService.addException(exception);
454 
455     try {
456       SetInstanceAcceleratorRequest request =
457           SetInstanceAcceleratorRequest.newBuilder()
458               .setName("name3373707")
459               .setCoreCount(-1963855761)
460               .build();
461       client.setInstanceAcceleratorAsync(request).get();
462       Assert.fail("No exception raised");
463     } catch (ExecutionException e) {
464       Assert.assertEquals(InvalidArgumentException.class, e.getCause().getClass());
465       InvalidArgumentException apiException = ((InvalidArgumentException) e.getCause());
466       Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode());
467     }
468   }
469 
470   @Test
setInstanceMachineTypeTest()471   public void setInstanceMachineTypeTest() throws Exception {
472     Instance expectedResponse =
473         Instance.newBuilder()
474             .setName(InstanceName.of("[PROJECT]", "[INSTANCE]").toString())
475             .setPostStartupScript("postStartupScript870779112")
476             .setProxyUri("proxyUri-985185250")
477             .addAllInstanceOwners(new ArrayList<String>())
478             .setServiceAccount("serviceAccount1079137720")
479             .addAllServiceAccountScopes(new ArrayList<String>())
480             .setMachineType("machineType-218117087")
481             .setAcceleratorConfig(Instance.AcceleratorConfig.newBuilder().build())
482             .setInstallGpuDriver(true)
483             .setCustomGpuDriverPath("customGpuDriverPath509224520")
484             .setBootDiskSizeGb(1398920548)
485             .setDataDiskSizeGb(-1668379732)
486             .setNoRemoveDataDisk(true)
487             .setKmsKey("kmsKey-1127483058")
488             .addAllDisks(new ArrayList<Instance.Disk>())
489             .setShieldedInstanceConfig(Instance.ShieldedInstanceConfig.newBuilder().build())
490             .setNoPublicIp(true)
491             .setNoProxyAccess(true)
492             .setNetwork("network1843485230")
493             .setSubnet("subnet-891534499")
494             .putAllLabels(new HashMap<String, String>())
495             .putAllMetadata(new HashMap<String, String>())
496             .addAllTags(new ArrayList<String>())
497             .addAllUpgradeHistory(new ArrayList<Instance.UpgradeHistoryEntry>())
498             .setReservationAffinity(ReservationAffinity.newBuilder().build())
499             .setCreator("creator1028554796")
500             .setCanIpForward(true)
501             .setCreateTime(Timestamp.newBuilder().build())
502             .setUpdateTime(Timestamp.newBuilder().build())
503             .build();
504     Operation resultOperation =
505         Operation.newBuilder()
506             .setName("setInstanceMachineTypeTest")
507             .setDone(true)
508             .setResponse(Any.pack(expectedResponse))
509             .build();
510     mockNotebookService.addResponse(resultOperation);
511 
512     SetInstanceMachineTypeRequest request =
513         SetInstanceMachineTypeRequest.newBuilder()
514             .setName("name3373707")
515             .setMachineType("machineType-218117087")
516             .build();
517 
518     Instance actualResponse = client.setInstanceMachineTypeAsync(request).get();
519     Assert.assertEquals(expectedResponse, actualResponse);
520 
521     List<AbstractMessage> actualRequests = mockNotebookService.getRequests();
522     Assert.assertEquals(1, actualRequests.size());
523     SetInstanceMachineTypeRequest actualRequest =
524         ((SetInstanceMachineTypeRequest) actualRequests.get(0));
525 
526     Assert.assertEquals(request.getName(), actualRequest.getName());
527     Assert.assertEquals(request.getMachineType(), actualRequest.getMachineType());
528     Assert.assertTrue(
529         channelProvider.isHeaderSent(
530             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
531             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
532   }
533 
534   @Test
setInstanceMachineTypeExceptionTest()535   public void setInstanceMachineTypeExceptionTest() throws Exception {
536     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
537     mockNotebookService.addException(exception);
538 
539     try {
540       SetInstanceMachineTypeRequest request =
541           SetInstanceMachineTypeRequest.newBuilder()
542               .setName("name3373707")
543               .setMachineType("machineType-218117087")
544               .build();
545       client.setInstanceMachineTypeAsync(request).get();
546       Assert.fail("No exception raised");
547     } catch (ExecutionException e) {
548       Assert.assertEquals(InvalidArgumentException.class, e.getCause().getClass());
549       InvalidArgumentException apiException = ((InvalidArgumentException) e.getCause());
550       Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode());
551     }
552   }
553 
554   @Test
updateInstanceConfigTest()555   public void updateInstanceConfigTest() throws Exception {
556     Instance expectedResponse =
557         Instance.newBuilder()
558             .setName(InstanceName.of("[PROJECT]", "[INSTANCE]").toString())
559             .setPostStartupScript("postStartupScript870779112")
560             .setProxyUri("proxyUri-985185250")
561             .addAllInstanceOwners(new ArrayList<String>())
562             .setServiceAccount("serviceAccount1079137720")
563             .addAllServiceAccountScopes(new ArrayList<String>())
564             .setMachineType("machineType-218117087")
565             .setAcceleratorConfig(Instance.AcceleratorConfig.newBuilder().build())
566             .setInstallGpuDriver(true)
567             .setCustomGpuDriverPath("customGpuDriverPath509224520")
568             .setBootDiskSizeGb(1398920548)
569             .setDataDiskSizeGb(-1668379732)
570             .setNoRemoveDataDisk(true)
571             .setKmsKey("kmsKey-1127483058")
572             .addAllDisks(new ArrayList<Instance.Disk>())
573             .setShieldedInstanceConfig(Instance.ShieldedInstanceConfig.newBuilder().build())
574             .setNoPublicIp(true)
575             .setNoProxyAccess(true)
576             .setNetwork("network1843485230")
577             .setSubnet("subnet-891534499")
578             .putAllLabels(new HashMap<String, String>())
579             .putAllMetadata(new HashMap<String, String>())
580             .addAllTags(new ArrayList<String>())
581             .addAllUpgradeHistory(new ArrayList<Instance.UpgradeHistoryEntry>())
582             .setReservationAffinity(ReservationAffinity.newBuilder().build())
583             .setCreator("creator1028554796")
584             .setCanIpForward(true)
585             .setCreateTime(Timestamp.newBuilder().build())
586             .setUpdateTime(Timestamp.newBuilder().build())
587             .build();
588     Operation resultOperation =
589         Operation.newBuilder()
590             .setName("updateInstanceConfigTest")
591             .setDone(true)
592             .setResponse(Any.pack(expectedResponse))
593             .build();
594     mockNotebookService.addResponse(resultOperation);
595 
596     UpdateInstanceConfigRequest request =
597         UpdateInstanceConfigRequest.newBuilder()
598             .setName("name3373707")
599             .setConfig(InstanceConfig.newBuilder().build())
600             .build();
601 
602     Instance actualResponse = client.updateInstanceConfigAsync(request).get();
603     Assert.assertEquals(expectedResponse, actualResponse);
604 
605     List<AbstractMessage> actualRequests = mockNotebookService.getRequests();
606     Assert.assertEquals(1, actualRequests.size());
607     UpdateInstanceConfigRequest actualRequest =
608         ((UpdateInstanceConfigRequest) actualRequests.get(0));
609 
610     Assert.assertEquals(request.getName(), actualRequest.getName());
611     Assert.assertEquals(request.getConfig(), actualRequest.getConfig());
612     Assert.assertTrue(
613         channelProvider.isHeaderSent(
614             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
615             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
616   }
617 
618   @Test
updateInstanceConfigExceptionTest()619   public void updateInstanceConfigExceptionTest() throws Exception {
620     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
621     mockNotebookService.addException(exception);
622 
623     try {
624       UpdateInstanceConfigRequest request =
625           UpdateInstanceConfigRequest.newBuilder()
626               .setName("name3373707")
627               .setConfig(InstanceConfig.newBuilder().build())
628               .build();
629       client.updateInstanceConfigAsync(request).get();
630       Assert.fail("No exception raised");
631     } catch (ExecutionException e) {
632       Assert.assertEquals(InvalidArgumentException.class, e.getCause().getClass());
633       InvalidArgumentException apiException = ((InvalidArgumentException) e.getCause());
634       Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode());
635     }
636   }
637 
638   @Test
updateShieldedInstanceConfigTest()639   public void updateShieldedInstanceConfigTest() throws Exception {
640     Instance expectedResponse =
641         Instance.newBuilder()
642             .setName(InstanceName.of("[PROJECT]", "[INSTANCE]").toString())
643             .setPostStartupScript("postStartupScript870779112")
644             .setProxyUri("proxyUri-985185250")
645             .addAllInstanceOwners(new ArrayList<String>())
646             .setServiceAccount("serviceAccount1079137720")
647             .addAllServiceAccountScopes(new ArrayList<String>())
648             .setMachineType("machineType-218117087")
649             .setAcceleratorConfig(Instance.AcceleratorConfig.newBuilder().build())
650             .setInstallGpuDriver(true)
651             .setCustomGpuDriverPath("customGpuDriverPath509224520")
652             .setBootDiskSizeGb(1398920548)
653             .setDataDiskSizeGb(-1668379732)
654             .setNoRemoveDataDisk(true)
655             .setKmsKey("kmsKey-1127483058")
656             .addAllDisks(new ArrayList<Instance.Disk>())
657             .setShieldedInstanceConfig(Instance.ShieldedInstanceConfig.newBuilder().build())
658             .setNoPublicIp(true)
659             .setNoProxyAccess(true)
660             .setNetwork("network1843485230")
661             .setSubnet("subnet-891534499")
662             .putAllLabels(new HashMap<String, String>())
663             .putAllMetadata(new HashMap<String, String>())
664             .addAllTags(new ArrayList<String>())
665             .addAllUpgradeHistory(new ArrayList<Instance.UpgradeHistoryEntry>())
666             .setReservationAffinity(ReservationAffinity.newBuilder().build())
667             .setCreator("creator1028554796")
668             .setCanIpForward(true)
669             .setCreateTime(Timestamp.newBuilder().build())
670             .setUpdateTime(Timestamp.newBuilder().build())
671             .build();
672     Operation resultOperation =
673         Operation.newBuilder()
674             .setName("updateShieldedInstanceConfigTest")
675             .setDone(true)
676             .setResponse(Any.pack(expectedResponse))
677             .build();
678     mockNotebookService.addResponse(resultOperation);
679 
680     UpdateShieldedInstanceConfigRequest request =
681         UpdateShieldedInstanceConfigRequest.newBuilder()
682             .setName("name3373707")
683             .setShieldedInstanceConfig(Instance.ShieldedInstanceConfig.newBuilder().build())
684             .build();
685 
686     Instance actualResponse = client.updateShieldedInstanceConfigAsync(request).get();
687     Assert.assertEquals(expectedResponse, actualResponse);
688 
689     List<AbstractMessage> actualRequests = mockNotebookService.getRequests();
690     Assert.assertEquals(1, actualRequests.size());
691     UpdateShieldedInstanceConfigRequest actualRequest =
692         ((UpdateShieldedInstanceConfigRequest) actualRequests.get(0));
693 
694     Assert.assertEquals(request.getName(), actualRequest.getName());
695     Assert.assertEquals(
696         request.getShieldedInstanceConfig(), actualRequest.getShieldedInstanceConfig());
697     Assert.assertTrue(
698         channelProvider.isHeaderSent(
699             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
700             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
701   }
702 
703   @Test
updateShieldedInstanceConfigExceptionTest()704   public void updateShieldedInstanceConfigExceptionTest() throws Exception {
705     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
706     mockNotebookService.addException(exception);
707 
708     try {
709       UpdateShieldedInstanceConfigRequest request =
710           UpdateShieldedInstanceConfigRequest.newBuilder()
711               .setName("name3373707")
712               .setShieldedInstanceConfig(Instance.ShieldedInstanceConfig.newBuilder().build())
713               .build();
714       client.updateShieldedInstanceConfigAsync(request).get();
715       Assert.fail("No exception raised");
716     } catch (ExecutionException e) {
717       Assert.assertEquals(InvalidArgumentException.class, e.getCause().getClass());
718       InvalidArgumentException apiException = ((InvalidArgumentException) e.getCause());
719       Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode());
720     }
721   }
722 
723   @Test
setInstanceLabelsTest()724   public void setInstanceLabelsTest() throws Exception {
725     Instance expectedResponse =
726         Instance.newBuilder()
727             .setName(InstanceName.of("[PROJECT]", "[INSTANCE]").toString())
728             .setPostStartupScript("postStartupScript870779112")
729             .setProxyUri("proxyUri-985185250")
730             .addAllInstanceOwners(new ArrayList<String>())
731             .setServiceAccount("serviceAccount1079137720")
732             .addAllServiceAccountScopes(new ArrayList<String>())
733             .setMachineType("machineType-218117087")
734             .setAcceleratorConfig(Instance.AcceleratorConfig.newBuilder().build())
735             .setInstallGpuDriver(true)
736             .setCustomGpuDriverPath("customGpuDriverPath509224520")
737             .setBootDiskSizeGb(1398920548)
738             .setDataDiskSizeGb(-1668379732)
739             .setNoRemoveDataDisk(true)
740             .setKmsKey("kmsKey-1127483058")
741             .addAllDisks(new ArrayList<Instance.Disk>())
742             .setShieldedInstanceConfig(Instance.ShieldedInstanceConfig.newBuilder().build())
743             .setNoPublicIp(true)
744             .setNoProxyAccess(true)
745             .setNetwork("network1843485230")
746             .setSubnet("subnet-891534499")
747             .putAllLabels(new HashMap<String, String>())
748             .putAllMetadata(new HashMap<String, String>())
749             .addAllTags(new ArrayList<String>())
750             .addAllUpgradeHistory(new ArrayList<Instance.UpgradeHistoryEntry>())
751             .setReservationAffinity(ReservationAffinity.newBuilder().build())
752             .setCreator("creator1028554796")
753             .setCanIpForward(true)
754             .setCreateTime(Timestamp.newBuilder().build())
755             .setUpdateTime(Timestamp.newBuilder().build())
756             .build();
757     Operation resultOperation =
758         Operation.newBuilder()
759             .setName("setInstanceLabelsTest")
760             .setDone(true)
761             .setResponse(Any.pack(expectedResponse))
762             .build();
763     mockNotebookService.addResponse(resultOperation);
764 
765     SetInstanceLabelsRequest request =
766         SetInstanceLabelsRequest.newBuilder()
767             .setName("name3373707")
768             .putAllLabels(new HashMap<String, String>())
769             .build();
770 
771     Instance actualResponse = client.setInstanceLabelsAsync(request).get();
772     Assert.assertEquals(expectedResponse, actualResponse);
773 
774     List<AbstractMessage> actualRequests = mockNotebookService.getRequests();
775     Assert.assertEquals(1, actualRequests.size());
776     SetInstanceLabelsRequest actualRequest = ((SetInstanceLabelsRequest) actualRequests.get(0));
777 
778     Assert.assertEquals(request.getName(), actualRequest.getName());
779     Assert.assertEquals(request.getLabelsMap(), actualRequest.getLabelsMap());
780     Assert.assertTrue(
781         channelProvider.isHeaderSent(
782             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
783             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
784   }
785 
786   @Test
setInstanceLabelsExceptionTest()787   public void setInstanceLabelsExceptionTest() throws Exception {
788     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
789     mockNotebookService.addException(exception);
790 
791     try {
792       SetInstanceLabelsRequest request =
793           SetInstanceLabelsRequest.newBuilder()
794               .setName("name3373707")
795               .putAllLabels(new HashMap<String, String>())
796               .build();
797       client.setInstanceLabelsAsync(request).get();
798       Assert.fail("No exception raised");
799     } catch (ExecutionException e) {
800       Assert.assertEquals(InvalidArgumentException.class, e.getCause().getClass());
801       InvalidArgumentException apiException = ((InvalidArgumentException) e.getCause());
802       Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode());
803     }
804   }
805 
806   @Test
updateInstanceMetadataItemsTest()807   public void updateInstanceMetadataItemsTest() throws Exception {
808     UpdateInstanceMetadataItemsResponse expectedResponse =
809         UpdateInstanceMetadataItemsResponse.newBuilder()
810             .putAllItems(new HashMap<String, String>())
811             .build();
812     mockNotebookService.addResponse(expectedResponse);
813 
814     UpdateInstanceMetadataItemsRequest request =
815         UpdateInstanceMetadataItemsRequest.newBuilder()
816             .setName("name3373707")
817             .putAllItems(new HashMap<String, String>())
818             .build();
819 
820     UpdateInstanceMetadataItemsResponse actualResponse =
821         client.updateInstanceMetadataItems(request);
822     Assert.assertEquals(expectedResponse, actualResponse);
823 
824     List<AbstractMessage> actualRequests = mockNotebookService.getRequests();
825     Assert.assertEquals(1, actualRequests.size());
826     UpdateInstanceMetadataItemsRequest actualRequest =
827         ((UpdateInstanceMetadataItemsRequest) actualRequests.get(0));
828 
829     Assert.assertEquals(request.getName(), actualRequest.getName());
830     Assert.assertEquals(request.getItemsMap(), actualRequest.getItemsMap());
831     Assert.assertTrue(
832         channelProvider.isHeaderSent(
833             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
834             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
835   }
836 
837   @Test
updateInstanceMetadataItemsExceptionTest()838   public void updateInstanceMetadataItemsExceptionTest() throws Exception {
839     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
840     mockNotebookService.addException(exception);
841 
842     try {
843       UpdateInstanceMetadataItemsRequest request =
844           UpdateInstanceMetadataItemsRequest.newBuilder()
845               .setName("name3373707")
846               .putAllItems(new HashMap<String, String>())
847               .build();
848       client.updateInstanceMetadataItems(request);
849       Assert.fail("No exception raised");
850     } catch (InvalidArgumentException e) {
851       // Expected exception.
852     }
853   }
854 
855   @Test
deleteInstanceTest()856   public void deleteInstanceTest() throws Exception {
857     Empty expectedResponse = Empty.newBuilder().build();
858     Operation resultOperation =
859         Operation.newBuilder()
860             .setName("deleteInstanceTest")
861             .setDone(true)
862             .setResponse(Any.pack(expectedResponse))
863             .build();
864     mockNotebookService.addResponse(resultOperation);
865 
866     String name = "name3373707";
867 
868     client.deleteInstanceAsync(name).get();
869 
870     List<AbstractMessage> actualRequests = mockNotebookService.getRequests();
871     Assert.assertEquals(1, actualRequests.size());
872     DeleteInstanceRequest actualRequest = ((DeleteInstanceRequest) actualRequests.get(0));
873 
874     Assert.assertEquals(name, actualRequest.getName());
875     Assert.assertTrue(
876         channelProvider.isHeaderSent(
877             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
878             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
879   }
880 
881   @Test
deleteInstanceExceptionTest()882   public void deleteInstanceExceptionTest() throws Exception {
883     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
884     mockNotebookService.addException(exception);
885 
886     try {
887       String name = "name3373707";
888       client.deleteInstanceAsync(name).get();
889       Assert.fail("No exception raised");
890     } catch (ExecutionException e) {
891       Assert.assertEquals(InvalidArgumentException.class, e.getCause().getClass());
892       InvalidArgumentException apiException = ((InvalidArgumentException) e.getCause());
893       Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode());
894     }
895   }
896 
897   @Test
startInstanceTest()898   public void startInstanceTest() throws Exception {
899     Instance expectedResponse =
900         Instance.newBuilder()
901             .setName(InstanceName.of("[PROJECT]", "[INSTANCE]").toString())
902             .setPostStartupScript("postStartupScript870779112")
903             .setProxyUri("proxyUri-985185250")
904             .addAllInstanceOwners(new ArrayList<String>())
905             .setServiceAccount("serviceAccount1079137720")
906             .addAllServiceAccountScopes(new ArrayList<String>())
907             .setMachineType("machineType-218117087")
908             .setAcceleratorConfig(Instance.AcceleratorConfig.newBuilder().build())
909             .setInstallGpuDriver(true)
910             .setCustomGpuDriverPath("customGpuDriverPath509224520")
911             .setBootDiskSizeGb(1398920548)
912             .setDataDiskSizeGb(-1668379732)
913             .setNoRemoveDataDisk(true)
914             .setKmsKey("kmsKey-1127483058")
915             .addAllDisks(new ArrayList<Instance.Disk>())
916             .setShieldedInstanceConfig(Instance.ShieldedInstanceConfig.newBuilder().build())
917             .setNoPublicIp(true)
918             .setNoProxyAccess(true)
919             .setNetwork("network1843485230")
920             .setSubnet("subnet-891534499")
921             .putAllLabels(new HashMap<String, String>())
922             .putAllMetadata(new HashMap<String, String>())
923             .addAllTags(new ArrayList<String>())
924             .addAllUpgradeHistory(new ArrayList<Instance.UpgradeHistoryEntry>())
925             .setReservationAffinity(ReservationAffinity.newBuilder().build())
926             .setCreator("creator1028554796")
927             .setCanIpForward(true)
928             .setCreateTime(Timestamp.newBuilder().build())
929             .setUpdateTime(Timestamp.newBuilder().build())
930             .build();
931     Operation resultOperation =
932         Operation.newBuilder()
933             .setName("startInstanceTest")
934             .setDone(true)
935             .setResponse(Any.pack(expectedResponse))
936             .build();
937     mockNotebookService.addResponse(resultOperation);
938 
939     StartInstanceRequest request = StartInstanceRequest.newBuilder().setName("name3373707").build();
940 
941     Instance actualResponse = client.startInstanceAsync(request).get();
942     Assert.assertEquals(expectedResponse, actualResponse);
943 
944     List<AbstractMessage> actualRequests = mockNotebookService.getRequests();
945     Assert.assertEquals(1, actualRequests.size());
946     StartInstanceRequest actualRequest = ((StartInstanceRequest) actualRequests.get(0));
947 
948     Assert.assertEquals(request.getName(), actualRequest.getName());
949     Assert.assertTrue(
950         channelProvider.isHeaderSent(
951             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
952             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
953   }
954 
955   @Test
startInstanceExceptionTest()956   public void startInstanceExceptionTest() throws Exception {
957     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
958     mockNotebookService.addException(exception);
959 
960     try {
961       StartInstanceRequest request =
962           StartInstanceRequest.newBuilder().setName("name3373707").build();
963       client.startInstanceAsync(request).get();
964       Assert.fail("No exception raised");
965     } catch (ExecutionException e) {
966       Assert.assertEquals(InvalidArgumentException.class, e.getCause().getClass());
967       InvalidArgumentException apiException = ((InvalidArgumentException) e.getCause());
968       Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode());
969     }
970   }
971 
972   @Test
stopInstanceTest()973   public void stopInstanceTest() throws Exception {
974     Instance expectedResponse =
975         Instance.newBuilder()
976             .setName(InstanceName.of("[PROJECT]", "[INSTANCE]").toString())
977             .setPostStartupScript("postStartupScript870779112")
978             .setProxyUri("proxyUri-985185250")
979             .addAllInstanceOwners(new ArrayList<String>())
980             .setServiceAccount("serviceAccount1079137720")
981             .addAllServiceAccountScopes(new ArrayList<String>())
982             .setMachineType("machineType-218117087")
983             .setAcceleratorConfig(Instance.AcceleratorConfig.newBuilder().build())
984             .setInstallGpuDriver(true)
985             .setCustomGpuDriverPath("customGpuDriverPath509224520")
986             .setBootDiskSizeGb(1398920548)
987             .setDataDiskSizeGb(-1668379732)
988             .setNoRemoveDataDisk(true)
989             .setKmsKey("kmsKey-1127483058")
990             .addAllDisks(new ArrayList<Instance.Disk>())
991             .setShieldedInstanceConfig(Instance.ShieldedInstanceConfig.newBuilder().build())
992             .setNoPublicIp(true)
993             .setNoProxyAccess(true)
994             .setNetwork("network1843485230")
995             .setSubnet("subnet-891534499")
996             .putAllLabels(new HashMap<String, String>())
997             .putAllMetadata(new HashMap<String, String>())
998             .addAllTags(new ArrayList<String>())
999             .addAllUpgradeHistory(new ArrayList<Instance.UpgradeHistoryEntry>())
1000             .setReservationAffinity(ReservationAffinity.newBuilder().build())
1001             .setCreator("creator1028554796")
1002             .setCanIpForward(true)
1003             .setCreateTime(Timestamp.newBuilder().build())
1004             .setUpdateTime(Timestamp.newBuilder().build())
1005             .build();
1006     Operation resultOperation =
1007         Operation.newBuilder()
1008             .setName("stopInstanceTest")
1009             .setDone(true)
1010             .setResponse(Any.pack(expectedResponse))
1011             .build();
1012     mockNotebookService.addResponse(resultOperation);
1013 
1014     StopInstanceRequest request = StopInstanceRequest.newBuilder().setName("name3373707").build();
1015 
1016     Instance actualResponse = client.stopInstanceAsync(request).get();
1017     Assert.assertEquals(expectedResponse, actualResponse);
1018 
1019     List<AbstractMessage> actualRequests = mockNotebookService.getRequests();
1020     Assert.assertEquals(1, actualRequests.size());
1021     StopInstanceRequest actualRequest = ((StopInstanceRequest) actualRequests.get(0));
1022 
1023     Assert.assertEquals(request.getName(), actualRequest.getName());
1024     Assert.assertTrue(
1025         channelProvider.isHeaderSent(
1026             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
1027             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
1028   }
1029 
1030   @Test
stopInstanceExceptionTest()1031   public void stopInstanceExceptionTest() throws Exception {
1032     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
1033     mockNotebookService.addException(exception);
1034 
1035     try {
1036       StopInstanceRequest request = StopInstanceRequest.newBuilder().setName("name3373707").build();
1037       client.stopInstanceAsync(request).get();
1038       Assert.fail("No exception raised");
1039     } catch (ExecutionException e) {
1040       Assert.assertEquals(InvalidArgumentException.class, e.getCause().getClass());
1041       InvalidArgumentException apiException = ((InvalidArgumentException) e.getCause());
1042       Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode());
1043     }
1044   }
1045 
1046   @Test
resetInstanceTest()1047   public void resetInstanceTest() throws Exception {
1048     Instance expectedResponse =
1049         Instance.newBuilder()
1050             .setName(InstanceName.of("[PROJECT]", "[INSTANCE]").toString())
1051             .setPostStartupScript("postStartupScript870779112")
1052             .setProxyUri("proxyUri-985185250")
1053             .addAllInstanceOwners(new ArrayList<String>())
1054             .setServiceAccount("serviceAccount1079137720")
1055             .addAllServiceAccountScopes(new ArrayList<String>())
1056             .setMachineType("machineType-218117087")
1057             .setAcceleratorConfig(Instance.AcceleratorConfig.newBuilder().build())
1058             .setInstallGpuDriver(true)
1059             .setCustomGpuDriverPath("customGpuDriverPath509224520")
1060             .setBootDiskSizeGb(1398920548)
1061             .setDataDiskSizeGb(-1668379732)
1062             .setNoRemoveDataDisk(true)
1063             .setKmsKey("kmsKey-1127483058")
1064             .addAllDisks(new ArrayList<Instance.Disk>())
1065             .setShieldedInstanceConfig(Instance.ShieldedInstanceConfig.newBuilder().build())
1066             .setNoPublicIp(true)
1067             .setNoProxyAccess(true)
1068             .setNetwork("network1843485230")
1069             .setSubnet("subnet-891534499")
1070             .putAllLabels(new HashMap<String, String>())
1071             .putAllMetadata(new HashMap<String, String>())
1072             .addAllTags(new ArrayList<String>())
1073             .addAllUpgradeHistory(new ArrayList<Instance.UpgradeHistoryEntry>())
1074             .setReservationAffinity(ReservationAffinity.newBuilder().build())
1075             .setCreator("creator1028554796")
1076             .setCanIpForward(true)
1077             .setCreateTime(Timestamp.newBuilder().build())
1078             .setUpdateTime(Timestamp.newBuilder().build())
1079             .build();
1080     Operation resultOperation =
1081         Operation.newBuilder()
1082             .setName("resetInstanceTest")
1083             .setDone(true)
1084             .setResponse(Any.pack(expectedResponse))
1085             .build();
1086     mockNotebookService.addResponse(resultOperation);
1087 
1088     ResetInstanceRequest request = ResetInstanceRequest.newBuilder().setName("name3373707").build();
1089 
1090     Instance actualResponse = client.resetInstanceAsync(request).get();
1091     Assert.assertEquals(expectedResponse, actualResponse);
1092 
1093     List<AbstractMessage> actualRequests = mockNotebookService.getRequests();
1094     Assert.assertEquals(1, actualRequests.size());
1095     ResetInstanceRequest actualRequest = ((ResetInstanceRequest) actualRequests.get(0));
1096 
1097     Assert.assertEquals(request.getName(), actualRequest.getName());
1098     Assert.assertTrue(
1099         channelProvider.isHeaderSent(
1100             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
1101             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
1102   }
1103 
1104   @Test
resetInstanceExceptionTest()1105   public void resetInstanceExceptionTest() throws Exception {
1106     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
1107     mockNotebookService.addException(exception);
1108 
1109     try {
1110       ResetInstanceRequest request =
1111           ResetInstanceRequest.newBuilder().setName("name3373707").build();
1112       client.resetInstanceAsync(request).get();
1113       Assert.fail("No exception raised");
1114     } catch (ExecutionException e) {
1115       Assert.assertEquals(InvalidArgumentException.class, e.getCause().getClass());
1116       InvalidArgumentException apiException = ((InvalidArgumentException) e.getCause());
1117       Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode());
1118     }
1119   }
1120 
1121   @Test
reportInstanceInfoTest()1122   public void reportInstanceInfoTest() throws Exception {
1123     Instance expectedResponse =
1124         Instance.newBuilder()
1125             .setName(InstanceName.of("[PROJECT]", "[INSTANCE]").toString())
1126             .setPostStartupScript("postStartupScript870779112")
1127             .setProxyUri("proxyUri-985185250")
1128             .addAllInstanceOwners(new ArrayList<String>())
1129             .setServiceAccount("serviceAccount1079137720")
1130             .addAllServiceAccountScopes(new ArrayList<String>())
1131             .setMachineType("machineType-218117087")
1132             .setAcceleratorConfig(Instance.AcceleratorConfig.newBuilder().build())
1133             .setInstallGpuDriver(true)
1134             .setCustomGpuDriverPath("customGpuDriverPath509224520")
1135             .setBootDiskSizeGb(1398920548)
1136             .setDataDiskSizeGb(-1668379732)
1137             .setNoRemoveDataDisk(true)
1138             .setKmsKey("kmsKey-1127483058")
1139             .addAllDisks(new ArrayList<Instance.Disk>())
1140             .setShieldedInstanceConfig(Instance.ShieldedInstanceConfig.newBuilder().build())
1141             .setNoPublicIp(true)
1142             .setNoProxyAccess(true)
1143             .setNetwork("network1843485230")
1144             .setSubnet("subnet-891534499")
1145             .putAllLabels(new HashMap<String, String>())
1146             .putAllMetadata(new HashMap<String, String>())
1147             .addAllTags(new ArrayList<String>())
1148             .addAllUpgradeHistory(new ArrayList<Instance.UpgradeHistoryEntry>())
1149             .setReservationAffinity(ReservationAffinity.newBuilder().build())
1150             .setCreator("creator1028554796")
1151             .setCanIpForward(true)
1152             .setCreateTime(Timestamp.newBuilder().build())
1153             .setUpdateTime(Timestamp.newBuilder().build())
1154             .build();
1155     Operation resultOperation =
1156         Operation.newBuilder()
1157             .setName("reportInstanceInfoTest")
1158             .setDone(true)
1159             .setResponse(Any.pack(expectedResponse))
1160             .build();
1161     mockNotebookService.addResponse(resultOperation);
1162 
1163     ReportInstanceInfoRequest request =
1164         ReportInstanceInfoRequest.newBuilder()
1165             .setName("name3373707")
1166             .setVmId("vmId3622450")
1167             .putAllMetadata(new HashMap<String, String>())
1168             .build();
1169 
1170     Instance actualResponse = client.reportInstanceInfoAsync(request).get();
1171     Assert.assertEquals(expectedResponse, actualResponse);
1172 
1173     List<AbstractMessage> actualRequests = mockNotebookService.getRequests();
1174     Assert.assertEquals(1, actualRequests.size());
1175     ReportInstanceInfoRequest actualRequest = ((ReportInstanceInfoRequest) actualRequests.get(0));
1176 
1177     Assert.assertEquals(request.getName(), actualRequest.getName());
1178     Assert.assertEquals(request.getVmId(), actualRequest.getVmId());
1179     Assert.assertEquals(request.getMetadataMap(), actualRequest.getMetadataMap());
1180     Assert.assertTrue(
1181         channelProvider.isHeaderSent(
1182             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
1183             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
1184   }
1185 
1186   @Test
reportInstanceInfoExceptionTest()1187   public void reportInstanceInfoExceptionTest() throws Exception {
1188     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
1189     mockNotebookService.addException(exception);
1190 
1191     try {
1192       ReportInstanceInfoRequest request =
1193           ReportInstanceInfoRequest.newBuilder()
1194               .setName("name3373707")
1195               .setVmId("vmId3622450")
1196               .putAllMetadata(new HashMap<String, String>())
1197               .build();
1198       client.reportInstanceInfoAsync(request).get();
1199       Assert.fail("No exception raised");
1200     } catch (ExecutionException e) {
1201       Assert.assertEquals(InvalidArgumentException.class, e.getCause().getClass());
1202       InvalidArgumentException apiException = ((InvalidArgumentException) e.getCause());
1203       Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode());
1204     }
1205   }
1206 
1207   @Test
isInstanceUpgradeableTest()1208   public void isInstanceUpgradeableTest() throws Exception {
1209     IsInstanceUpgradeableResponse expectedResponse =
1210         IsInstanceUpgradeableResponse.newBuilder()
1211             .setUpgradeable(true)
1212             .setUpgradeVersion("upgradeVersion-392903908")
1213             .setUpgradeInfo("upgradeInfo-1844902678")
1214             .setUpgradeImage("upgradeImage-1357442913")
1215             .build();
1216     mockNotebookService.addResponse(expectedResponse);
1217 
1218     IsInstanceUpgradeableRequest request =
1219         IsInstanceUpgradeableRequest.newBuilder()
1220             .setNotebookInstance("notebookInstance-544239728")
1221             .setType(UpgradeType.forNumber(0))
1222             .build();
1223 
1224     IsInstanceUpgradeableResponse actualResponse = client.isInstanceUpgradeable(request);
1225     Assert.assertEquals(expectedResponse, actualResponse);
1226 
1227     List<AbstractMessage> actualRequests = mockNotebookService.getRequests();
1228     Assert.assertEquals(1, actualRequests.size());
1229     IsInstanceUpgradeableRequest actualRequest =
1230         ((IsInstanceUpgradeableRequest) actualRequests.get(0));
1231 
1232     Assert.assertEquals(request.getNotebookInstance(), actualRequest.getNotebookInstance());
1233     Assert.assertEquals(request.getType(), actualRequest.getType());
1234     Assert.assertTrue(
1235         channelProvider.isHeaderSent(
1236             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
1237             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
1238   }
1239 
1240   @Test
isInstanceUpgradeableExceptionTest()1241   public void isInstanceUpgradeableExceptionTest() throws Exception {
1242     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
1243     mockNotebookService.addException(exception);
1244 
1245     try {
1246       IsInstanceUpgradeableRequest request =
1247           IsInstanceUpgradeableRequest.newBuilder()
1248               .setNotebookInstance("notebookInstance-544239728")
1249               .setType(UpgradeType.forNumber(0))
1250               .build();
1251       client.isInstanceUpgradeable(request);
1252       Assert.fail("No exception raised");
1253     } catch (InvalidArgumentException e) {
1254       // Expected exception.
1255     }
1256   }
1257 
1258   @Test
getInstanceHealthTest()1259   public void getInstanceHealthTest() throws Exception {
1260     GetInstanceHealthResponse expectedResponse =
1261         GetInstanceHealthResponse.newBuilder()
1262             .putAllHealthInfo(new HashMap<String, String>())
1263             .build();
1264     mockNotebookService.addResponse(expectedResponse);
1265 
1266     InstanceName name = InstanceName.of("[PROJECT]", "[INSTANCE]");
1267 
1268     GetInstanceHealthResponse actualResponse = client.getInstanceHealth(name);
1269     Assert.assertEquals(expectedResponse, actualResponse);
1270 
1271     List<AbstractMessage> actualRequests = mockNotebookService.getRequests();
1272     Assert.assertEquals(1, actualRequests.size());
1273     GetInstanceHealthRequest actualRequest = ((GetInstanceHealthRequest) actualRequests.get(0));
1274 
1275     Assert.assertEquals(name.toString(), actualRequest.getName());
1276     Assert.assertTrue(
1277         channelProvider.isHeaderSent(
1278             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
1279             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
1280   }
1281 
1282   @Test
getInstanceHealthExceptionTest()1283   public void getInstanceHealthExceptionTest() throws Exception {
1284     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
1285     mockNotebookService.addException(exception);
1286 
1287     try {
1288       InstanceName name = InstanceName.of("[PROJECT]", "[INSTANCE]");
1289       client.getInstanceHealth(name);
1290       Assert.fail("No exception raised");
1291     } catch (InvalidArgumentException e) {
1292       // Expected exception.
1293     }
1294   }
1295 
1296   @Test
getInstanceHealthTest2()1297   public void getInstanceHealthTest2() throws Exception {
1298     GetInstanceHealthResponse expectedResponse =
1299         GetInstanceHealthResponse.newBuilder()
1300             .putAllHealthInfo(new HashMap<String, String>())
1301             .build();
1302     mockNotebookService.addResponse(expectedResponse);
1303 
1304     String name = "name3373707";
1305 
1306     GetInstanceHealthResponse actualResponse = client.getInstanceHealth(name);
1307     Assert.assertEquals(expectedResponse, actualResponse);
1308 
1309     List<AbstractMessage> actualRequests = mockNotebookService.getRequests();
1310     Assert.assertEquals(1, actualRequests.size());
1311     GetInstanceHealthRequest actualRequest = ((GetInstanceHealthRequest) actualRequests.get(0));
1312 
1313     Assert.assertEquals(name, actualRequest.getName());
1314     Assert.assertTrue(
1315         channelProvider.isHeaderSent(
1316             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
1317             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
1318   }
1319 
1320   @Test
getInstanceHealthExceptionTest2()1321   public void getInstanceHealthExceptionTest2() throws Exception {
1322     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
1323     mockNotebookService.addException(exception);
1324 
1325     try {
1326       String name = "name3373707";
1327       client.getInstanceHealth(name);
1328       Assert.fail("No exception raised");
1329     } catch (InvalidArgumentException e) {
1330       // Expected exception.
1331     }
1332   }
1333 
1334   @Test
upgradeInstanceTest()1335   public void upgradeInstanceTest() throws Exception {
1336     Instance expectedResponse =
1337         Instance.newBuilder()
1338             .setName(InstanceName.of("[PROJECT]", "[INSTANCE]").toString())
1339             .setPostStartupScript("postStartupScript870779112")
1340             .setProxyUri("proxyUri-985185250")
1341             .addAllInstanceOwners(new ArrayList<String>())
1342             .setServiceAccount("serviceAccount1079137720")
1343             .addAllServiceAccountScopes(new ArrayList<String>())
1344             .setMachineType("machineType-218117087")
1345             .setAcceleratorConfig(Instance.AcceleratorConfig.newBuilder().build())
1346             .setInstallGpuDriver(true)
1347             .setCustomGpuDriverPath("customGpuDriverPath509224520")
1348             .setBootDiskSizeGb(1398920548)
1349             .setDataDiskSizeGb(-1668379732)
1350             .setNoRemoveDataDisk(true)
1351             .setKmsKey("kmsKey-1127483058")
1352             .addAllDisks(new ArrayList<Instance.Disk>())
1353             .setShieldedInstanceConfig(Instance.ShieldedInstanceConfig.newBuilder().build())
1354             .setNoPublicIp(true)
1355             .setNoProxyAccess(true)
1356             .setNetwork("network1843485230")
1357             .setSubnet("subnet-891534499")
1358             .putAllLabels(new HashMap<String, String>())
1359             .putAllMetadata(new HashMap<String, String>())
1360             .addAllTags(new ArrayList<String>())
1361             .addAllUpgradeHistory(new ArrayList<Instance.UpgradeHistoryEntry>())
1362             .setReservationAffinity(ReservationAffinity.newBuilder().build())
1363             .setCreator("creator1028554796")
1364             .setCanIpForward(true)
1365             .setCreateTime(Timestamp.newBuilder().build())
1366             .setUpdateTime(Timestamp.newBuilder().build())
1367             .build();
1368     Operation resultOperation =
1369         Operation.newBuilder()
1370             .setName("upgradeInstanceTest")
1371             .setDone(true)
1372             .setResponse(Any.pack(expectedResponse))
1373             .build();
1374     mockNotebookService.addResponse(resultOperation);
1375 
1376     UpgradeInstanceRequest request =
1377         UpgradeInstanceRequest.newBuilder()
1378             .setName("name3373707")
1379             .setType(UpgradeType.forNumber(0))
1380             .build();
1381 
1382     Instance actualResponse = client.upgradeInstanceAsync(request).get();
1383     Assert.assertEquals(expectedResponse, actualResponse);
1384 
1385     List<AbstractMessage> actualRequests = mockNotebookService.getRequests();
1386     Assert.assertEquals(1, actualRequests.size());
1387     UpgradeInstanceRequest actualRequest = ((UpgradeInstanceRequest) actualRequests.get(0));
1388 
1389     Assert.assertEquals(request.getName(), actualRequest.getName());
1390     Assert.assertEquals(request.getType(), actualRequest.getType());
1391     Assert.assertTrue(
1392         channelProvider.isHeaderSent(
1393             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
1394             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
1395   }
1396 
1397   @Test
upgradeInstanceExceptionTest()1398   public void upgradeInstanceExceptionTest() throws Exception {
1399     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
1400     mockNotebookService.addException(exception);
1401 
1402     try {
1403       UpgradeInstanceRequest request =
1404           UpgradeInstanceRequest.newBuilder()
1405               .setName("name3373707")
1406               .setType(UpgradeType.forNumber(0))
1407               .build();
1408       client.upgradeInstanceAsync(request).get();
1409       Assert.fail("No exception raised");
1410     } catch (ExecutionException e) {
1411       Assert.assertEquals(InvalidArgumentException.class, e.getCause().getClass());
1412       InvalidArgumentException apiException = ((InvalidArgumentException) e.getCause());
1413       Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode());
1414     }
1415   }
1416 
1417   @Test
rollbackInstanceTest()1418   public void rollbackInstanceTest() throws Exception {
1419     Instance expectedResponse =
1420         Instance.newBuilder()
1421             .setName(InstanceName.of("[PROJECT]", "[INSTANCE]").toString())
1422             .setPostStartupScript("postStartupScript870779112")
1423             .setProxyUri("proxyUri-985185250")
1424             .addAllInstanceOwners(new ArrayList<String>())
1425             .setServiceAccount("serviceAccount1079137720")
1426             .addAllServiceAccountScopes(new ArrayList<String>())
1427             .setMachineType("machineType-218117087")
1428             .setAcceleratorConfig(Instance.AcceleratorConfig.newBuilder().build())
1429             .setInstallGpuDriver(true)
1430             .setCustomGpuDriverPath("customGpuDriverPath509224520")
1431             .setBootDiskSizeGb(1398920548)
1432             .setDataDiskSizeGb(-1668379732)
1433             .setNoRemoveDataDisk(true)
1434             .setKmsKey("kmsKey-1127483058")
1435             .addAllDisks(new ArrayList<Instance.Disk>())
1436             .setShieldedInstanceConfig(Instance.ShieldedInstanceConfig.newBuilder().build())
1437             .setNoPublicIp(true)
1438             .setNoProxyAccess(true)
1439             .setNetwork("network1843485230")
1440             .setSubnet("subnet-891534499")
1441             .putAllLabels(new HashMap<String, String>())
1442             .putAllMetadata(new HashMap<String, String>())
1443             .addAllTags(new ArrayList<String>())
1444             .addAllUpgradeHistory(new ArrayList<Instance.UpgradeHistoryEntry>())
1445             .setReservationAffinity(ReservationAffinity.newBuilder().build())
1446             .setCreator("creator1028554796")
1447             .setCanIpForward(true)
1448             .setCreateTime(Timestamp.newBuilder().build())
1449             .setUpdateTime(Timestamp.newBuilder().build())
1450             .build();
1451     Operation resultOperation =
1452         Operation.newBuilder()
1453             .setName("rollbackInstanceTest")
1454             .setDone(true)
1455             .setResponse(Any.pack(expectedResponse))
1456             .build();
1457     mockNotebookService.addResponse(resultOperation);
1458 
1459     RollbackInstanceRequest request =
1460         RollbackInstanceRequest.newBuilder()
1461             .setName("name3373707")
1462             .setTargetSnapshot("targetSnapshot-1307211147")
1463             .build();
1464 
1465     Instance actualResponse = client.rollbackInstanceAsync(request).get();
1466     Assert.assertEquals(expectedResponse, actualResponse);
1467 
1468     List<AbstractMessage> actualRequests = mockNotebookService.getRequests();
1469     Assert.assertEquals(1, actualRequests.size());
1470     RollbackInstanceRequest actualRequest = ((RollbackInstanceRequest) actualRequests.get(0));
1471 
1472     Assert.assertEquals(request.getName(), actualRequest.getName());
1473     Assert.assertEquals(request.getTargetSnapshot(), actualRequest.getTargetSnapshot());
1474     Assert.assertTrue(
1475         channelProvider.isHeaderSent(
1476             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
1477             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
1478   }
1479 
1480   @Test
rollbackInstanceExceptionTest()1481   public void rollbackInstanceExceptionTest() throws Exception {
1482     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
1483     mockNotebookService.addException(exception);
1484 
1485     try {
1486       RollbackInstanceRequest request =
1487           RollbackInstanceRequest.newBuilder()
1488               .setName("name3373707")
1489               .setTargetSnapshot("targetSnapshot-1307211147")
1490               .build();
1491       client.rollbackInstanceAsync(request).get();
1492       Assert.fail("No exception raised");
1493     } catch (ExecutionException e) {
1494       Assert.assertEquals(InvalidArgumentException.class, e.getCause().getClass());
1495       InvalidArgumentException apiException = ((InvalidArgumentException) e.getCause());
1496       Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode());
1497     }
1498   }
1499 
1500   @Test
diagnoseInstanceTest()1501   public void diagnoseInstanceTest() throws Exception {
1502     Instance expectedResponse =
1503         Instance.newBuilder()
1504             .setName(InstanceName.of("[PROJECT]", "[INSTANCE]").toString())
1505             .setPostStartupScript("postStartupScript870779112")
1506             .setProxyUri("proxyUri-985185250")
1507             .addAllInstanceOwners(new ArrayList<String>())
1508             .setServiceAccount("serviceAccount1079137720")
1509             .addAllServiceAccountScopes(new ArrayList<String>())
1510             .setMachineType("machineType-218117087")
1511             .setAcceleratorConfig(Instance.AcceleratorConfig.newBuilder().build())
1512             .setInstallGpuDriver(true)
1513             .setCustomGpuDriverPath("customGpuDriverPath509224520")
1514             .setBootDiskSizeGb(1398920548)
1515             .setDataDiskSizeGb(-1668379732)
1516             .setNoRemoveDataDisk(true)
1517             .setKmsKey("kmsKey-1127483058")
1518             .addAllDisks(new ArrayList<Instance.Disk>())
1519             .setShieldedInstanceConfig(Instance.ShieldedInstanceConfig.newBuilder().build())
1520             .setNoPublicIp(true)
1521             .setNoProxyAccess(true)
1522             .setNetwork("network1843485230")
1523             .setSubnet("subnet-891534499")
1524             .putAllLabels(new HashMap<String, String>())
1525             .putAllMetadata(new HashMap<String, String>())
1526             .addAllTags(new ArrayList<String>())
1527             .addAllUpgradeHistory(new ArrayList<Instance.UpgradeHistoryEntry>())
1528             .setReservationAffinity(ReservationAffinity.newBuilder().build())
1529             .setCreator("creator1028554796")
1530             .setCanIpForward(true)
1531             .setCreateTime(Timestamp.newBuilder().build())
1532             .setUpdateTime(Timestamp.newBuilder().build())
1533             .build();
1534     Operation resultOperation =
1535         Operation.newBuilder()
1536             .setName("diagnoseInstanceTest")
1537             .setDone(true)
1538             .setResponse(Any.pack(expectedResponse))
1539             .build();
1540     mockNotebookService.addResponse(resultOperation);
1541 
1542     InstanceName name = InstanceName.of("[PROJECT]", "[INSTANCE]");
1543     DiagnosticConfig diagnosticConfig = DiagnosticConfig.newBuilder().build();
1544 
1545     Instance actualResponse = client.diagnoseInstanceAsync(name, diagnosticConfig).get();
1546     Assert.assertEquals(expectedResponse, actualResponse);
1547 
1548     List<AbstractMessage> actualRequests = mockNotebookService.getRequests();
1549     Assert.assertEquals(1, actualRequests.size());
1550     DiagnoseInstanceRequest actualRequest = ((DiagnoseInstanceRequest) actualRequests.get(0));
1551 
1552     Assert.assertEquals(name.toString(), actualRequest.getName());
1553     Assert.assertEquals(diagnosticConfig, actualRequest.getDiagnosticConfig());
1554     Assert.assertTrue(
1555         channelProvider.isHeaderSent(
1556             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
1557             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
1558   }
1559 
1560   @Test
diagnoseInstanceExceptionTest()1561   public void diagnoseInstanceExceptionTest() throws Exception {
1562     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
1563     mockNotebookService.addException(exception);
1564 
1565     try {
1566       InstanceName name = InstanceName.of("[PROJECT]", "[INSTANCE]");
1567       DiagnosticConfig diagnosticConfig = DiagnosticConfig.newBuilder().build();
1568       client.diagnoseInstanceAsync(name, diagnosticConfig).get();
1569       Assert.fail("No exception raised");
1570     } catch (ExecutionException e) {
1571       Assert.assertEquals(InvalidArgumentException.class, e.getCause().getClass());
1572       InvalidArgumentException apiException = ((InvalidArgumentException) e.getCause());
1573       Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode());
1574     }
1575   }
1576 
1577   @Test
diagnoseInstanceTest2()1578   public void diagnoseInstanceTest2() throws Exception {
1579     Instance expectedResponse =
1580         Instance.newBuilder()
1581             .setName(InstanceName.of("[PROJECT]", "[INSTANCE]").toString())
1582             .setPostStartupScript("postStartupScript870779112")
1583             .setProxyUri("proxyUri-985185250")
1584             .addAllInstanceOwners(new ArrayList<String>())
1585             .setServiceAccount("serviceAccount1079137720")
1586             .addAllServiceAccountScopes(new ArrayList<String>())
1587             .setMachineType("machineType-218117087")
1588             .setAcceleratorConfig(Instance.AcceleratorConfig.newBuilder().build())
1589             .setInstallGpuDriver(true)
1590             .setCustomGpuDriverPath("customGpuDriverPath509224520")
1591             .setBootDiskSizeGb(1398920548)
1592             .setDataDiskSizeGb(-1668379732)
1593             .setNoRemoveDataDisk(true)
1594             .setKmsKey("kmsKey-1127483058")
1595             .addAllDisks(new ArrayList<Instance.Disk>())
1596             .setShieldedInstanceConfig(Instance.ShieldedInstanceConfig.newBuilder().build())
1597             .setNoPublicIp(true)
1598             .setNoProxyAccess(true)
1599             .setNetwork("network1843485230")
1600             .setSubnet("subnet-891534499")
1601             .putAllLabels(new HashMap<String, String>())
1602             .putAllMetadata(new HashMap<String, String>())
1603             .addAllTags(new ArrayList<String>())
1604             .addAllUpgradeHistory(new ArrayList<Instance.UpgradeHistoryEntry>())
1605             .setReservationAffinity(ReservationAffinity.newBuilder().build())
1606             .setCreator("creator1028554796")
1607             .setCanIpForward(true)
1608             .setCreateTime(Timestamp.newBuilder().build())
1609             .setUpdateTime(Timestamp.newBuilder().build())
1610             .build();
1611     Operation resultOperation =
1612         Operation.newBuilder()
1613             .setName("diagnoseInstanceTest")
1614             .setDone(true)
1615             .setResponse(Any.pack(expectedResponse))
1616             .build();
1617     mockNotebookService.addResponse(resultOperation);
1618 
1619     String name = "name3373707";
1620     DiagnosticConfig diagnosticConfig = DiagnosticConfig.newBuilder().build();
1621 
1622     Instance actualResponse = client.diagnoseInstanceAsync(name, diagnosticConfig).get();
1623     Assert.assertEquals(expectedResponse, actualResponse);
1624 
1625     List<AbstractMessage> actualRequests = mockNotebookService.getRequests();
1626     Assert.assertEquals(1, actualRequests.size());
1627     DiagnoseInstanceRequest actualRequest = ((DiagnoseInstanceRequest) actualRequests.get(0));
1628 
1629     Assert.assertEquals(name, actualRequest.getName());
1630     Assert.assertEquals(diagnosticConfig, actualRequest.getDiagnosticConfig());
1631     Assert.assertTrue(
1632         channelProvider.isHeaderSent(
1633             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
1634             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
1635   }
1636 
1637   @Test
diagnoseInstanceExceptionTest2()1638   public void diagnoseInstanceExceptionTest2() throws Exception {
1639     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
1640     mockNotebookService.addException(exception);
1641 
1642     try {
1643       String name = "name3373707";
1644       DiagnosticConfig diagnosticConfig = DiagnosticConfig.newBuilder().build();
1645       client.diagnoseInstanceAsync(name, diagnosticConfig).get();
1646       Assert.fail("No exception raised");
1647     } catch (ExecutionException e) {
1648       Assert.assertEquals(InvalidArgumentException.class, e.getCause().getClass());
1649       InvalidArgumentException apiException = ((InvalidArgumentException) e.getCause());
1650       Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode());
1651     }
1652   }
1653 
1654   @Test
upgradeInstanceInternalTest()1655   public void upgradeInstanceInternalTest() throws Exception {
1656     Instance expectedResponse =
1657         Instance.newBuilder()
1658             .setName(InstanceName.of("[PROJECT]", "[INSTANCE]").toString())
1659             .setPostStartupScript("postStartupScript870779112")
1660             .setProxyUri("proxyUri-985185250")
1661             .addAllInstanceOwners(new ArrayList<String>())
1662             .setServiceAccount("serviceAccount1079137720")
1663             .addAllServiceAccountScopes(new ArrayList<String>())
1664             .setMachineType("machineType-218117087")
1665             .setAcceleratorConfig(Instance.AcceleratorConfig.newBuilder().build())
1666             .setInstallGpuDriver(true)
1667             .setCustomGpuDriverPath("customGpuDriverPath509224520")
1668             .setBootDiskSizeGb(1398920548)
1669             .setDataDiskSizeGb(-1668379732)
1670             .setNoRemoveDataDisk(true)
1671             .setKmsKey("kmsKey-1127483058")
1672             .addAllDisks(new ArrayList<Instance.Disk>())
1673             .setShieldedInstanceConfig(Instance.ShieldedInstanceConfig.newBuilder().build())
1674             .setNoPublicIp(true)
1675             .setNoProxyAccess(true)
1676             .setNetwork("network1843485230")
1677             .setSubnet("subnet-891534499")
1678             .putAllLabels(new HashMap<String, String>())
1679             .putAllMetadata(new HashMap<String, String>())
1680             .addAllTags(new ArrayList<String>())
1681             .addAllUpgradeHistory(new ArrayList<Instance.UpgradeHistoryEntry>())
1682             .setReservationAffinity(ReservationAffinity.newBuilder().build())
1683             .setCreator("creator1028554796")
1684             .setCanIpForward(true)
1685             .setCreateTime(Timestamp.newBuilder().build())
1686             .setUpdateTime(Timestamp.newBuilder().build())
1687             .build();
1688     Operation resultOperation =
1689         Operation.newBuilder()
1690             .setName("upgradeInstanceInternalTest")
1691             .setDone(true)
1692             .setResponse(Any.pack(expectedResponse))
1693             .build();
1694     mockNotebookService.addResponse(resultOperation);
1695 
1696     UpgradeInstanceInternalRequest request =
1697         UpgradeInstanceInternalRequest.newBuilder()
1698             .setName("name3373707")
1699             .setVmId("vmId3622450")
1700             .setType(UpgradeType.forNumber(0))
1701             .build();
1702 
1703     Instance actualResponse = client.upgradeInstanceInternalAsync(request).get();
1704     Assert.assertEquals(expectedResponse, actualResponse);
1705 
1706     List<AbstractMessage> actualRequests = mockNotebookService.getRequests();
1707     Assert.assertEquals(1, actualRequests.size());
1708     UpgradeInstanceInternalRequest actualRequest =
1709         ((UpgradeInstanceInternalRequest) actualRequests.get(0));
1710 
1711     Assert.assertEquals(request.getName(), actualRequest.getName());
1712     Assert.assertEquals(request.getVmId(), actualRequest.getVmId());
1713     Assert.assertEquals(request.getType(), actualRequest.getType());
1714     Assert.assertTrue(
1715         channelProvider.isHeaderSent(
1716             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
1717             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
1718   }
1719 
1720   @Test
upgradeInstanceInternalExceptionTest()1721   public void upgradeInstanceInternalExceptionTest() throws Exception {
1722     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
1723     mockNotebookService.addException(exception);
1724 
1725     try {
1726       UpgradeInstanceInternalRequest request =
1727           UpgradeInstanceInternalRequest.newBuilder()
1728               .setName("name3373707")
1729               .setVmId("vmId3622450")
1730               .setType(UpgradeType.forNumber(0))
1731               .build();
1732       client.upgradeInstanceInternalAsync(request).get();
1733       Assert.fail("No exception raised");
1734     } catch (ExecutionException e) {
1735       Assert.assertEquals(InvalidArgumentException.class, e.getCause().getClass());
1736       InvalidArgumentException apiException = ((InvalidArgumentException) e.getCause());
1737       Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode());
1738     }
1739   }
1740 
1741   @Test
listEnvironmentsTest()1742   public void listEnvironmentsTest() throws Exception {
1743     Environment responsesElement = Environment.newBuilder().build();
1744     ListEnvironmentsResponse expectedResponse =
1745         ListEnvironmentsResponse.newBuilder()
1746             .setNextPageToken("")
1747             .addAllEnvironments(Arrays.asList(responsesElement))
1748             .build();
1749     mockNotebookService.addResponse(expectedResponse);
1750 
1751     String parent = "parent-995424086";
1752 
1753     ListEnvironmentsPagedResponse pagedListResponse = client.listEnvironments(parent);
1754 
1755     List<Environment> resources = Lists.newArrayList(pagedListResponse.iterateAll());
1756 
1757     Assert.assertEquals(1, resources.size());
1758     Assert.assertEquals(expectedResponse.getEnvironmentsList().get(0), resources.get(0));
1759 
1760     List<AbstractMessage> actualRequests = mockNotebookService.getRequests();
1761     Assert.assertEquals(1, actualRequests.size());
1762     ListEnvironmentsRequest actualRequest = ((ListEnvironmentsRequest) actualRequests.get(0));
1763 
1764     Assert.assertEquals(parent, actualRequest.getParent());
1765     Assert.assertTrue(
1766         channelProvider.isHeaderSent(
1767             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
1768             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
1769   }
1770 
1771   @Test
listEnvironmentsExceptionTest()1772   public void listEnvironmentsExceptionTest() throws Exception {
1773     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
1774     mockNotebookService.addException(exception);
1775 
1776     try {
1777       String parent = "parent-995424086";
1778       client.listEnvironments(parent);
1779       Assert.fail("No exception raised");
1780     } catch (InvalidArgumentException e) {
1781       // Expected exception.
1782     }
1783   }
1784 
1785   @Test
getEnvironmentTest()1786   public void getEnvironmentTest() throws Exception {
1787     Environment expectedResponse =
1788         Environment.newBuilder()
1789             .setName("name3373707")
1790             .setDisplayName("displayName1714148973")
1791             .setDescription("description-1724546052")
1792             .setPostStartupScript("postStartupScript870779112")
1793             .setCreateTime(Timestamp.newBuilder().build())
1794             .build();
1795     mockNotebookService.addResponse(expectedResponse);
1796 
1797     String name = "name3373707";
1798 
1799     Environment actualResponse = client.getEnvironment(name);
1800     Assert.assertEquals(expectedResponse, actualResponse);
1801 
1802     List<AbstractMessage> actualRequests = mockNotebookService.getRequests();
1803     Assert.assertEquals(1, actualRequests.size());
1804     GetEnvironmentRequest actualRequest = ((GetEnvironmentRequest) actualRequests.get(0));
1805 
1806     Assert.assertEquals(name, actualRequest.getName());
1807     Assert.assertTrue(
1808         channelProvider.isHeaderSent(
1809             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
1810             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
1811   }
1812 
1813   @Test
getEnvironmentExceptionTest()1814   public void getEnvironmentExceptionTest() throws Exception {
1815     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
1816     mockNotebookService.addException(exception);
1817 
1818     try {
1819       String name = "name3373707";
1820       client.getEnvironment(name);
1821       Assert.fail("No exception raised");
1822     } catch (InvalidArgumentException e) {
1823       // Expected exception.
1824     }
1825   }
1826 
1827   @Test
createEnvironmentTest()1828   public void createEnvironmentTest() throws Exception {
1829     Environment expectedResponse =
1830         Environment.newBuilder()
1831             .setName("name3373707")
1832             .setDisplayName("displayName1714148973")
1833             .setDescription("description-1724546052")
1834             .setPostStartupScript("postStartupScript870779112")
1835             .setCreateTime(Timestamp.newBuilder().build())
1836             .build();
1837     Operation resultOperation =
1838         Operation.newBuilder()
1839             .setName("createEnvironmentTest")
1840             .setDone(true)
1841             .setResponse(Any.pack(expectedResponse))
1842             .build();
1843     mockNotebookService.addResponse(resultOperation);
1844 
1845     String parent = "parent-995424086";
1846     Environment environment = Environment.newBuilder().build();
1847     String environmentId = "environmentId-950205810";
1848 
1849     Environment actualResponse =
1850         client.createEnvironmentAsync(parent, environment, environmentId).get();
1851     Assert.assertEquals(expectedResponse, actualResponse);
1852 
1853     List<AbstractMessage> actualRequests = mockNotebookService.getRequests();
1854     Assert.assertEquals(1, actualRequests.size());
1855     CreateEnvironmentRequest actualRequest = ((CreateEnvironmentRequest) actualRequests.get(0));
1856 
1857     Assert.assertEquals(parent, actualRequest.getParent());
1858     Assert.assertEquals(environment, actualRequest.getEnvironment());
1859     Assert.assertEquals(environmentId, actualRequest.getEnvironmentId());
1860     Assert.assertTrue(
1861         channelProvider.isHeaderSent(
1862             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
1863             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
1864   }
1865 
1866   @Test
createEnvironmentExceptionTest()1867   public void createEnvironmentExceptionTest() throws Exception {
1868     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
1869     mockNotebookService.addException(exception);
1870 
1871     try {
1872       String parent = "parent-995424086";
1873       Environment environment = Environment.newBuilder().build();
1874       String environmentId = "environmentId-950205810";
1875       client.createEnvironmentAsync(parent, environment, environmentId).get();
1876       Assert.fail("No exception raised");
1877     } catch (ExecutionException e) {
1878       Assert.assertEquals(InvalidArgumentException.class, e.getCause().getClass());
1879       InvalidArgumentException apiException = ((InvalidArgumentException) e.getCause());
1880       Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode());
1881     }
1882   }
1883 
1884   @Test
deleteEnvironmentTest()1885   public void deleteEnvironmentTest() throws Exception {
1886     Empty expectedResponse = Empty.newBuilder().build();
1887     Operation resultOperation =
1888         Operation.newBuilder()
1889             .setName("deleteEnvironmentTest")
1890             .setDone(true)
1891             .setResponse(Any.pack(expectedResponse))
1892             .build();
1893     mockNotebookService.addResponse(resultOperation);
1894 
1895     String name = "name3373707";
1896 
1897     client.deleteEnvironmentAsync(name).get();
1898 
1899     List<AbstractMessage> actualRequests = mockNotebookService.getRequests();
1900     Assert.assertEquals(1, actualRequests.size());
1901     DeleteEnvironmentRequest actualRequest = ((DeleteEnvironmentRequest) actualRequests.get(0));
1902 
1903     Assert.assertEquals(name, actualRequest.getName());
1904     Assert.assertTrue(
1905         channelProvider.isHeaderSent(
1906             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
1907             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
1908   }
1909 
1910   @Test
deleteEnvironmentExceptionTest()1911   public void deleteEnvironmentExceptionTest() throws Exception {
1912     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
1913     mockNotebookService.addException(exception);
1914 
1915     try {
1916       String name = "name3373707";
1917       client.deleteEnvironmentAsync(name).get();
1918       Assert.fail("No exception raised");
1919     } catch (ExecutionException e) {
1920       Assert.assertEquals(InvalidArgumentException.class, e.getCause().getClass());
1921       InvalidArgumentException apiException = ((InvalidArgumentException) e.getCause());
1922       Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode());
1923     }
1924   }
1925 
1926   @Test
listSchedulesTest()1927   public void listSchedulesTest() throws Exception {
1928     Schedule responsesElement = Schedule.newBuilder().build();
1929     ListSchedulesResponse expectedResponse =
1930         ListSchedulesResponse.newBuilder()
1931             .setNextPageToken("")
1932             .addAllSchedules(Arrays.asList(responsesElement))
1933             .build();
1934     mockNotebookService.addResponse(expectedResponse);
1935 
1936     ScheduleName parent = ScheduleName.of("[PROJECT]", "[LOCATION]", "[SCHEDULE]");
1937 
1938     ListSchedulesPagedResponse pagedListResponse = client.listSchedules(parent);
1939 
1940     List<Schedule> resources = Lists.newArrayList(pagedListResponse.iterateAll());
1941 
1942     Assert.assertEquals(1, resources.size());
1943     Assert.assertEquals(expectedResponse.getSchedulesList().get(0), resources.get(0));
1944 
1945     List<AbstractMessage> actualRequests = mockNotebookService.getRequests();
1946     Assert.assertEquals(1, actualRequests.size());
1947     ListSchedulesRequest actualRequest = ((ListSchedulesRequest) actualRequests.get(0));
1948 
1949     Assert.assertEquals(parent.toString(), actualRequest.getParent());
1950     Assert.assertTrue(
1951         channelProvider.isHeaderSent(
1952             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
1953             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
1954   }
1955 
1956   @Test
listSchedulesExceptionTest()1957   public void listSchedulesExceptionTest() throws Exception {
1958     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
1959     mockNotebookService.addException(exception);
1960 
1961     try {
1962       ScheduleName parent = ScheduleName.of("[PROJECT]", "[LOCATION]", "[SCHEDULE]");
1963       client.listSchedules(parent);
1964       Assert.fail("No exception raised");
1965     } catch (InvalidArgumentException e) {
1966       // Expected exception.
1967     }
1968   }
1969 
1970   @Test
listSchedulesTest2()1971   public void listSchedulesTest2() throws Exception {
1972     Schedule responsesElement = Schedule.newBuilder().build();
1973     ListSchedulesResponse expectedResponse =
1974         ListSchedulesResponse.newBuilder()
1975             .setNextPageToken("")
1976             .addAllSchedules(Arrays.asList(responsesElement))
1977             .build();
1978     mockNotebookService.addResponse(expectedResponse);
1979 
1980     String parent = "parent-995424086";
1981 
1982     ListSchedulesPagedResponse pagedListResponse = client.listSchedules(parent);
1983 
1984     List<Schedule> resources = Lists.newArrayList(pagedListResponse.iterateAll());
1985 
1986     Assert.assertEquals(1, resources.size());
1987     Assert.assertEquals(expectedResponse.getSchedulesList().get(0), resources.get(0));
1988 
1989     List<AbstractMessage> actualRequests = mockNotebookService.getRequests();
1990     Assert.assertEquals(1, actualRequests.size());
1991     ListSchedulesRequest actualRequest = ((ListSchedulesRequest) actualRequests.get(0));
1992 
1993     Assert.assertEquals(parent, actualRequest.getParent());
1994     Assert.assertTrue(
1995         channelProvider.isHeaderSent(
1996             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
1997             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
1998   }
1999 
2000   @Test
listSchedulesExceptionTest2()2001   public void listSchedulesExceptionTest2() throws Exception {
2002     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
2003     mockNotebookService.addException(exception);
2004 
2005     try {
2006       String parent = "parent-995424086";
2007       client.listSchedules(parent);
2008       Assert.fail("No exception raised");
2009     } catch (InvalidArgumentException e) {
2010       // Expected exception.
2011     }
2012   }
2013 
2014   @Test
getScheduleTest()2015   public void getScheduleTest() throws Exception {
2016     Schedule expectedResponse =
2017         Schedule.newBuilder()
2018             .setName(ScheduleName.of("[PROJECT]", "[LOCATION]", "[SCHEDULE]").toString())
2019             .setDisplayName("displayName1714148973")
2020             .setDescription("description-1724546052")
2021             .setCronSchedule("cronSchedule-1022672059")
2022             .setTimeZone("timeZone-2077180903")
2023             .setCreateTime(Timestamp.newBuilder().build())
2024             .setUpdateTime(Timestamp.newBuilder().build())
2025             .setExecutionTemplate(ExecutionTemplate.newBuilder().build())
2026             .addAllRecentExecutions(new ArrayList<Execution>())
2027             .build();
2028     mockNotebookService.addResponse(expectedResponse);
2029 
2030     ScheduleName name = ScheduleName.of("[PROJECT]", "[LOCATION]", "[SCHEDULE]");
2031 
2032     Schedule actualResponse = client.getSchedule(name);
2033     Assert.assertEquals(expectedResponse, actualResponse);
2034 
2035     List<AbstractMessage> actualRequests = mockNotebookService.getRequests();
2036     Assert.assertEquals(1, actualRequests.size());
2037     GetScheduleRequest actualRequest = ((GetScheduleRequest) actualRequests.get(0));
2038 
2039     Assert.assertEquals(name.toString(), actualRequest.getName());
2040     Assert.assertTrue(
2041         channelProvider.isHeaderSent(
2042             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
2043             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
2044   }
2045 
2046   @Test
getScheduleExceptionTest()2047   public void getScheduleExceptionTest() throws Exception {
2048     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
2049     mockNotebookService.addException(exception);
2050 
2051     try {
2052       ScheduleName name = ScheduleName.of("[PROJECT]", "[LOCATION]", "[SCHEDULE]");
2053       client.getSchedule(name);
2054       Assert.fail("No exception raised");
2055     } catch (InvalidArgumentException e) {
2056       // Expected exception.
2057     }
2058   }
2059 
2060   @Test
getScheduleTest2()2061   public void getScheduleTest2() throws Exception {
2062     Schedule expectedResponse =
2063         Schedule.newBuilder()
2064             .setName(ScheduleName.of("[PROJECT]", "[LOCATION]", "[SCHEDULE]").toString())
2065             .setDisplayName("displayName1714148973")
2066             .setDescription("description-1724546052")
2067             .setCronSchedule("cronSchedule-1022672059")
2068             .setTimeZone("timeZone-2077180903")
2069             .setCreateTime(Timestamp.newBuilder().build())
2070             .setUpdateTime(Timestamp.newBuilder().build())
2071             .setExecutionTemplate(ExecutionTemplate.newBuilder().build())
2072             .addAllRecentExecutions(new ArrayList<Execution>())
2073             .build();
2074     mockNotebookService.addResponse(expectedResponse);
2075 
2076     String name = "name3373707";
2077 
2078     Schedule actualResponse = client.getSchedule(name);
2079     Assert.assertEquals(expectedResponse, actualResponse);
2080 
2081     List<AbstractMessage> actualRequests = mockNotebookService.getRequests();
2082     Assert.assertEquals(1, actualRequests.size());
2083     GetScheduleRequest actualRequest = ((GetScheduleRequest) actualRequests.get(0));
2084 
2085     Assert.assertEquals(name, actualRequest.getName());
2086     Assert.assertTrue(
2087         channelProvider.isHeaderSent(
2088             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
2089             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
2090   }
2091 
2092   @Test
getScheduleExceptionTest2()2093   public void getScheduleExceptionTest2() throws Exception {
2094     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
2095     mockNotebookService.addException(exception);
2096 
2097     try {
2098       String name = "name3373707";
2099       client.getSchedule(name);
2100       Assert.fail("No exception raised");
2101     } catch (InvalidArgumentException e) {
2102       // Expected exception.
2103     }
2104   }
2105 
2106   @Test
deleteScheduleTest()2107   public void deleteScheduleTest() throws Exception {
2108     Empty expectedResponse = Empty.newBuilder().build();
2109     Operation resultOperation =
2110         Operation.newBuilder()
2111             .setName("deleteScheduleTest")
2112             .setDone(true)
2113             .setResponse(Any.pack(expectedResponse))
2114             .build();
2115     mockNotebookService.addResponse(resultOperation);
2116 
2117     ScheduleName name = ScheduleName.of("[PROJECT]", "[LOCATION]", "[SCHEDULE]");
2118 
2119     client.deleteScheduleAsync(name).get();
2120 
2121     List<AbstractMessage> actualRequests = mockNotebookService.getRequests();
2122     Assert.assertEquals(1, actualRequests.size());
2123     DeleteScheduleRequest actualRequest = ((DeleteScheduleRequest) actualRequests.get(0));
2124 
2125     Assert.assertEquals(name.toString(), actualRequest.getName());
2126     Assert.assertTrue(
2127         channelProvider.isHeaderSent(
2128             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
2129             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
2130   }
2131 
2132   @Test
deleteScheduleExceptionTest()2133   public void deleteScheduleExceptionTest() throws Exception {
2134     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
2135     mockNotebookService.addException(exception);
2136 
2137     try {
2138       ScheduleName name = ScheduleName.of("[PROJECT]", "[LOCATION]", "[SCHEDULE]");
2139       client.deleteScheduleAsync(name).get();
2140       Assert.fail("No exception raised");
2141     } catch (ExecutionException e) {
2142       Assert.assertEquals(InvalidArgumentException.class, e.getCause().getClass());
2143       InvalidArgumentException apiException = ((InvalidArgumentException) e.getCause());
2144       Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode());
2145     }
2146   }
2147 
2148   @Test
deleteScheduleTest2()2149   public void deleteScheduleTest2() throws Exception {
2150     Empty expectedResponse = Empty.newBuilder().build();
2151     Operation resultOperation =
2152         Operation.newBuilder()
2153             .setName("deleteScheduleTest")
2154             .setDone(true)
2155             .setResponse(Any.pack(expectedResponse))
2156             .build();
2157     mockNotebookService.addResponse(resultOperation);
2158 
2159     String name = "name3373707";
2160 
2161     client.deleteScheduleAsync(name).get();
2162 
2163     List<AbstractMessage> actualRequests = mockNotebookService.getRequests();
2164     Assert.assertEquals(1, actualRequests.size());
2165     DeleteScheduleRequest actualRequest = ((DeleteScheduleRequest) actualRequests.get(0));
2166 
2167     Assert.assertEquals(name, actualRequest.getName());
2168     Assert.assertTrue(
2169         channelProvider.isHeaderSent(
2170             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
2171             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
2172   }
2173 
2174   @Test
deleteScheduleExceptionTest2()2175   public void deleteScheduleExceptionTest2() throws Exception {
2176     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
2177     mockNotebookService.addException(exception);
2178 
2179     try {
2180       String name = "name3373707";
2181       client.deleteScheduleAsync(name).get();
2182       Assert.fail("No exception raised");
2183     } catch (ExecutionException e) {
2184       Assert.assertEquals(InvalidArgumentException.class, e.getCause().getClass());
2185       InvalidArgumentException apiException = ((InvalidArgumentException) e.getCause());
2186       Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode());
2187     }
2188   }
2189 
2190   @Test
createScheduleTest()2191   public void createScheduleTest() throws Exception {
2192     Schedule expectedResponse =
2193         Schedule.newBuilder()
2194             .setName(ScheduleName.of("[PROJECT]", "[LOCATION]", "[SCHEDULE]").toString())
2195             .setDisplayName("displayName1714148973")
2196             .setDescription("description-1724546052")
2197             .setCronSchedule("cronSchedule-1022672059")
2198             .setTimeZone("timeZone-2077180903")
2199             .setCreateTime(Timestamp.newBuilder().build())
2200             .setUpdateTime(Timestamp.newBuilder().build())
2201             .setExecutionTemplate(ExecutionTemplate.newBuilder().build())
2202             .addAllRecentExecutions(new ArrayList<Execution>())
2203             .build();
2204     Operation resultOperation =
2205         Operation.newBuilder()
2206             .setName("createScheduleTest")
2207             .setDone(true)
2208             .setResponse(Any.pack(expectedResponse))
2209             .build();
2210     mockNotebookService.addResponse(resultOperation);
2211 
2212     ScheduleName parent = ScheduleName.of("[PROJECT]", "[LOCATION]", "[SCHEDULE]");
2213     Schedule schedule = Schedule.newBuilder().build();
2214     String scheduleId = "scheduleId-687058414";
2215 
2216     Schedule actualResponse = client.createScheduleAsync(parent, schedule, scheduleId).get();
2217     Assert.assertEquals(expectedResponse, actualResponse);
2218 
2219     List<AbstractMessage> actualRequests = mockNotebookService.getRequests();
2220     Assert.assertEquals(1, actualRequests.size());
2221     CreateScheduleRequest actualRequest = ((CreateScheduleRequest) actualRequests.get(0));
2222 
2223     Assert.assertEquals(parent.toString(), actualRequest.getParent());
2224     Assert.assertEquals(schedule, actualRequest.getSchedule());
2225     Assert.assertEquals(scheduleId, actualRequest.getScheduleId());
2226     Assert.assertTrue(
2227         channelProvider.isHeaderSent(
2228             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
2229             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
2230   }
2231 
2232   @Test
createScheduleExceptionTest()2233   public void createScheduleExceptionTest() throws Exception {
2234     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
2235     mockNotebookService.addException(exception);
2236 
2237     try {
2238       ScheduleName parent = ScheduleName.of("[PROJECT]", "[LOCATION]", "[SCHEDULE]");
2239       Schedule schedule = Schedule.newBuilder().build();
2240       String scheduleId = "scheduleId-687058414";
2241       client.createScheduleAsync(parent, schedule, scheduleId).get();
2242       Assert.fail("No exception raised");
2243     } catch (ExecutionException e) {
2244       Assert.assertEquals(InvalidArgumentException.class, e.getCause().getClass());
2245       InvalidArgumentException apiException = ((InvalidArgumentException) e.getCause());
2246       Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode());
2247     }
2248   }
2249 
2250   @Test
createScheduleTest2()2251   public void createScheduleTest2() throws Exception {
2252     Schedule expectedResponse =
2253         Schedule.newBuilder()
2254             .setName(ScheduleName.of("[PROJECT]", "[LOCATION]", "[SCHEDULE]").toString())
2255             .setDisplayName("displayName1714148973")
2256             .setDescription("description-1724546052")
2257             .setCronSchedule("cronSchedule-1022672059")
2258             .setTimeZone("timeZone-2077180903")
2259             .setCreateTime(Timestamp.newBuilder().build())
2260             .setUpdateTime(Timestamp.newBuilder().build())
2261             .setExecutionTemplate(ExecutionTemplate.newBuilder().build())
2262             .addAllRecentExecutions(new ArrayList<Execution>())
2263             .build();
2264     Operation resultOperation =
2265         Operation.newBuilder()
2266             .setName("createScheduleTest")
2267             .setDone(true)
2268             .setResponse(Any.pack(expectedResponse))
2269             .build();
2270     mockNotebookService.addResponse(resultOperation);
2271 
2272     String parent = "parent-995424086";
2273     Schedule schedule = Schedule.newBuilder().build();
2274     String scheduleId = "scheduleId-687058414";
2275 
2276     Schedule actualResponse = client.createScheduleAsync(parent, schedule, scheduleId).get();
2277     Assert.assertEquals(expectedResponse, actualResponse);
2278 
2279     List<AbstractMessage> actualRequests = mockNotebookService.getRequests();
2280     Assert.assertEquals(1, actualRequests.size());
2281     CreateScheduleRequest actualRequest = ((CreateScheduleRequest) actualRequests.get(0));
2282 
2283     Assert.assertEquals(parent, actualRequest.getParent());
2284     Assert.assertEquals(schedule, actualRequest.getSchedule());
2285     Assert.assertEquals(scheduleId, actualRequest.getScheduleId());
2286     Assert.assertTrue(
2287         channelProvider.isHeaderSent(
2288             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
2289             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
2290   }
2291 
2292   @Test
createScheduleExceptionTest2()2293   public void createScheduleExceptionTest2() throws Exception {
2294     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
2295     mockNotebookService.addException(exception);
2296 
2297     try {
2298       String parent = "parent-995424086";
2299       Schedule schedule = Schedule.newBuilder().build();
2300       String scheduleId = "scheduleId-687058414";
2301       client.createScheduleAsync(parent, schedule, scheduleId).get();
2302       Assert.fail("No exception raised");
2303     } catch (ExecutionException e) {
2304       Assert.assertEquals(InvalidArgumentException.class, e.getCause().getClass());
2305       InvalidArgumentException apiException = ((InvalidArgumentException) e.getCause());
2306       Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode());
2307     }
2308   }
2309 
2310   @Test
triggerScheduleTest()2311   public void triggerScheduleTest() throws Exception {
2312     Schedule expectedResponse =
2313         Schedule.newBuilder()
2314             .setName(ScheduleName.of("[PROJECT]", "[LOCATION]", "[SCHEDULE]").toString())
2315             .setDisplayName("displayName1714148973")
2316             .setDescription("description-1724546052")
2317             .setCronSchedule("cronSchedule-1022672059")
2318             .setTimeZone("timeZone-2077180903")
2319             .setCreateTime(Timestamp.newBuilder().build())
2320             .setUpdateTime(Timestamp.newBuilder().build())
2321             .setExecutionTemplate(ExecutionTemplate.newBuilder().build())
2322             .addAllRecentExecutions(new ArrayList<Execution>())
2323             .build();
2324     Operation resultOperation =
2325         Operation.newBuilder()
2326             .setName("triggerScheduleTest")
2327             .setDone(true)
2328             .setResponse(Any.pack(expectedResponse))
2329             .build();
2330     mockNotebookService.addResponse(resultOperation);
2331 
2332     TriggerScheduleRequest request =
2333         TriggerScheduleRequest.newBuilder()
2334             .setName(ScheduleName.of("[PROJECT]", "[LOCATION]", "[SCHEDULE]").toString())
2335             .build();
2336 
2337     Schedule actualResponse = client.triggerScheduleAsync(request).get();
2338     Assert.assertEquals(expectedResponse, actualResponse);
2339 
2340     List<AbstractMessage> actualRequests = mockNotebookService.getRequests();
2341     Assert.assertEquals(1, actualRequests.size());
2342     TriggerScheduleRequest actualRequest = ((TriggerScheduleRequest) actualRequests.get(0));
2343 
2344     Assert.assertEquals(request.getName(), actualRequest.getName());
2345     Assert.assertTrue(
2346         channelProvider.isHeaderSent(
2347             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
2348             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
2349   }
2350 
2351   @Test
triggerScheduleExceptionTest()2352   public void triggerScheduleExceptionTest() throws Exception {
2353     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
2354     mockNotebookService.addException(exception);
2355 
2356     try {
2357       TriggerScheduleRequest request =
2358           TriggerScheduleRequest.newBuilder()
2359               .setName(ScheduleName.of("[PROJECT]", "[LOCATION]", "[SCHEDULE]").toString())
2360               .build();
2361       client.triggerScheduleAsync(request).get();
2362       Assert.fail("No exception raised");
2363     } catch (ExecutionException e) {
2364       Assert.assertEquals(InvalidArgumentException.class, e.getCause().getClass());
2365       InvalidArgumentException apiException = ((InvalidArgumentException) e.getCause());
2366       Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode());
2367     }
2368   }
2369 
2370   @Test
listExecutionsTest()2371   public void listExecutionsTest() throws Exception {
2372     Execution responsesElement = Execution.newBuilder().build();
2373     ListExecutionsResponse expectedResponse =
2374         ListExecutionsResponse.newBuilder()
2375             .setNextPageToken("")
2376             .addAllExecutions(Arrays.asList(responsesElement))
2377             .build();
2378     mockNotebookService.addResponse(expectedResponse);
2379 
2380     ExecutionName parent = ExecutionName.of("[PROJECT]", "[LOCATION]", "[EXECUTION]");
2381 
2382     ListExecutionsPagedResponse pagedListResponse = client.listExecutions(parent);
2383 
2384     List<Execution> resources = Lists.newArrayList(pagedListResponse.iterateAll());
2385 
2386     Assert.assertEquals(1, resources.size());
2387     Assert.assertEquals(expectedResponse.getExecutionsList().get(0), resources.get(0));
2388 
2389     List<AbstractMessage> actualRequests = mockNotebookService.getRequests();
2390     Assert.assertEquals(1, actualRequests.size());
2391     ListExecutionsRequest actualRequest = ((ListExecutionsRequest) actualRequests.get(0));
2392 
2393     Assert.assertEquals(parent.toString(), actualRequest.getParent());
2394     Assert.assertTrue(
2395         channelProvider.isHeaderSent(
2396             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
2397             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
2398   }
2399 
2400   @Test
listExecutionsExceptionTest()2401   public void listExecutionsExceptionTest() throws Exception {
2402     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
2403     mockNotebookService.addException(exception);
2404 
2405     try {
2406       ExecutionName parent = ExecutionName.of("[PROJECT]", "[LOCATION]", "[EXECUTION]");
2407       client.listExecutions(parent);
2408       Assert.fail("No exception raised");
2409     } catch (InvalidArgumentException e) {
2410       // Expected exception.
2411     }
2412   }
2413 
2414   @Test
listExecutionsTest2()2415   public void listExecutionsTest2() throws Exception {
2416     Execution responsesElement = Execution.newBuilder().build();
2417     ListExecutionsResponse expectedResponse =
2418         ListExecutionsResponse.newBuilder()
2419             .setNextPageToken("")
2420             .addAllExecutions(Arrays.asList(responsesElement))
2421             .build();
2422     mockNotebookService.addResponse(expectedResponse);
2423 
2424     String parent = "parent-995424086";
2425 
2426     ListExecutionsPagedResponse pagedListResponse = client.listExecutions(parent);
2427 
2428     List<Execution> resources = Lists.newArrayList(pagedListResponse.iterateAll());
2429 
2430     Assert.assertEquals(1, resources.size());
2431     Assert.assertEquals(expectedResponse.getExecutionsList().get(0), resources.get(0));
2432 
2433     List<AbstractMessage> actualRequests = mockNotebookService.getRequests();
2434     Assert.assertEquals(1, actualRequests.size());
2435     ListExecutionsRequest actualRequest = ((ListExecutionsRequest) actualRequests.get(0));
2436 
2437     Assert.assertEquals(parent, actualRequest.getParent());
2438     Assert.assertTrue(
2439         channelProvider.isHeaderSent(
2440             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
2441             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
2442   }
2443 
2444   @Test
listExecutionsExceptionTest2()2445   public void listExecutionsExceptionTest2() throws Exception {
2446     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
2447     mockNotebookService.addException(exception);
2448 
2449     try {
2450       String parent = "parent-995424086";
2451       client.listExecutions(parent);
2452       Assert.fail("No exception raised");
2453     } catch (InvalidArgumentException e) {
2454       // Expected exception.
2455     }
2456   }
2457 
2458   @Test
getExecutionTest()2459   public void getExecutionTest() throws Exception {
2460     Execution expectedResponse =
2461         Execution.newBuilder()
2462             .setExecutionTemplate(ExecutionTemplate.newBuilder().build())
2463             .setName(ExecutionName.of("[PROJECT]", "[LOCATION]", "[EXECUTION]").toString())
2464             .setDisplayName("displayName1714148973")
2465             .setDescription("description-1724546052")
2466             .setCreateTime(Timestamp.newBuilder().build())
2467             .setUpdateTime(Timestamp.newBuilder().build())
2468             .setOutputNotebookFile("outputNotebookFile2076023192")
2469             .setJobUri("jobUri-1154761617")
2470             .build();
2471     mockNotebookService.addResponse(expectedResponse);
2472 
2473     ExecutionName name = ExecutionName.of("[PROJECT]", "[LOCATION]", "[EXECUTION]");
2474 
2475     Execution actualResponse = client.getExecution(name);
2476     Assert.assertEquals(expectedResponse, actualResponse);
2477 
2478     List<AbstractMessage> actualRequests = mockNotebookService.getRequests();
2479     Assert.assertEquals(1, actualRequests.size());
2480     GetExecutionRequest actualRequest = ((GetExecutionRequest) actualRequests.get(0));
2481 
2482     Assert.assertEquals(name.toString(), actualRequest.getName());
2483     Assert.assertTrue(
2484         channelProvider.isHeaderSent(
2485             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
2486             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
2487   }
2488 
2489   @Test
getExecutionExceptionTest()2490   public void getExecutionExceptionTest() throws Exception {
2491     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
2492     mockNotebookService.addException(exception);
2493 
2494     try {
2495       ExecutionName name = ExecutionName.of("[PROJECT]", "[LOCATION]", "[EXECUTION]");
2496       client.getExecution(name);
2497       Assert.fail("No exception raised");
2498     } catch (InvalidArgumentException e) {
2499       // Expected exception.
2500     }
2501   }
2502 
2503   @Test
getExecutionTest2()2504   public void getExecutionTest2() throws Exception {
2505     Execution expectedResponse =
2506         Execution.newBuilder()
2507             .setExecutionTemplate(ExecutionTemplate.newBuilder().build())
2508             .setName(ExecutionName.of("[PROJECT]", "[LOCATION]", "[EXECUTION]").toString())
2509             .setDisplayName("displayName1714148973")
2510             .setDescription("description-1724546052")
2511             .setCreateTime(Timestamp.newBuilder().build())
2512             .setUpdateTime(Timestamp.newBuilder().build())
2513             .setOutputNotebookFile("outputNotebookFile2076023192")
2514             .setJobUri("jobUri-1154761617")
2515             .build();
2516     mockNotebookService.addResponse(expectedResponse);
2517 
2518     String name = "name3373707";
2519 
2520     Execution actualResponse = client.getExecution(name);
2521     Assert.assertEquals(expectedResponse, actualResponse);
2522 
2523     List<AbstractMessage> actualRequests = mockNotebookService.getRequests();
2524     Assert.assertEquals(1, actualRequests.size());
2525     GetExecutionRequest actualRequest = ((GetExecutionRequest) actualRequests.get(0));
2526 
2527     Assert.assertEquals(name, actualRequest.getName());
2528     Assert.assertTrue(
2529         channelProvider.isHeaderSent(
2530             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
2531             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
2532   }
2533 
2534   @Test
getExecutionExceptionTest2()2535   public void getExecutionExceptionTest2() throws Exception {
2536     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
2537     mockNotebookService.addException(exception);
2538 
2539     try {
2540       String name = "name3373707";
2541       client.getExecution(name);
2542       Assert.fail("No exception raised");
2543     } catch (InvalidArgumentException e) {
2544       // Expected exception.
2545     }
2546   }
2547 
2548   @Test
deleteExecutionTest()2549   public void deleteExecutionTest() throws Exception {
2550     Empty expectedResponse = Empty.newBuilder().build();
2551     Operation resultOperation =
2552         Operation.newBuilder()
2553             .setName("deleteExecutionTest")
2554             .setDone(true)
2555             .setResponse(Any.pack(expectedResponse))
2556             .build();
2557     mockNotebookService.addResponse(resultOperation);
2558 
2559     ExecutionName name = ExecutionName.of("[PROJECT]", "[LOCATION]", "[EXECUTION]");
2560 
2561     client.deleteExecutionAsync(name).get();
2562 
2563     List<AbstractMessage> actualRequests = mockNotebookService.getRequests();
2564     Assert.assertEquals(1, actualRequests.size());
2565     DeleteExecutionRequest actualRequest = ((DeleteExecutionRequest) actualRequests.get(0));
2566 
2567     Assert.assertEquals(name.toString(), actualRequest.getName());
2568     Assert.assertTrue(
2569         channelProvider.isHeaderSent(
2570             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
2571             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
2572   }
2573 
2574   @Test
deleteExecutionExceptionTest()2575   public void deleteExecutionExceptionTest() throws Exception {
2576     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
2577     mockNotebookService.addException(exception);
2578 
2579     try {
2580       ExecutionName name = ExecutionName.of("[PROJECT]", "[LOCATION]", "[EXECUTION]");
2581       client.deleteExecutionAsync(name).get();
2582       Assert.fail("No exception raised");
2583     } catch (ExecutionException e) {
2584       Assert.assertEquals(InvalidArgumentException.class, e.getCause().getClass());
2585       InvalidArgumentException apiException = ((InvalidArgumentException) e.getCause());
2586       Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode());
2587     }
2588   }
2589 
2590   @Test
deleteExecutionTest2()2591   public void deleteExecutionTest2() throws Exception {
2592     Empty expectedResponse = Empty.newBuilder().build();
2593     Operation resultOperation =
2594         Operation.newBuilder()
2595             .setName("deleteExecutionTest")
2596             .setDone(true)
2597             .setResponse(Any.pack(expectedResponse))
2598             .build();
2599     mockNotebookService.addResponse(resultOperation);
2600 
2601     String name = "name3373707";
2602 
2603     client.deleteExecutionAsync(name).get();
2604 
2605     List<AbstractMessage> actualRequests = mockNotebookService.getRequests();
2606     Assert.assertEquals(1, actualRequests.size());
2607     DeleteExecutionRequest actualRequest = ((DeleteExecutionRequest) actualRequests.get(0));
2608 
2609     Assert.assertEquals(name, actualRequest.getName());
2610     Assert.assertTrue(
2611         channelProvider.isHeaderSent(
2612             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
2613             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
2614   }
2615 
2616   @Test
deleteExecutionExceptionTest2()2617   public void deleteExecutionExceptionTest2() throws Exception {
2618     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
2619     mockNotebookService.addException(exception);
2620 
2621     try {
2622       String name = "name3373707";
2623       client.deleteExecutionAsync(name).get();
2624       Assert.fail("No exception raised");
2625     } catch (ExecutionException e) {
2626       Assert.assertEquals(InvalidArgumentException.class, e.getCause().getClass());
2627       InvalidArgumentException apiException = ((InvalidArgumentException) e.getCause());
2628       Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode());
2629     }
2630   }
2631 
2632   @Test
createExecutionTest()2633   public void createExecutionTest() throws Exception {
2634     Execution expectedResponse =
2635         Execution.newBuilder()
2636             .setExecutionTemplate(ExecutionTemplate.newBuilder().build())
2637             .setName(ExecutionName.of("[PROJECT]", "[LOCATION]", "[EXECUTION]").toString())
2638             .setDisplayName("displayName1714148973")
2639             .setDescription("description-1724546052")
2640             .setCreateTime(Timestamp.newBuilder().build())
2641             .setUpdateTime(Timestamp.newBuilder().build())
2642             .setOutputNotebookFile("outputNotebookFile2076023192")
2643             .setJobUri("jobUri-1154761617")
2644             .build();
2645     Operation resultOperation =
2646         Operation.newBuilder()
2647             .setName("createExecutionTest")
2648             .setDone(true)
2649             .setResponse(Any.pack(expectedResponse))
2650             .build();
2651     mockNotebookService.addResponse(resultOperation);
2652 
2653     ExecutionName parent = ExecutionName.of("[PROJECT]", "[LOCATION]", "[EXECUTION]");
2654     Execution execution = Execution.newBuilder().build();
2655     String executionId = "executionId-454906285";
2656 
2657     Execution actualResponse = client.createExecutionAsync(parent, execution, executionId).get();
2658     Assert.assertEquals(expectedResponse, actualResponse);
2659 
2660     List<AbstractMessage> actualRequests = mockNotebookService.getRequests();
2661     Assert.assertEquals(1, actualRequests.size());
2662     CreateExecutionRequest actualRequest = ((CreateExecutionRequest) actualRequests.get(0));
2663 
2664     Assert.assertEquals(parent.toString(), actualRequest.getParent());
2665     Assert.assertEquals(execution, actualRequest.getExecution());
2666     Assert.assertEquals(executionId, actualRequest.getExecutionId());
2667     Assert.assertTrue(
2668         channelProvider.isHeaderSent(
2669             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
2670             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
2671   }
2672 
2673   @Test
createExecutionExceptionTest()2674   public void createExecutionExceptionTest() throws Exception {
2675     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
2676     mockNotebookService.addException(exception);
2677 
2678     try {
2679       ExecutionName parent = ExecutionName.of("[PROJECT]", "[LOCATION]", "[EXECUTION]");
2680       Execution execution = Execution.newBuilder().build();
2681       String executionId = "executionId-454906285";
2682       client.createExecutionAsync(parent, execution, executionId).get();
2683       Assert.fail("No exception raised");
2684     } catch (ExecutionException e) {
2685       Assert.assertEquals(InvalidArgumentException.class, e.getCause().getClass());
2686       InvalidArgumentException apiException = ((InvalidArgumentException) e.getCause());
2687       Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode());
2688     }
2689   }
2690 
2691   @Test
createExecutionTest2()2692   public void createExecutionTest2() throws Exception {
2693     Execution expectedResponse =
2694         Execution.newBuilder()
2695             .setExecutionTemplate(ExecutionTemplate.newBuilder().build())
2696             .setName(ExecutionName.of("[PROJECT]", "[LOCATION]", "[EXECUTION]").toString())
2697             .setDisplayName("displayName1714148973")
2698             .setDescription("description-1724546052")
2699             .setCreateTime(Timestamp.newBuilder().build())
2700             .setUpdateTime(Timestamp.newBuilder().build())
2701             .setOutputNotebookFile("outputNotebookFile2076023192")
2702             .setJobUri("jobUri-1154761617")
2703             .build();
2704     Operation resultOperation =
2705         Operation.newBuilder()
2706             .setName("createExecutionTest")
2707             .setDone(true)
2708             .setResponse(Any.pack(expectedResponse))
2709             .build();
2710     mockNotebookService.addResponse(resultOperation);
2711 
2712     String parent = "parent-995424086";
2713     Execution execution = Execution.newBuilder().build();
2714     String executionId = "executionId-454906285";
2715 
2716     Execution actualResponse = client.createExecutionAsync(parent, execution, executionId).get();
2717     Assert.assertEquals(expectedResponse, actualResponse);
2718 
2719     List<AbstractMessage> actualRequests = mockNotebookService.getRequests();
2720     Assert.assertEquals(1, actualRequests.size());
2721     CreateExecutionRequest actualRequest = ((CreateExecutionRequest) actualRequests.get(0));
2722 
2723     Assert.assertEquals(parent, actualRequest.getParent());
2724     Assert.assertEquals(execution, actualRequest.getExecution());
2725     Assert.assertEquals(executionId, actualRequest.getExecutionId());
2726     Assert.assertTrue(
2727         channelProvider.isHeaderSent(
2728             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
2729             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
2730   }
2731 
2732   @Test
createExecutionExceptionTest2()2733   public void createExecutionExceptionTest2() throws Exception {
2734     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
2735     mockNotebookService.addException(exception);
2736 
2737     try {
2738       String parent = "parent-995424086";
2739       Execution execution = Execution.newBuilder().build();
2740       String executionId = "executionId-454906285";
2741       client.createExecutionAsync(parent, execution, executionId).get();
2742       Assert.fail("No exception raised");
2743     } catch (ExecutionException e) {
2744       Assert.assertEquals(InvalidArgumentException.class, e.getCause().getClass());
2745       InvalidArgumentException apiException = ((InvalidArgumentException) e.getCause());
2746       Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode());
2747     }
2748   }
2749 
2750   @Test
listLocationsTest()2751   public void listLocationsTest() throws Exception {
2752     Location responsesElement = Location.newBuilder().build();
2753     ListLocationsResponse expectedResponse =
2754         ListLocationsResponse.newBuilder()
2755             .setNextPageToken("")
2756             .addAllLocations(Arrays.asList(responsesElement))
2757             .build();
2758     mockLocations.addResponse(expectedResponse);
2759 
2760     ListLocationsRequest request =
2761         ListLocationsRequest.newBuilder()
2762             .setName("name3373707")
2763             .setFilter("filter-1274492040")
2764             .setPageSize(883849137)
2765             .setPageToken("pageToken873572522")
2766             .build();
2767 
2768     ListLocationsPagedResponse pagedListResponse = client.listLocations(request);
2769 
2770     List<Location> resources = Lists.newArrayList(pagedListResponse.iterateAll());
2771 
2772     Assert.assertEquals(1, resources.size());
2773     Assert.assertEquals(expectedResponse.getLocationsList().get(0), resources.get(0));
2774 
2775     List<AbstractMessage> actualRequests = mockLocations.getRequests();
2776     Assert.assertEquals(1, actualRequests.size());
2777     ListLocationsRequest actualRequest = ((ListLocationsRequest) actualRequests.get(0));
2778 
2779     Assert.assertEquals(request.getName(), actualRequest.getName());
2780     Assert.assertEquals(request.getFilter(), actualRequest.getFilter());
2781     Assert.assertEquals(request.getPageSize(), actualRequest.getPageSize());
2782     Assert.assertEquals(request.getPageToken(), actualRequest.getPageToken());
2783     Assert.assertTrue(
2784         channelProvider.isHeaderSent(
2785             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
2786             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
2787   }
2788 
2789   @Test
listLocationsExceptionTest()2790   public void listLocationsExceptionTest() throws Exception {
2791     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
2792     mockLocations.addException(exception);
2793 
2794     try {
2795       ListLocationsRequest request =
2796           ListLocationsRequest.newBuilder()
2797               .setName("name3373707")
2798               .setFilter("filter-1274492040")
2799               .setPageSize(883849137)
2800               .setPageToken("pageToken873572522")
2801               .build();
2802       client.listLocations(request);
2803       Assert.fail("No exception raised");
2804     } catch (InvalidArgumentException e) {
2805       // Expected exception.
2806     }
2807   }
2808 
2809   @Test
getLocationTest()2810   public void getLocationTest() throws Exception {
2811     Location expectedResponse =
2812         Location.newBuilder()
2813             .setName("name3373707")
2814             .setLocationId("locationId1541836720")
2815             .setDisplayName("displayName1714148973")
2816             .putAllLabels(new HashMap<String, String>())
2817             .setMetadata(Any.newBuilder().build())
2818             .build();
2819     mockLocations.addResponse(expectedResponse);
2820 
2821     GetLocationRequest request = GetLocationRequest.newBuilder().setName("name3373707").build();
2822 
2823     Location actualResponse = client.getLocation(request);
2824     Assert.assertEquals(expectedResponse, actualResponse);
2825 
2826     List<AbstractMessage> actualRequests = mockLocations.getRequests();
2827     Assert.assertEquals(1, actualRequests.size());
2828     GetLocationRequest actualRequest = ((GetLocationRequest) actualRequests.get(0));
2829 
2830     Assert.assertEquals(request.getName(), actualRequest.getName());
2831     Assert.assertTrue(
2832         channelProvider.isHeaderSent(
2833             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
2834             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
2835   }
2836 
2837   @Test
getLocationExceptionTest()2838   public void getLocationExceptionTest() throws Exception {
2839     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
2840     mockLocations.addException(exception);
2841 
2842     try {
2843       GetLocationRequest request = GetLocationRequest.newBuilder().setName("name3373707").build();
2844       client.getLocation(request);
2845       Assert.fail("No exception raised");
2846     } catch (InvalidArgumentException e) {
2847       // Expected exception.
2848     }
2849   }
2850 
2851   @Test
setIamPolicyTest()2852   public void setIamPolicyTest() throws Exception {
2853     Policy expectedResponse =
2854         Policy.newBuilder()
2855             .setVersion(351608024)
2856             .addAllBindings(new ArrayList<Binding>())
2857             .addAllAuditConfigs(new ArrayList<AuditConfig>())
2858             .setEtag(ByteString.EMPTY)
2859             .build();
2860     mockIAMPolicy.addResponse(expectedResponse);
2861 
2862     SetIamPolicyRequest request =
2863         SetIamPolicyRequest.newBuilder()
2864             .setResource(RuntimeName.of("[PROJECT]", "[LOCATION]", "[RUNTIME]").toString())
2865             .setPolicy(Policy.newBuilder().build())
2866             .setUpdateMask(FieldMask.newBuilder().build())
2867             .build();
2868 
2869     Policy actualResponse = client.setIamPolicy(request);
2870     Assert.assertEquals(expectedResponse, actualResponse);
2871 
2872     List<AbstractMessage> actualRequests = mockIAMPolicy.getRequests();
2873     Assert.assertEquals(1, actualRequests.size());
2874     SetIamPolicyRequest actualRequest = ((SetIamPolicyRequest) actualRequests.get(0));
2875 
2876     Assert.assertEquals(request.getResource(), actualRequest.getResource());
2877     Assert.assertEquals(request.getPolicy(), actualRequest.getPolicy());
2878     Assert.assertEquals(request.getUpdateMask(), actualRequest.getUpdateMask());
2879     Assert.assertTrue(
2880         channelProvider.isHeaderSent(
2881             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
2882             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
2883   }
2884 
2885   @Test
setIamPolicyExceptionTest()2886   public void setIamPolicyExceptionTest() throws Exception {
2887     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
2888     mockIAMPolicy.addException(exception);
2889 
2890     try {
2891       SetIamPolicyRequest request =
2892           SetIamPolicyRequest.newBuilder()
2893               .setResource(RuntimeName.of("[PROJECT]", "[LOCATION]", "[RUNTIME]").toString())
2894               .setPolicy(Policy.newBuilder().build())
2895               .setUpdateMask(FieldMask.newBuilder().build())
2896               .build();
2897       client.setIamPolicy(request);
2898       Assert.fail("No exception raised");
2899     } catch (InvalidArgumentException e) {
2900       // Expected exception.
2901     }
2902   }
2903 
2904   @Test
getIamPolicyTest()2905   public void getIamPolicyTest() throws Exception {
2906     Policy expectedResponse =
2907         Policy.newBuilder()
2908             .setVersion(351608024)
2909             .addAllBindings(new ArrayList<Binding>())
2910             .addAllAuditConfigs(new ArrayList<AuditConfig>())
2911             .setEtag(ByteString.EMPTY)
2912             .build();
2913     mockIAMPolicy.addResponse(expectedResponse);
2914 
2915     GetIamPolicyRequest request =
2916         GetIamPolicyRequest.newBuilder()
2917             .setResource(RuntimeName.of("[PROJECT]", "[LOCATION]", "[RUNTIME]").toString())
2918             .setOptions(GetPolicyOptions.newBuilder().build())
2919             .build();
2920 
2921     Policy actualResponse = client.getIamPolicy(request);
2922     Assert.assertEquals(expectedResponse, actualResponse);
2923 
2924     List<AbstractMessage> actualRequests = mockIAMPolicy.getRequests();
2925     Assert.assertEquals(1, actualRequests.size());
2926     GetIamPolicyRequest actualRequest = ((GetIamPolicyRequest) actualRequests.get(0));
2927 
2928     Assert.assertEquals(request.getResource(), actualRequest.getResource());
2929     Assert.assertEquals(request.getOptions(), actualRequest.getOptions());
2930     Assert.assertTrue(
2931         channelProvider.isHeaderSent(
2932             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
2933             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
2934   }
2935 
2936   @Test
getIamPolicyExceptionTest()2937   public void getIamPolicyExceptionTest() throws Exception {
2938     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
2939     mockIAMPolicy.addException(exception);
2940 
2941     try {
2942       GetIamPolicyRequest request =
2943           GetIamPolicyRequest.newBuilder()
2944               .setResource(RuntimeName.of("[PROJECT]", "[LOCATION]", "[RUNTIME]").toString())
2945               .setOptions(GetPolicyOptions.newBuilder().build())
2946               .build();
2947       client.getIamPolicy(request);
2948       Assert.fail("No exception raised");
2949     } catch (InvalidArgumentException e) {
2950       // Expected exception.
2951     }
2952   }
2953 
2954   @Test
testIamPermissionsTest()2955   public void testIamPermissionsTest() throws Exception {
2956     TestIamPermissionsResponse expectedResponse =
2957         TestIamPermissionsResponse.newBuilder().addAllPermissions(new ArrayList<String>()).build();
2958     mockIAMPolicy.addResponse(expectedResponse);
2959 
2960     TestIamPermissionsRequest request =
2961         TestIamPermissionsRequest.newBuilder()
2962             .setResource(RuntimeName.of("[PROJECT]", "[LOCATION]", "[RUNTIME]").toString())
2963             .addAllPermissions(new ArrayList<String>())
2964             .build();
2965 
2966     TestIamPermissionsResponse actualResponse = client.testIamPermissions(request);
2967     Assert.assertEquals(expectedResponse, actualResponse);
2968 
2969     List<AbstractMessage> actualRequests = mockIAMPolicy.getRequests();
2970     Assert.assertEquals(1, actualRequests.size());
2971     TestIamPermissionsRequest actualRequest = ((TestIamPermissionsRequest) actualRequests.get(0));
2972 
2973     Assert.assertEquals(request.getResource(), actualRequest.getResource());
2974     Assert.assertEquals(request.getPermissionsList(), actualRequest.getPermissionsList());
2975     Assert.assertTrue(
2976         channelProvider.isHeaderSent(
2977             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
2978             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
2979   }
2980 
2981   @Test
testIamPermissionsExceptionTest()2982   public void testIamPermissionsExceptionTest() throws Exception {
2983     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
2984     mockIAMPolicy.addException(exception);
2985 
2986     try {
2987       TestIamPermissionsRequest request =
2988           TestIamPermissionsRequest.newBuilder()
2989               .setResource(RuntimeName.of("[PROJECT]", "[LOCATION]", "[RUNTIME]").toString())
2990               .addAllPermissions(new ArrayList<String>())
2991               .build();
2992       client.testIamPermissions(request);
2993       Assert.fail("No exception raised");
2994     } catch (InvalidArgumentException e) {
2995       // Expected exception.
2996     }
2997   }
2998 }
2999