• 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.tpu.v2alpha1;
18 
19 import static com.google.cloud.tpu.v2alpha1.TpuClient.ListAcceleratorTypesPagedResponse;
20 import static com.google.cloud.tpu.v2alpha1.TpuClient.ListLocationsPagedResponse;
21 import static com.google.cloud.tpu.v2alpha1.TpuClient.ListNodesPagedResponse;
22 import static com.google.cloud.tpu.v2alpha1.TpuClient.ListQueuedResourcesPagedResponse;
23 import static com.google.cloud.tpu.v2alpha1.TpuClient.ListRuntimeVersionsPagedResponse;
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.longrunning.Operation;
39 import com.google.protobuf.AbstractMessage;
40 import com.google.protobuf.Any;
41 import com.google.protobuf.Empty;
42 import com.google.protobuf.FieldMask;
43 import com.google.protobuf.Timestamp;
44 import io.grpc.StatusRuntimeException;
45 import java.io.IOException;
46 import java.util.ArrayList;
47 import java.util.Arrays;
48 import java.util.HashMap;
49 import java.util.List;
50 import java.util.UUID;
51 import java.util.concurrent.ExecutionException;
52 import javax.annotation.Generated;
53 import org.junit.After;
54 import org.junit.AfterClass;
55 import org.junit.Assert;
56 import org.junit.Before;
57 import org.junit.BeforeClass;
58 import org.junit.Test;
59 
60 @Generated("by gapic-generator-java")
61 public class TpuClientTest {
62   private static MockLocations mockLocations;
63   private static MockServiceHelper mockServiceHelper;
64   private static MockTpu mockTpu;
65   private LocalChannelProvider channelProvider;
66   private TpuClient client;
67 
68   @BeforeClass
startStaticServer()69   public static void startStaticServer() {
70     mockTpu = new MockTpu();
71     mockLocations = new MockLocations();
72     mockServiceHelper =
73         new MockServiceHelper(
74             UUID.randomUUID().toString(), Arrays.<MockGrpcService>asList(mockTpu, mockLocations));
75     mockServiceHelper.start();
76   }
77 
78   @AfterClass
stopServer()79   public static void stopServer() {
80     mockServiceHelper.stop();
81   }
82 
83   @Before
setUp()84   public void setUp() throws IOException {
85     mockServiceHelper.reset();
86     channelProvider = mockServiceHelper.createChannelProvider();
87     TpuSettings settings =
88         TpuSettings.newBuilder()
89             .setTransportChannelProvider(channelProvider)
90             .setCredentialsProvider(NoCredentialsProvider.create())
91             .build();
92     client = TpuClient.create(settings);
93   }
94 
95   @After
tearDown()96   public void tearDown() throws Exception {
97     client.close();
98   }
99 
100   @Test
listNodesTest()101   public void listNodesTest() throws Exception {
102     Node responsesElement = Node.newBuilder().build();
103     ListNodesResponse expectedResponse =
104         ListNodesResponse.newBuilder()
105             .setNextPageToken("")
106             .addAllNodes(Arrays.asList(responsesElement))
107             .build();
108     mockTpu.addResponse(expectedResponse);
109 
110     LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
111 
112     ListNodesPagedResponse pagedListResponse = client.listNodes(parent);
113 
114     List<Node> resources = Lists.newArrayList(pagedListResponse.iterateAll());
115 
116     Assert.assertEquals(1, resources.size());
117     Assert.assertEquals(expectedResponse.getNodesList().get(0), resources.get(0));
118 
119     List<AbstractMessage> actualRequests = mockTpu.getRequests();
120     Assert.assertEquals(1, actualRequests.size());
121     ListNodesRequest actualRequest = ((ListNodesRequest) actualRequests.get(0));
122 
123     Assert.assertEquals(parent.toString(), actualRequest.getParent());
124     Assert.assertTrue(
125         channelProvider.isHeaderSent(
126             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
127             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
128   }
129 
130   @Test
listNodesExceptionTest()131   public void listNodesExceptionTest() throws Exception {
132     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
133     mockTpu.addException(exception);
134 
135     try {
136       LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
137       client.listNodes(parent);
138       Assert.fail("No exception raised");
139     } catch (InvalidArgumentException e) {
140       // Expected exception.
141     }
142   }
143 
144   @Test
listNodesTest2()145   public void listNodesTest2() throws Exception {
146     Node responsesElement = Node.newBuilder().build();
147     ListNodesResponse expectedResponse =
148         ListNodesResponse.newBuilder()
149             .setNextPageToken("")
150             .addAllNodes(Arrays.asList(responsesElement))
151             .build();
152     mockTpu.addResponse(expectedResponse);
153 
154     String parent = "parent-995424086";
155 
156     ListNodesPagedResponse pagedListResponse = client.listNodes(parent);
157 
158     List<Node> resources = Lists.newArrayList(pagedListResponse.iterateAll());
159 
160     Assert.assertEquals(1, resources.size());
161     Assert.assertEquals(expectedResponse.getNodesList().get(0), resources.get(0));
162 
163     List<AbstractMessage> actualRequests = mockTpu.getRequests();
164     Assert.assertEquals(1, actualRequests.size());
165     ListNodesRequest actualRequest = ((ListNodesRequest) actualRequests.get(0));
166 
167     Assert.assertEquals(parent, actualRequest.getParent());
168     Assert.assertTrue(
169         channelProvider.isHeaderSent(
170             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
171             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
172   }
173 
174   @Test
listNodesExceptionTest2()175   public void listNodesExceptionTest2() throws Exception {
176     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
177     mockTpu.addException(exception);
178 
179     try {
180       String parent = "parent-995424086";
181       client.listNodes(parent);
182       Assert.fail("No exception raised");
183     } catch (InvalidArgumentException e) {
184       // Expected exception.
185     }
186   }
187 
188   @Test
getNodeTest()189   public void getNodeTest() throws Exception {
190     Node expectedResponse =
191         Node.newBuilder()
192             .setName(NodeName.of("[PROJECT]", "[LOCATION]", "[NODE]").toString())
193             .setDescription("description-1724546052")
194             .setAcceleratorType("acceleratorType-82462651")
195             .setHealthDescription("healthDescription1231837184")
196             .setRuntimeVersion("runtimeVersion602071520")
197             .setNetworkConfig(NetworkConfig.newBuilder().build())
198             .setCidrBlock("cidrBlock1646183801")
199             .setServiceAccount(ServiceAccount.newBuilder().build())
200             .setCreateTime(Timestamp.newBuilder().build())
201             .setSchedulingConfig(SchedulingConfig.newBuilder().build())
202             .addAllNetworkEndpoints(new ArrayList<NetworkEndpoint>())
203             .putAllLabels(new HashMap<String, String>())
204             .putAllMetadata(new HashMap<String, String>())
205             .addAllTags(new ArrayList<String>())
206             .setId(3355)
207             .addAllDataDisks(new ArrayList<AttachedDisk>())
208             .addAllSymptoms(new ArrayList<Symptom>())
209             .setQueuedResource("queuedResource94310049")
210             .setAcceleratorConfig(AcceleratorConfig.newBuilder().build())
211             .setShieldedInstanceConfig(ShieldedInstanceConfig.newBuilder().build())
212             .build();
213     mockTpu.addResponse(expectedResponse);
214 
215     NodeName name = NodeName.of("[PROJECT]", "[LOCATION]", "[NODE]");
216 
217     Node actualResponse = client.getNode(name);
218     Assert.assertEquals(expectedResponse, actualResponse);
219 
220     List<AbstractMessage> actualRequests = mockTpu.getRequests();
221     Assert.assertEquals(1, actualRequests.size());
222     GetNodeRequest actualRequest = ((GetNodeRequest) actualRequests.get(0));
223 
224     Assert.assertEquals(name.toString(), actualRequest.getName());
225     Assert.assertTrue(
226         channelProvider.isHeaderSent(
227             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
228             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
229   }
230 
231   @Test
getNodeExceptionTest()232   public void getNodeExceptionTest() throws Exception {
233     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
234     mockTpu.addException(exception);
235 
236     try {
237       NodeName name = NodeName.of("[PROJECT]", "[LOCATION]", "[NODE]");
238       client.getNode(name);
239       Assert.fail("No exception raised");
240     } catch (InvalidArgumentException e) {
241       // Expected exception.
242     }
243   }
244 
245   @Test
getNodeTest2()246   public void getNodeTest2() throws Exception {
247     Node expectedResponse =
248         Node.newBuilder()
249             .setName(NodeName.of("[PROJECT]", "[LOCATION]", "[NODE]").toString())
250             .setDescription("description-1724546052")
251             .setAcceleratorType("acceleratorType-82462651")
252             .setHealthDescription("healthDescription1231837184")
253             .setRuntimeVersion("runtimeVersion602071520")
254             .setNetworkConfig(NetworkConfig.newBuilder().build())
255             .setCidrBlock("cidrBlock1646183801")
256             .setServiceAccount(ServiceAccount.newBuilder().build())
257             .setCreateTime(Timestamp.newBuilder().build())
258             .setSchedulingConfig(SchedulingConfig.newBuilder().build())
259             .addAllNetworkEndpoints(new ArrayList<NetworkEndpoint>())
260             .putAllLabels(new HashMap<String, String>())
261             .putAllMetadata(new HashMap<String, String>())
262             .addAllTags(new ArrayList<String>())
263             .setId(3355)
264             .addAllDataDisks(new ArrayList<AttachedDisk>())
265             .addAllSymptoms(new ArrayList<Symptom>())
266             .setQueuedResource("queuedResource94310049")
267             .setAcceleratorConfig(AcceleratorConfig.newBuilder().build())
268             .setShieldedInstanceConfig(ShieldedInstanceConfig.newBuilder().build())
269             .build();
270     mockTpu.addResponse(expectedResponse);
271 
272     String name = "name3373707";
273 
274     Node actualResponse = client.getNode(name);
275     Assert.assertEquals(expectedResponse, actualResponse);
276 
277     List<AbstractMessage> actualRequests = mockTpu.getRequests();
278     Assert.assertEquals(1, actualRequests.size());
279     GetNodeRequest actualRequest = ((GetNodeRequest) actualRequests.get(0));
280 
281     Assert.assertEquals(name, actualRequest.getName());
282     Assert.assertTrue(
283         channelProvider.isHeaderSent(
284             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
285             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
286   }
287 
288   @Test
getNodeExceptionTest2()289   public void getNodeExceptionTest2() throws Exception {
290     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
291     mockTpu.addException(exception);
292 
293     try {
294       String name = "name3373707";
295       client.getNode(name);
296       Assert.fail("No exception raised");
297     } catch (InvalidArgumentException e) {
298       // Expected exception.
299     }
300   }
301 
302   @Test
createNodeTest()303   public void createNodeTest() throws Exception {
304     Node expectedResponse =
305         Node.newBuilder()
306             .setName(NodeName.of("[PROJECT]", "[LOCATION]", "[NODE]").toString())
307             .setDescription("description-1724546052")
308             .setAcceleratorType("acceleratorType-82462651")
309             .setHealthDescription("healthDescription1231837184")
310             .setRuntimeVersion("runtimeVersion602071520")
311             .setNetworkConfig(NetworkConfig.newBuilder().build())
312             .setCidrBlock("cidrBlock1646183801")
313             .setServiceAccount(ServiceAccount.newBuilder().build())
314             .setCreateTime(Timestamp.newBuilder().build())
315             .setSchedulingConfig(SchedulingConfig.newBuilder().build())
316             .addAllNetworkEndpoints(new ArrayList<NetworkEndpoint>())
317             .putAllLabels(new HashMap<String, String>())
318             .putAllMetadata(new HashMap<String, String>())
319             .addAllTags(new ArrayList<String>())
320             .setId(3355)
321             .addAllDataDisks(new ArrayList<AttachedDisk>())
322             .addAllSymptoms(new ArrayList<Symptom>())
323             .setQueuedResource("queuedResource94310049")
324             .setAcceleratorConfig(AcceleratorConfig.newBuilder().build())
325             .setShieldedInstanceConfig(ShieldedInstanceConfig.newBuilder().build())
326             .build();
327     Operation resultOperation =
328         Operation.newBuilder()
329             .setName("createNodeTest")
330             .setDone(true)
331             .setResponse(Any.pack(expectedResponse))
332             .build();
333     mockTpu.addResponse(resultOperation);
334 
335     LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
336     Node node = Node.newBuilder().build();
337     String nodeId = "nodeId-1040171331";
338 
339     Node actualResponse = client.createNodeAsync(parent, node, nodeId).get();
340     Assert.assertEquals(expectedResponse, actualResponse);
341 
342     List<AbstractMessage> actualRequests = mockTpu.getRequests();
343     Assert.assertEquals(1, actualRequests.size());
344     CreateNodeRequest actualRequest = ((CreateNodeRequest) actualRequests.get(0));
345 
346     Assert.assertEquals(parent.toString(), actualRequest.getParent());
347     Assert.assertEquals(node, actualRequest.getNode());
348     Assert.assertEquals(nodeId, actualRequest.getNodeId());
349     Assert.assertTrue(
350         channelProvider.isHeaderSent(
351             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
352             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
353   }
354 
355   @Test
createNodeExceptionTest()356   public void createNodeExceptionTest() throws Exception {
357     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
358     mockTpu.addException(exception);
359 
360     try {
361       LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
362       Node node = Node.newBuilder().build();
363       String nodeId = "nodeId-1040171331";
364       client.createNodeAsync(parent, node, nodeId).get();
365       Assert.fail("No exception raised");
366     } catch (ExecutionException e) {
367       Assert.assertEquals(InvalidArgumentException.class, e.getCause().getClass());
368       InvalidArgumentException apiException = ((InvalidArgumentException) e.getCause());
369       Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode());
370     }
371   }
372 
373   @Test
createNodeTest2()374   public void createNodeTest2() throws Exception {
375     Node expectedResponse =
376         Node.newBuilder()
377             .setName(NodeName.of("[PROJECT]", "[LOCATION]", "[NODE]").toString())
378             .setDescription("description-1724546052")
379             .setAcceleratorType("acceleratorType-82462651")
380             .setHealthDescription("healthDescription1231837184")
381             .setRuntimeVersion("runtimeVersion602071520")
382             .setNetworkConfig(NetworkConfig.newBuilder().build())
383             .setCidrBlock("cidrBlock1646183801")
384             .setServiceAccount(ServiceAccount.newBuilder().build())
385             .setCreateTime(Timestamp.newBuilder().build())
386             .setSchedulingConfig(SchedulingConfig.newBuilder().build())
387             .addAllNetworkEndpoints(new ArrayList<NetworkEndpoint>())
388             .putAllLabels(new HashMap<String, String>())
389             .putAllMetadata(new HashMap<String, String>())
390             .addAllTags(new ArrayList<String>())
391             .setId(3355)
392             .addAllDataDisks(new ArrayList<AttachedDisk>())
393             .addAllSymptoms(new ArrayList<Symptom>())
394             .setQueuedResource("queuedResource94310049")
395             .setAcceleratorConfig(AcceleratorConfig.newBuilder().build())
396             .setShieldedInstanceConfig(ShieldedInstanceConfig.newBuilder().build())
397             .build();
398     Operation resultOperation =
399         Operation.newBuilder()
400             .setName("createNodeTest")
401             .setDone(true)
402             .setResponse(Any.pack(expectedResponse))
403             .build();
404     mockTpu.addResponse(resultOperation);
405 
406     String parent = "parent-995424086";
407     Node node = Node.newBuilder().build();
408     String nodeId = "nodeId-1040171331";
409 
410     Node actualResponse = client.createNodeAsync(parent, node, nodeId).get();
411     Assert.assertEquals(expectedResponse, actualResponse);
412 
413     List<AbstractMessage> actualRequests = mockTpu.getRequests();
414     Assert.assertEquals(1, actualRequests.size());
415     CreateNodeRequest actualRequest = ((CreateNodeRequest) actualRequests.get(0));
416 
417     Assert.assertEquals(parent, actualRequest.getParent());
418     Assert.assertEquals(node, actualRequest.getNode());
419     Assert.assertEquals(nodeId, actualRequest.getNodeId());
420     Assert.assertTrue(
421         channelProvider.isHeaderSent(
422             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
423             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
424   }
425 
426   @Test
createNodeExceptionTest2()427   public void createNodeExceptionTest2() throws Exception {
428     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
429     mockTpu.addException(exception);
430 
431     try {
432       String parent = "parent-995424086";
433       Node node = Node.newBuilder().build();
434       String nodeId = "nodeId-1040171331";
435       client.createNodeAsync(parent, node, nodeId).get();
436       Assert.fail("No exception raised");
437     } catch (ExecutionException e) {
438       Assert.assertEquals(InvalidArgumentException.class, e.getCause().getClass());
439       InvalidArgumentException apiException = ((InvalidArgumentException) e.getCause());
440       Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode());
441     }
442   }
443 
444   @Test
deleteNodeTest()445   public void deleteNodeTest() throws Exception {
446     Empty expectedResponse = Empty.newBuilder().build();
447     Operation resultOperation =
448         Operation.newBuilder()
449             .setName("deleteNodeTest")
450             .setDone(true)
451             .setResponse(Any.pack(expectedResponse))
452             .build();
453     mockTpu.addResponse(resultOperation);
454 
455     NodeName name = NodeName.of("[PROJECT]", "[LOCATION]", "[NODE]");
456 
457     client.deleteNodeAsync(name).get();
458 
459     List<AbstractMessage> actualRequests = mockTpu.getRequests();
460     Assert.assertEquals(1, actualRequests.size());
461     DeleteNodeRequest actualRequest = ((DeleteNodeRequest) actualRequests.get(0));
462 
463     Assert.assertEquals(name.toString(), actualRequest.getName());
464     Assert.assertTrue(
465         channelProvider.isHeaderSent(
466             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
467             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
468   }
469 
470   @Test
deleteNodeExceptionTest()471   public void deleteNodeExceptionTest() throws Exception {
472     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
473     mockTpu.addException(exception);
474 
475     try {
476       NodeName name = NodeName.of("[PROJECT]", "[LOCATION]", "[NODE]");
477       client.deleteNodeAsync(name).get();
478       Assert.fail("No exception raised");
479     } catch (ExecutionException e) {
480       Assert.assertEquals(InvalidArgumentException.class, e.getCause().getClass());
481       InvalidArgumentException apiException = ((InvalidArgumentException) e.getCause());
482       Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode());
483     }
484   }
485 
486   @Test
deleteNodeTest2()487   public void deleteNodeTest2() throws Exception {
488     Empty expectedResponse = Empty.newBuilder().build();
489     Operation resultOperation =
490         Operation.newBuilder()
491             .setName("deleteNodeTest")
492             .setDone(true)
493             .setResponse(Any.pack(expectedResponse))
494             .build();
495     mockTpu.addResponse(resultOperation);
496 
497     String name = "name3373707";
498 
499     client.deleteNodeAsync(name).get();
500 
501     List<AbstractMessage> actualRequests = mockTpu.getRequests();
502     Assert.assertEquals(1, actualRequests.size());
503     DeleteNodeRequest actualRequest = ((DeleteNodeRequest) actualRequests.get(0));
504 
505     Assert.assertEquals(name, actualRequest.getName());
506     Assert.assertTrue(
507         channelProvider.isHeaderSent(
508             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
509             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
510   }
511 
512   @Test
deleteNodeExceptionTest2()513   public void deleteNodeExceptionTest2() throws Exception {
514     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
515     mockTpu.addException(exception);
516 
517     try {
518       String name = "name3373707";
519       client.deleteNodeAsync(name).get();
520       Assert.fail("No exception raised");
521     } catch (ExecutionException e) {
522       Assert.assertEquals(InvalidArgumentException.class, e.getCause().getClass());
523       InvalidArgumentException apiException = ((InvalidArgumentException) e.getCause());
524       Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode());
525     }
526   }
527 
528   @Test
stopNodeTest()529   public void stopNodeTest() throws Exception {
530     Node expectedResponse =
531         Node.newBuilder()
532             .setName(NodeName.of("[PROJECT]", "[LOCATION]", "[NODE]").toString())
533             .setDescription("description-1724546052")
534             .setAcceleratorType("acceleratorType-82462651")
535             .setHealthDescription("healthDescription1231837184")
536             .setRuntimeVersion("runtimeVersion602071520")
537             .setNetworkConfig(NetworkConfig.newBuilder().build())
538             .setCidrBlock("cidrBlock1646183801")
539             .setServiceAccount(ServiceAccount.newBuilder().build())
540             .setCreateTime(Timestamp.newBuilder().build())
541             .setSchedulingConfig(SchedulingConfig.newBuilder().build())
542             .addAllNetworkEndpoints(new ArrayList<NetworkEndpoint>())
543             .putAllLabels(new HashMap<String, String>())
544             .putAllMetadata(new HashMap<String, String>())
545             .addAllTags(new ArrayList<String>())
546             .setId(3355)
547             .addAllDataDisks(new ArrayList<AttachedDisk>())
548             .addAllSymptoms(new ArrayList<Symptom>())
549             .setQueuedResource("queuedResource94310049")
550             .setAcceleratorConfig(AcceleratorConfig.newBuilder().build())
551             .setShieldedInstanceConfig(ShieldedInstanceConfig.newBuilder().build())
552             .build();
553     Operation resultOperation =
554         Operation.newBuilder()
555             .setName("stopNodeTest")
556             .setDone(true)
557             .setResponse(Any.pack(expectedResponse))
558             .build();
559     mockTpu.addResponse(resultOperation);
560 
561     StopNodeRequest request =
562         StopNodeRequest.newBuilder()
563             .setName(NodeName.of("[PROJECT]", "[LOCATION]", "[NODE]").toString())
564             .build();
565 
566     Node actualResponse = client.stopNodeAsync(request).get();
567     Assert.assertEquals(expectedResponse, actualResponse);
568 
569     List<AbstractMessage> actualRequests = mockTpu.getRequests();
570     Assert.assertEquals(1, actualRequests.size());
571     StopNodeRequest actualRequest = ((StopNodeRequest) actualRequests.get(0));
572 
573     Assert.assertEquals(request.getName(), actualRequest.getName());
574     Assert.assertTrue(
575         channelProvider.isHeaderSent(
576             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
577             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
578   }
579 
580   @Test
stopNodeExceptionTest()581   public void stopNodeExceptionTest() throws Exception {
582     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
583     mockTpu.addException(exception);
584 
585     try {
586       StopNodeRequest request =
587           StopNodeRequest.newBuilder()
588               .setName(NodeName.of("[PROJECT]", "[LOCATION]", "[NODE]").toString())
589               .build();
590       client.stopNodeAsync(request).get();
591       Assert.fail("No exception raised");
592     } catch (ExecutionException e) {
593       Assert.assertEquals(InvalidArgumentException.class, e.getCause().getClass());
594       InvalidArgumentException apiException = ((InvalidArgumentException) e.getCause());
595       Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode());
596     }
597   }
598 
599   @Test
startNodeTest()600   public void startNodeTest() throws Exception {
601     Node expectedResponse =
602         Node.newBuilder()
603             .setName(NodeName.of("[PROJECT]", "[LOCATION]", "[NODE]").toString())
604             .setDescription("description-1724546052")
605             .setAcceleratorType("acceleratorType-82462651")
606             .setHealthDescription("healthDescription1231837184")
607             .setRuntimeVersion("runtimeVersion602071520")
608             .setNetworkConfig(NetworkConfig.newBuilder().build())
609             .setCidrBlock("cidrBlock1646183801")
610             .setServiceAccount(ServiceAccount.newBuilder().build())
611             .setCreateTime(Timestamp.newBuilder().build())
612             .setSchedulingConfig(SchedulingConfig.newBuilder().build())
613             .addAllNetworkEndpoints(new ArrayList<NetworkEndpoint>())
614             .putAllLabels(new HashMap<String, String>())
615             .putAllMetadata(new HashMap<String, String>())
616             .addAllTags(new ArrayList<String>())
617             .setId(3355)
618             .addAllDataDisks(new ArrayList<AttachedDisk>())
619             .addAllSymptoms(new ArrayList<Symptom>())
620             .setQueuedResource("queuedResource94310049")
621             .setAcceleratorConfig(AcceleratorConfig.newBuilder().build())
622             .setShieldedInstanceConfig(ShieldedInstanceConfig.newBuilder().build())
623             .build();
624     Operation resultOperation =
625         Operation.newBuilder()
626             .setName("startNodeTest")
627             .setDone(true)
628             .setResponse(Any.pack(expectedResponse))
629             .build();
630     mockTpu.addResponse(resultOperation);
631 
632     StartNodeRequest request =
633         StartNodeRequest.newBuilder()
634             .setName(NodeName.of("[PROJECT]", "[LOCATION]", "[NODE]").toString())
635             .build();
636 
637     Node actualResponse = client.startNodeAsync(request).get();
638     Assert.assertEquals(expectedResponse, actualResponse);
639 
640     List<AbstractMessage> actualRequests = mockTpu.getRequests();
641     Assert.assertEquals(1, actualRequests.size());
642     StartNodeRequest actualRequest = ((StartNodeRequest) actualRequests.get(0));
643 
644     Assert.assertEquals(request.getName(), actualRequest.getName());
645     Assert.assertTrue(
646         channelProvider.isHeaderSent(
647             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
648             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
649   }
650 
651   @Test
startNodeExceptionTest()652   public void startNodeExceptionTest() throws Exception {
653     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
654     mockTpu.addException(exception);
655 
656     try {
657       StartNodeRequest request =
658           StartNodeRequest.newBuilder()
659               .setName(NodeName.of("[PROJECT]", "[LOCATION]", "[NODE]").toString())
660               .build();
661       client.startNodeAsync(request).get();
662       Assert.fail("No exception raised");
663     } catch (ExecutionException e) {
664       Assert.assertEquals(InvalidArgumentException.class, e.getCause().getClass());
665       InvalidArgumentException apiException = ((InvalidArgumentException) e.getCause());
666       Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode());
667     }
668   }
669 
670   @Test
updateNodeTest()671   public void updateNodeTest() throws Exception {
672     Node expectedResponse =
673         Node.newBuilder()
674             .setName(NodeName.of("[PROJECT]", "[LOCATION]", "[NODE]").toString())
675             .setDescription("description-1724546052")
676             .setAcceleratorType("acceleratorType-82462651")
677             .setHealthDescription("healthDescription1231837184")
678             .setRuntimeVersion("runtimeVersion602071520")
679             .setNetworkConfig(NetworkConfig.newBuilder().build())
680             .setCidrBlock("cidrBlock1646183801")
681             .setServiceAccount(ServiceAccount.newBuilder().build())
682             .setCreateTime(Timestamp.newBuilder().build())
683             .setSchedulingConfig(SchedulingConfig.newBuilder().build())
684             .addAllNetworkEndpoints(new ArrayList<NetworkEndpoint>())
685             .putAllLabels(new HashMap<String, String>())
686             .putAllMetadata(new HashMap<String, String>())
687             .addAllTags(new ArrayList<String>())
688             .setId(3355)
689             .addAllDataDisks(new ArrayList<AttachedDisk>())
690             .addAllSymptoms(new ArrayList<Symptom>())
691             .setQueuedResource("queuedResource94310049")
692             .setAcceleratorConfig(AcceleratorConfig.newBuilder().build())
693             .setShieldedInstanceConfig(ShieldedInstanceConfig.newBuilder().build())
694             .build();
695     Operation resultOperation =
696         Operation.newBuilder()
697             .setName("updateNodeTest")
698             .setDone(true)
699             .setResponse(Any.pack(expectedResponse))
700             .build();
701     mockTpu.addResponse(resultOperation);
702 
703     Node node = Node.newBuilder().build();
704     FieldMask updateMask = FieldMask.newBuilder().build();
705 
706     Node actualResponse = client.updateNodeAsync(node, updateMask).get();
707     Assert.assertEquals(expectedResponse, actualResponse);
708 
709     List<AbstractMessage> actualRequests = mockTpu.getRequests();
710     Assert.assertEquals(1, actualRequests.size());
711     UpdateNodeRequest actualRequest = ((UpdateNodeRequest) actualRequests.get(0));
712 
713     Assert.assertEquals(node, actualRequest.getNode());
714     Assert.assertEquals(updateMask, actualRequest.getUpdateMask());
715     Assert.assertTrue(
716         channelProvider.isHeaderSent(
717             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
718             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
719   }
720 
721   @Test
updateNodeExceptionTest()722   public void updateNodeExceptionTest() throws Exception {
723     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
724     mockTpu.addException(exception);
725 
726     try {
727       Node node = Node.newBuilder().build();
728       FieldMask updateMask = FieldMask.newBuilder().build();
729       client.updateNodeAsync(node, updateMask).get();
730       Assert.fail("No exception raised");
731     } catch (ExecutionException e) {
732       Assert.assertEquals(InvalidArgumentException.class, e.getCause().getClass());
733       InvalidArgumentException apiException = ((InvalidArgumentException) e.getCause());
734       Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode());
735     }
736   }
737 
738   @Test
listQueuedResourcesTest()739   public void listQueuedResourcesTest() throws Exception {
740     QueuedResource responsesElement = QueuedResource.newBuilder().build();
741     ListQueuedResourcesResponse expectedResponse =
742         ListQueuedResourcesResponse.newBuilder()
743             .setNextPageToken("")
744             .addAllQueuedResources(Arrays.asList(responsesElement))
745             .build();
746     mockTpu.addResponse(expectedResponse);
747 
748     LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
749 
750     ListQueuedResourcesPagedResponse pagedListResponse = client.listQueuedResources(parent);
751 
752     List<QueuedResource> resources = Lists.newArrayList(pagedListResponse.iterateAll());
753 
754     Assert.assertEquals(1, resources.size());
755     Assert.assertEquals(expectedResponse.getQueuedResourcesList().get(0), resources.get(0));
756 
757     List<AbstractMessage> actualRequests = mockTpu.getRequests();
758     Assert.assertEquals(1, actualRequests.size());
759     ListQueuedResourcesRequest actualRequest = ((ListQueuedResourcesRequest) actualRequests.get(0));
760 
761     Assert.assertEquals(parent.toString(), actualRequest.getParent());
762     Assert.assertTrue(
763         channelProvider.isHeaderSent(
764             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
765             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
766   }
767 
768   @Test
listQueuedResourcesExceptionTest()769   public void listQueuedResourcesExceptionTest() throws Exception {
770     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
771     mockTpu.addException(exception);
772 
773     try {
774       LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
775       client.listQueuedResources(parent);
776       Assert.fail("No exception raised");
777     } catch (InvalidArgumentException e) {
778       // Expected exception.
779     }
780   }
781 
782   @Test
listQueuedResourcesTest2()783   public void listQueuedResourcesTest2() throws Exception {
784     QueuedResource responsesElement = QueuedResource.newBuilder().build();
785     ListQueuedResourcesResponse expectedResponse =
786         ListQueuedResourcesResponse.newBuilder()
787             .setNextPageToken("")
788             .addAllQueuedResources(Arrays.asList(responsesElement))
789             .build();
790     mockTpu.addResponse(expectedResponse);
791 
792     String parent = "parent-995424086";
793 
794     ListQueuedResourcesPagedResponse pagedListResponse = client.listQueuedResources(parent);
795 
796     List<QueuedResource> resources = Lists.newArrayList(pagedListResponse.iterateAll());
797 
798     Assert.assertEquals(1, resources.size());
799     Assert.assertEquals(expectedResponse.getQueuedResourcesList().get(0), resources.get(0));
800 
801     List<AbstractMessage> actualRequests = mockTpu.getRequests();
802     Assert.assertEquals(1, actualRequests.size());
803     ListQueuedResourcesRequest actualRequest = ((ListQueuedResourcesRequest) actualRequests.get(0));
804 
805     Assert.assertEquals(parent, actualRequest.getParent());
806     Assert.assertTrue(
807         channelProvider.isHeaderSent(
808             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
809             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
810   }
811 
812   @Test
listQueuedResourcesExceptionTest2()813   public void listQueuedResourcesExceptionTest2() throws Exception {
814     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
815     mockTpu.addException(exception);
816 
817     try {
818       String parent = "parent-995424086";
819       client.listQueuedResources(parent);
820       Assert.fail("No exception raised");
821     } catch (InvalidArgumentException e) {
822       // Expected exception.
823     }
824   }
825 
826   @Test
getQueuedResourceTest()827   public void getQueuedResourceTest() throws Exception {
828     QueuedResource expectedResponse =
829         QueuedResource.newBuilder()
830             .setName(
831                 QueuedResourceName.of("[PROJECT]", "[LOCATION]", "[QUEUED_RESOURCE]").toString())
832             .setQueueingPolicy(QueuedResource.QueueingPolicy.newBuilder().build())
833             .setState(QueuedResourceState.newBuilder().build())
834             .setReservationName("reservationName-337941385")
835             .build();
836     mockTpu.addResponse(expectedResponse);
837 
838     QueuedResourceName name = QueuedResourceName.of("[PROJECT]", "[LOCATION]", "[QUEUED_RESOURCE]");
839 
840     QueuedResource actualResponse = client.getQueuedResource(name);
841     Assert.assertEquals(expectedResponse, actualResponse);
842 
843     List<AbstractMessage> actualRequests = mockTpu.getRequests();
844     Assert.assertEquals(1, actualRequests.size());
845     GetQueuedResourceRequest actualRequest = ((GetQueuedResourceRequest) actualRequests.get(0));
846 
847     Assert.assertEquals(name.toString(), actualRequest.getName());
848     Assert.assertTrue(
849         channelProvider.isHeaderSent(
850             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
851             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
852   }
853 
854   @Test
getQueuedResourceExceptionTest()855   public void getQueuedResourceExceptionTest() throws Exception {
856     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
857     mockTpu.addException(exception);
858 
859     try {
860       QueuedResourceName name =
861           QueuedResourceName.of("[PROJECT]", "[LOCATION]", "[QUEUED_RESOURCE]");
862       client.getQueuedResource(name);
863       Assert.fail("No exception raised");
864     } catch (InvalidArgumentException e) {
865       // Expected exception.
866     }
867   }
868 
869   @Test
getQueuedResourceTest2()870   public void getQueuedResourceTest2() throws Exception {
871     QueuedResource expectedResponse =
872         QueuedResource.newBuilder()
873             .setName(
874                 QueuedResourceName.of("[PROJECT]", "[LOCATION]", "[QUEUED_RESOURCE]").toString())
875             .setQueueingPolicy(QueuedResource.QueueingPolicy.newBuilder().build())
876             .setState(QueuedResourceState.newBuilder().build())
877             .setReservationName("reservationName-337941385")
878             .build();
879     mockTpu.addResponse(expectedResponse);
880 
881     String name = "name3373707";
882 
883     QueuedResource actualResponse = client.getQueuedResource(name);
884     Assert.assertEquals(expectedResponse, actualResponse);
885 
886     List<AbstractMessage> actualRequests = mockTpu.getRequests();
887     Assert.assertEquals(1, actualRequests.size());
888     GetQueuedResourceRequest actualRequest = ((GetQueuedResourceRequest) actualRequests.get(0));
889 
890     Assert.assertEquals(name, actualRequest.getName());
891     Assert.assertTrue(
892         channelProvider.isHeaderSent(
893             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
894             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
895   }
896 
897   @Test
getQueuedResourceExceptionTest2()898   public void getQueuedResourceExceptionTest2() throws Exception {
899     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
900     mockTpu.addException(exception);
901 
902     try {
903       String name = "name3373707";
904       client.getQueuedResource(name);
905       Assert.fail("No exception raised");
906     } catch (InvalidArgumentException e) {
907       // Expected exception.
908     }
909   }
910 
911   @Test
createQueuedResourceTest()912   public void createQueuedResourceTest() throws Exception {
913     QueuedResource expectedResponse =
914         QueuedResource.newBuilder()
915             .setName(
916                 QueuedResourceName.of("[PROJECT]", "[LOCATION]", "[QUEUED_RESOURCE]").toString())
917             .setQueueingPolicy(QueuedResource.QueueingPolicy.newBuilder().build())
918             .setState(QueuedResourceState.newBuilder().build())
919             .setReservationName("reservationName-337941385")
920             .build();
921     Operation resultOperation =
922         Operation.newBuilder()
923             .setName("createQueuedResourceTest")
924             .setDone(true)
925             .setResponse(Any.pack(expectedResponse))
926             .build();
927     mockTpu.addResponse(resultOperation);
928 
929     LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
930     QueuedResource queuedResource = QueuedResource.newBuilder().build();
931     String queuedResourceId = "queuedResourceId437646236";
932 
933     QueuedResource actualResponse =
934         client.createQueuedResourceAsync(parent, queuedResource, queuedResourceId).get();
935     Assert.assertEquals(expectedResponse, actualResponse);
936 
937     List<AbstractMessage> actualRequests = mockTpu.getRequests();
938     Assert.assertEquals(1, actualRequests.size());
939     CreateQueuedResourceRequest actualRequest =
940         ((CreateQueuedResourceRequest) actualRequests.get(0));
941 
942     Assert.assertEquals(parent.toString(), actualRequest.getParent());
943     Assert.assertEquals(queuedResource, actualRequest.getQueuedResource());
944     Assert.assertEquals(queuedResourceId, actualRequest.getQueuedResourceId());
945     Assert.assertTrue(
946         channelProvider.isHeaderSent(
947             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
948             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
949   }
950 
951   @Test
createQueuedResourceExceptionTest()952   public void createQueuedResourceExceptionTest() throws Exception {
953     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
954     mockTpu.addException(exception);
955 
956     try {
957       LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
958       QueuedResource queuedResource = QueuedResource.newBuilder().build();
959       String queuedResourceId = "queuedResourceId437646236";
960       client.createQueuedResourceAsync(parent, queuedResource, queuedResourceId).get();
961       Assert.fail("No exception raised");
962     } catch (ExecutionException e) {
963       Assert.assertEquals(InvalidArgumentException.class, e.getCause().getClass());
964       InvalidArgumentException apiException = ((InvalidArgumentException) e.getCause());
965       Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode());
966     }
967   }
968 
969   @Test
createQueuedResourceTest2()970   public void createQueuedResourceTest2() throws Exception {
971     QueuedResource expectedResponse =
972         QueuedResource.newBuilder()
973             .setName(
974                 QueuedResourceName.of("[PROJECT]", "[LOCATION]", "[QUEUED_RESOURCE]").toString())
975             .setQueueingPolicy(QueuedResource.QueueingPolicy.newBuilder().build())
976             .setState(QueuedResourceState.newBuilder().build())
977             .setReservationName("reservationName-337941385")
978             .build();
979     Operation resultOperation =
980         Operation.newBuilder()
981             .setName("createQueuedResourceTest")
982             .setDone(true)
983             .setResponse(Any.pack(expectedResponse))
984             .build();
985     mockTpu.addResponse(resultOperation);
986 
987     String parent = "parent-995424086";
988     QueuedResource queuedResource = QueuedResource.newBuilder().build();
989     String queuedResourceId = "queuedResourceId437646236";
990 
991     QueuedResource actualResponse =
992         client.createQueuedResourceAsync(parent, queuedResource, queuedResourceId).get();
993     Assert.assertEquals(expectedResponse, actualResponse);
994 
995     List<AbstractMessage> actualRequests = mockTpu.getRequests();
996     Assert.assertEquals(1, actualRequests.size());
997     CreateQueuedResourceRequest actualRequest =
998         ((CreateQueuedResourceRequest) actualRequests.get(0));
999 
1000     Assert.assertEquals(parent, actualRequest.getParent());
1001     Assert.assertEquals(queuedResource, actualRequest.getQueuedResource());
1002     Assert.assertEquals(queuedResourceId, actualRequest.getQueuedResourceId());
1003     Assert.assertTrue(
1004         channelProvider.isHeaderSent(
1005             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
1006             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
1007   }
1008 
1009   @Test
createQueuedResourceExceptionTest2()1010   public void createQueuedResourceExceptionTest2() throws Exception {
1011     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
1012     mockTpu.addException(exception);
1013 
1014     try {
1015       String parent = "parent-995424086";
1016       QueuedResource queuedResource = QueuedResource.newBuilder().build();
1017       String queuedResourceId = "queuedResourceId437646236";
1018       client.createQueuedResourceAsync(parent, queuedResource, queuedResourceId).get();
1019       Assert.fail("No exception raised");
1020     } catch (ExecutionException e) {
1021       Assert.assertEquals(InvalidArgumentException.class, e.getCause().getClass());
1022       InvalidArgumentException apiException = ((InvalidArgumentException) e.getCause());
1023       Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode());
1024     }
1025   }
1026 
1027   @Test
deleteQueuedResourceTest()1028   public void deleteQueuedResourceTest() throws Exception {
1029     QueuedResource expectedResponse =
1030         QueuedResource.newBuilder()
1031             .setName(
1032                 QueuedResourceName.of("[PROJECT]", "[LOCATION]", "[QUEUED_RESOURCE]").toString())
1033             .setQueueingPolicy(QueuedResource.QueueingPolicy.newBuilder().build())
1034             .setState(QueuedResourceState.newBuilder().build())
1035             .setReservationName("reservationName-337941385")
1036             .build();
1037     Operation resultOperation =
1038         Operation.newBuilder()
1039             .setName("deleteQueuedResourceTest")
1040             .setDone(true)
1041             .setResponse(Any.pack(expectedResponse))
1042             .build();
1043     mockTpu.addResponse(resultOperation);
1044 
1045     QueuedResourceName name = QueuedResourceName.of("[PROJECT]", "[LOCATION]", "[QUEUED_RESOURCE]");
1046 
1047     QueuedResource actualResponse = client.deleteQueuedResourceAsync(name).get();
1048     Assert.assertEquals(expectedResponse, actualResponse);
1049 
1050     List<AbstractMessage> actualRequests = mockTpu.getRequests();
1051     Assert.assertEquals(1, actualRequests.size());
1052     DeleteQueuedResourceRequest actualRequest =
1053         ((DeleteQueuedResourceRequest) actualRequests.get(0));
1054 
1055     Assert.assertEquals(name.toString(), actualRequest.getName());
1056     Assert.assertTrue(
1057         channelProvider.isHeaderSent(
1058             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
1059             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
1060   }
1061 
1062   @Test
deleteQueuedResourceExceptionTest()1063   public void deleteQueuedResourceExceptionTest() throws Exception {
1064     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
1065     mockTpu.addException(exception);
1066 
1067     try {
1068       QueuedResourceName name =
1069           QueuedResourceName.of("[PROJECT]", "[LOCATION]", "[QUEUED_RESOURCE]");
1070       client.deleteQueuedResourceAsync(name).get();
1071       Assert.fail("No exception raised");
1072     } catch (ExecutionException e) {
1073       Assert.assertEquals(InvalidArgumentException.class, e.getCause().getClass());
1074       InvalidArgumentException apiException = ((InvalidArgumentException) e.getCause());
1075       Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode());
1076     }
1077   }
1078 
1079   @Test
deleteQueuedResourceTest2()1080   public void deleteQueuedResourceTest2() throws Exception {
1081     QueuedResource expectedResponse =
1082         QueuedResource.newBuilder()
1083             .setName(
1084                 QueuedResourceName.of("[PROJECT]", "[LOCATION]", "[QUEUED_RESOURCE]").toString())
1085             .setQueueingPolicy(QueuedResource.QueueingPolicy.newBuilder().build())
1086             .setState(QueuedResourceState.newBuilder().build())
1087             .setReservationName("reservationName-337941385")
1088             .build();
1089     Operation resultOperation =
1090         Operation.newBuilder()
1091             .setName("deleteQueuedResourceTest")
1092             .setDone(true)
1093             .setResponse(Any.pack(expectedResponse))
1094             .build();
1095     mockTpu.addResponse(resultOperation);
1096 
1097     String name = "name3373707";
1098 
1099     QueuedResource actualResponse = client.deleteQueuedResourceAsync(name).get();
1100     Assert.assertEquals(expectedResponse, actualResponse);
1101 
1102     List<AbstractMessage> actualRequests = mockTpu.getRequests();
1103     Assert.assertEquals(1, actualRequests.size());
1104     DeleteQueuedResourceRequest actualRequest =
1105         ((DeleteQueuedResourceRequest) actualRequests.get(0));
1106 
1107     Assert.assertEquals(name, actualRequest.getName());
1108     Assert.assertTrue(
1109         channelProvider.isHeaderSent(
1110             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
1111             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
1112   }
1113 
1114   @Test
deleteQueuedResourceExceptionTest2()1115   public void deleteQueuedResourceExceptionTest2() throws Exception {
1116     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
1117     mockTpu.addException(exception);
1118 
1119     try {
1120       String name = "name3373707";
1121       client.deleteQueuedResourceAsync(name).get();
1122       Assert.fail("No exception raised");
1123     } catch (ExecutionException e) {
1124       Assert.assertEquals(InvalidArgumentException.class, e.getCause().getClass());
1125       InvalidArgumentException apiException = ((InvalidArgumentException) e.getCause());
1126       Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode());
1127     }
1128   }
1129 
1130   @Test
generateServiceIdentityTest()1131   public void generateServiceIdentityTest() throws Exception {
1132     GenerateServiceIdentityResponse expectedResponse =
1133         GenerateServiceIdentityResponse.newBuilder()
1134             .setIdentity(ServiceIdentity.newBuilder().build())
1135             .build();
1136     mockTpu.addResponse(expectedResponse);
1137 
1138     GenerateServiceIdentityRequest request =
1139         GenerateServiceIdentityRequest.newBuilder()
1140             .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString())
1141             .build();
1142 
1143     GenerateServiceIdentityResponse actualResponse = client.generateServiceIdentity(request);
1144     Assert.assertEquals(expectedResponse, actualResponse);
1145 
1146     List<AbstractMessage> actualRequests = mockTpu.getRequests();
1147     Assert.assertEquals(1, actualRequests.size());
1148     GenerateServiceIdentityRequest actualRequest =
1149         ((GenerateServiceIdentityRequest) actualRequests.get(0));
1150 
1151     Assert.assertEquals(request.getParent(), actualRequest.getParent());
1152     Assert.assertTrue(
1153         channelProvider.isHeaderSent(
1154             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
1155             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
1156   }
1157 
1158   @Test
generateServiceIdentityExceptionTest()1159   public void generateServiceIdentityExceptionTest() throws Exception {
1160     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
1161     mockTpu.addException(exception);
1162 
1163     try {
1164       GenerateServiceIdentityRequest request =
1165           GenerateServiceIdentityRequest.newBuilder()
1166               .setParent(LocationName.of("[PROJECT]", "[LOCATION]").toString())
1167               .build();
1168       client.generateServiceIdentity(request);
1169       Assert.fail("No exception raised");
1170     } catch (InvalidArgumentException e) {
1171       // Expected exception.
1172     }
1173   }
1174 
1175   @Test
listAcceleratorTypesTest()1176   public void listAcceleratorTypesTest() throws Exception {
1177     AcceleratorType responsesElement = AcceleratorType.newBuilder().build();
1178     ListAcceleratorTypesResponse expectedResponse =
1179         ListAcceleratorTypesResponse.newBuilder()
1180             .setNextPageToken("")
1181             .addAllAcceleratorTypes(Arrays.asList(responsesElement))
1182             .build();
1183     mockTpu.addResponse(expectedResponse);
1184 
1185     LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
1186 
1187     ListAcceleratorTypesPagedResponse pagedListResponse = client.listAcceleratorTypes(parent);
1188 
1189     List<AcceleratorType> resources = Lists.newArrayList(pagedListResponse.iterateAll());
1190 
1191     Assert.assertEquals(1, resources.size());
1192     Assert.assertEquals(expectedResponse.getAcceleratorTypesList().get(0), resources.get(0));
1193 
1194     List<AbstractMessage> actualRequests = mockTpu.getRequests();
1195     Assert.assertEquals(1, actualRequests.size());
1196     ListAcceleratorTypesRequest actualRequest =
1197         ((ListAcceleratorTypesRequest) actualRequests.get(0));
1198 
1199     Assert.assertEquals(parent.toString(), actualRequest.getParent());
1200     Assert.assertTrue(
1201         channelProvider.isHeaderSent(
1202             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
1203             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
1204   }
1205 
1206   @Test
listAcceleratorTypesExceptionTest()1207   public void listAcceleratorTypesExceptionTest() throws Exception {
1208     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
1209     mockTpu.addException(exception);
1210 
1211     try {
1212       LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
1213       client.listAcceleratorTypes(parent);
1214       Assert.fail("No exception raised");
1215     } catch (InvalidArgumentException e) {
1216       // Expected exception.
1217     }
1218   }
1219 
1220   @Test
listAcceleratorTypesTest2()1221   public void listAcceleratorTypesTest2() throws Exception {
1222     AcceleratorType responsesElement = AcceleratorType.newBuilder().build();
1223     ListAcceleratorTypesResponse expectedResponse =
1224         ListAcceleratorTypesResponse.newBuilder()
1225             .setNextPageToken("")
1226             .addAllAcceleratorTypes(Arrays.asList(responsesElement))
1227             .build();
1228     mockTpu.addResponse(expectedResponse);
1229 
1230     String parent = "parent-995424086";
1231 
1232     ListAcceleratorTypesPagedResponse pagedListResponse = client.listAcceleratorTypes(parent);
1233 
1234     List<AcceleratorType> resources = Lists.newArrayList(pagedListResponse.iterateAll());
1235 
1236     Assert.assertEquals(1, resources.size());
1237     Assert.assertEquals(expectedResponse.getAcceleratorTypesList().get(0), resources.get(0));
1238 
1239     List<AbstractMessage> actualRequests = mockTpu.getRequests();
1240     Assert.assertEquals(1, actualRequests.size());
1241     ListAcceleratorTypesRequest actualRequest =
1242         ((ListAcceleratorTypesRequest) actualRequests.get(0));
1243 
1244     Assert.assertEquals(parent, actualRequest.getParent());
1245     Assert.assertTrue(
1246         channelProvider.isHeaderSent(
1247             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
1248             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
1249   }
1250 
1251   @Test
listAcceleratorTypesExceptionTest2()1252   public void listAcceleratorTypesExceptionTest2() throws Exception {
1253     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
1254     mockTpu.addException(exception);
1255 
1256     try {
1257       String parent = "parent-995424086";
1258       client.listAcceleratorTypes(parent);
1259       Assert.fail("No exception raised");
1260     } catch (InvalidArgumentException e) {
1261       // Expected exception.
1262     }
1263   }
1264 
1265   @Test
getAcceleratorTypeTest()1266   public void getAcceleratorTypeTest() throws Exception {
1267     AcceleratorType expectedResponse =
1268         AcceleratorType.newBuilder()
1269             .setName(
1270                 AcceleratorTypeName.of("[PROJECT]", "[LOCATION]", "[ACCELERATOR_TYPE]").toString())
1271             .setType("type3575610")
1272             .addAllAcceleratorConfigs(new ArrayList<AcceleratorConfig>())
1273             .build();
1274     mockTpu.addResponse(expectedResponse);
1275 
1276     AcceleratorTypeName name =
1277         AcceleratorTypeName.of("[PROJECT]", "[LOCATION]", "[ACCELERATOR_TYPE]");
1278 
1279     AcceleratorType actualResponse = client.getAcceleratorType(name);
1280     Assert.assertEquals(expectedResponse, actualResponse);
1281 
1282     List<AbstractMessage> actualRequests = mockTpu.getRequests();
1283     Assert.assertEquals(1, actualRequests.size());
1284     GetAcceleratorTypeRequest actualRequest = ((GetAcceleratorTypeRequest) actualRequests.get(0));
1285 
1286     Assert.assertEquals(name.toString(), actualRequest.getName());
1287     Assert.assertTrue(
1288         channelProvider.isHeaderSent(
1289             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
1290             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
1291   }
1292 
1293   @Test
getAcceleratorTypeExceptionTest()1294   public void getAcceleratorTypeExceptionTest() throws Exception {
1295     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
1296     mockTpu.addException(exception);
1297 
1298     try {
1299       AcceleratorTypeName name =
1300           AcceleratorTypeName.of("[PROJECT]", "[LOCATION]", "[ACCELERATOR_TYPE]");
1301       client.getAcceleratorType(name);
1302       Assert.fail("No exception raised");
1303     } catch (InvalidArgumentException e) {
1304       // Expected exception.
1305     }
1306   }
1307 
1308   @Test
getAcceleratorTypeTest2()1309   public void getAcceleratorTypeTest2() throws Exception {
1310     AcceleratorType expectedResponse =
1311         AcceleratorType.newBuilder()
1312             .setName(
1313                 AcceleratorTypeName.of("[PROJECT]", "[LOCATION]", "[ACCELERATOR_TYPE]").toString())
1314             .setType("type3575610")
1315             .addAllAcceleratorConfigs(new ArrayList<AcceleratorConfig>())
1316             .build();
1317     mockTpu.addResponse(expectedResponse);
1318 
1319     String name = "name3373707";
1320 
1321     AcceleratorType actualResponse = client.getAcceleratorType(name);
1322     Assert.assertEquals(expectedResponse, actualResponse);
1323 
1324     List<AbstractMessage> actualRequests = mockTpu.getRequests();
1325     Assert.assertEquals(1, actualRequests.size());
1326     GetAcceleratorTypeRequest actualRequest = ((GetAcceleratorTypeRequest) actualRequests.get(0));
1327 
1328     Assert.assertEquals(name, actualRequest.getName());
1329     Assert.assertTrue(
1330         channelProvider.isHeaderSent(
1331             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
1332             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
1333   }
1334 
1335   @Test
getAcceleratorTypeExceptionTest2()1336   public void getAcceleratorTypeExceptionTest2() throws Exception {
1337     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
1338     mockTpu.addException(exception);
1339 
1340     try {
1341       String name = "name3373707";
1342       client.getAcceleratorType(name);
1343       Assert.fail("No exception raised");
1344     } catch (InvalidArgumentException e) {
1345       // Expected exception.
1346     }
1347   }
1348 
1349   @Test
listRuntimeVersionsTest()1350   public void listRuntimeVersionsTest() throws Exception {
1351     RuntimeVersion responsesElement = RuntimeVersion.newBuilder().build();
1352     ListRuntimeVersionsResponse expectedResponse =
1353         ListRuntimeVersionsResponse.newBuilder()
1354             .setNextPageToken("")
1355             .addAllRuntimeVersions(Arrays.asList(responsesElement))
1356             .build();
1357     mockTpu.addResponse(expectedResponse);
1358 
1359     LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
1360 
1361     ListRuntimeVersionsPagedResponse pagedListResponse = client.listRuntimeVersions(parent);
1362 
1363     List<RuntimeVersion> resources = Lists.newArrayList(pagedListResponse.iterateAll());
1364 
1365     Assert.assertEquals(1, resources.size());
1366     Assert.assertEquals(expectedResponse.getRuntimeVersionsList().get(0), resources.get(0));
1367 
1368     List<AbstractMessage> actualRequests = mockTpu.getRequests();
1369     Assert.assertEquals(1, actualRequests.size());
1370     ListRuntimeVersionsRequest actualRequest = ((ListRuntimeVersionsRequest) actualRequests.get(0));
1371 
1372     Assert.assertEquals(parent.toString(), actualRequest.getParent());
1373     Assert.assertTrue(
1374         channelProvider.isHeaderSent(
1375             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
1376             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
1377   }
1378 
1379   @Test
listRuntimeVersionsExceptionTest()1380   public void listRuntimeVersionsExceptionTest() throws Exception {
1381     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
1382     mockTpu.addException(exception);
1383 
1384     try {
1385       LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
1386       client.listRuntimeVersions(parent);
1387       Assert.fail("No exception raised");
1388     } catch (InvalidArgumentException e) {
1389       // Expected exception.
1390     }
1391   }
1392 
1393   @Test
listRuntimeVersionsTest2()1394   public void listRuntimeVersionsTest2() throws Exception {
1395     RuntimeVersion responsesElement = RuntimeVersion.newBuilder().build();
1396     ListRuntimeVersionsResponse expectedResponse =
1397         ListRuntimeVersionsResponse.newBuilder()
1398             .setNextPageToken("")
1399             .addAllRuntimeVersions(Arrays.asList(responsesElement))
1400             .build();
1401     mockTpu.addResponse(expectedResponse);
1402 
1403     String parent = "parent-995424086";
1404 
1405     ListRuntimeVersionsPagedResponse pagedListResponse = client.listRuntimeVersions(parent);
1406 
1407     List<RuntimeVersion> resources = Lists.newArrayList(pagedListResponse.iterateAll());
1408 
1409     Assert.assertEquals(1, resources.size());
1410     Assert.assertEquals(expectedResponse.getRuntimeVersionsList().get(0), resources.get(0));
1411 
1412     List<AbstractMessage> actualRequests = mockTpu.getRequests();
1413     Assert.assertEquals(1, actualRequests.size());
1414     ListRuntimeVersionsRequest actualRequest = ((ListRuntimeVersionsRequest) actualRequests.get(0));
1415 
1416     Assert.assertEquals(parent, actualRequest.getParent());
1417     Assert.assertTrue(
1418         channelProvider.isHeaderSent(
1419             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
1420             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
1421   }
1422 
1423   @Test
listRuntimeVersionsExceptionTest2()1424   public void listRuntimeVersionsExceptionTest2() throws Exception {
1425     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
1426     mockTpu.addException(exception);
1427 
1428     try {
1429       String parent = "parent-995424086";
1430       client.listRuntimeVersions(parent);
1431       Assert.fail("No exception raised");
1432     } catch (InvalidArgumentException e) {
1433       // Expected exception.
1434     }
1435   }
1436 
1437   @Test
getRuntimeVersionTest()1438   public void getRuntimeVersionTest() throws Exception {
1439     RuntimeVersion expectedResponse =
1440         RuntimeVersion.newBuilder()
1441             .setName(
1442                 RuntimeVersionName.of("[PROJECT]", "[LOCATION]", "[RUNTIME_VERSION]").toString())
1443             .setVersion("version351608024")
1444             .build();
1445     mockTpu.addResponse(expectedResponse);
1446 
1447     RuntimeVersionName name = RuntimeVersionName.of("[PROJECT]", "[LOCATION]", "[RUNTIME_VERSION]");
1448 
1449     RuntimeVersion actualResponse = client.getRuntimeVersion(name);
1450     Assert.assertEquals(expectedResponse, actualResponse);
1451 
1452     List<AbstractMessage> actualRequests = mockTpu.getRequests();
1453     Assert.assertEquals(1, actualRequests.size());
1454     GetRuntimeVersionRequest actualRequest = ((GetRuntimeVersionRequest) actualRequests.get(0));
1455 
1456     Assert.assertEquals(name.toString(), actualRequest.getName());
1457     Assert.assertTrue(
1458         channelProvider.isHeaderSent(
1459             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
1460             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
1461   }
1462 
1463   @Test
getRuntimeVersionExceptionTest()1464   public void getRuntimeVersionExceptionTest() throws Exception {
1465     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
1466     mockTpu.addException(exception);
1467 
1468     try {
1469       RuntimeVersionName name =
1470           RuntimeVersionName.of("[PROJECT]", "[LOCATION]", "[RUNTIME_VERSION]");
1471       client.getRuntimeVersion(name);
1472       Assert.fail("No exception raised");
1473     } catch (InvalidArgumentException e) {
1474       // Expected exception.
1475     }
1476   }
1477 
1478   @Test
getRuntimeVersionTest2()1479   public void getRuntimeVersionTest2() throws Exception {
1480     RuntimeVersion expectedResponse =
1481         RuntimeVersion.newBuilder()
1482             .setName(
1483                 RuntimeVersionName.of("[PROJECT]", "[LOCATION]", "[RUNTIME_VERSION]").toString())
1484             .setVersion("version351608024")
1485             .build();
1486     mockTpu.addResponse(expectedResponse);
1487 
1488     String name = "name3373707";
1489 
1490     RuntimeVersion actualResponse = client.getRuntimeVersion(name);
1491     Assert.assertEquals(expectedResponse, actualResponse);
1492 
1493     List<AbstractMessage> actualRequests = mockTpu.getRequests();
1494     Assert.assertEquals(1, actualRequests.size());
1495     GetRuntimeVersionRequest actualRequest = ((GetRuntimeVersionRequest) actualRequests.get(0));
1496 
1497     Assert.assertEquals(name, actualRequest.getName());
1498     Assert.assertTrue(
1499         channelProvider.isHeaderSent(
1500             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
1501             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
1502   }
1503 
1504   @Test
getRuntimeVersionExceptionTest2()1505   public void getRuntimeVersionExceptionTest2() throws Exception {
1506     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
1507     mockTpu.addException(exception);
1508 
1509     try {
1510       String name = "name3373707";
1511       client.getRuntimeVersion(name);
1512       Assert.fail("No exception raised");
1513     } catch (InvalidArgumentException e) {
1514       // Expected exception.
1515     }
1516   }
1517 
1518   @Test
getGuestAttributesTest()1519   public void getGuestAttributesTest() throws Exception {
1520     GetGuestAttributesResponse expectedResponse =
1521         GetGuestAttributesResponse.newBuilder()
1522             .addAllGuestAttributes(new ArrayList<GuestAttributes>())
1523             .build();
1524     mockTpu.addResponse(expectedResponse);
1525 
1526     GetGuestAttributesRequest request =
1527         GetGuestAttributesRequest.newBuilder()
1528             .setName(NodeName.of("[PROJECT]", "[LOCATION]", "[NODE]").toString())
1529             .setQueryPath("queryPath-1807004403")
1530             .addAllWorkerIds(new ArrayList<String>())
1531             .build();
1532 
1533     GetGuestAttributesResponse actualResponse = client.getGuestAttributes(request);
1534     Assert.assertEquals(expectedResponse, actualResponse);
1535 
1536     List<AbstractMessage> actualRequests = mockTpu.getRequests();
1537     Assert.assertEquals(1, actualRequests.size());
1538     GetGuestAttributesRequest actualRequest = ((GetGuestAttributesRequest) actualRequests.get(0));
1539 
1540     Assert.assertEquals(request.getName(), actualRequest.getName());
1541     Assert.assertEquals(request.getQueryPath(), actualRequest.getQueryPath());
1542     Assert.assertEquals(request.getWorkerIdsList(), actualRequest.getWorkerIdsList());
1543     Assert.assertTrue(
1544         channelProvider.isHeaderSent(
1545             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
1546             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
1547   }
1548 
1549   @Test
getGuestAttributesExceptionTest()1550   public void getGuestAttributesExceptionTest() throws Exception {
1551     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
1552     mockTpu.addException(exception);
1553 
1554     try {
1555       GetGuestAttributesRequest request =
1556           GetGuestAttributesRequest.newBuilder()
1557               .setName(NodeName.of("[PROJECT]", "[LOCATION]", "[NODE]").toString())
1558               .setQueryPath("queryPath-1807004403")
1559               .addAllWorkerIds(new ArrayList<String>())
1560               .build();
1561       client.getGuestAttributes(request);
1562       Assert.fail("No exception raised");
1563     } catch (InvalidArgumentException e) {
1564       // Expected exception.
1565     }
1566   }
1567 
1568   @Test
simulateMaintenanceEventTest()1569   public void simulateMaintenanceEventTest() throws Exception {
1570     Node expectedResponse =
1571         Node.newBuilder()
1572             .setName(NodeName.of("[PROJECT]", "[LOCATION]", "[NODE]").toString())
1573             .setDescription("description-1724546052")
1574             .setAcceleratorType("acceleratorType-82462651")
1575             .setHealthDescription("healthDescription1231837184")
1576             .setRuntimeVersion("runtimeVersion602071520")
1577             .setNetworkConfig(NetworkConfig.newBuilder().build())
1578             .setCidrBlock("cidrBlock1646183801")
1579             .setServiceAccount(ServiceAccount.newBuilder().build())
1580             .setCreateTime(Timestamp.newBuilder().build())
1581             .setSchedulingConfig(SchedulingConfig.newBuilder().build())
1582             .addAllNetworkEndpoints(new ArrayList<NetworkEndpoint>())
1583             .putAllLabels(new HashMap<String, String>())
1584             .putAllMetadata(new HashMap<String, String>())
1585             .addAllTags(new ArrayList<String>())
1586             .setId(3355)
1587             .addAllDataDisks(new ArrayList<AttachedDisk>())
1588             .addAllSymptoms(new ArrayList<Symptom>())
1589             .setQueuedResource("queuedResource94310049")
1590             .setAcceleratorConfig(AcceleratorConfig.newBuilder().build())
1591             .setShieldedInstanceConfig(ShieldedInstanceConfig.newBuilder().build())
1592             .build();
1593     Operation resultOperation =
1594         Operation.newBuilder()
1595             .setName("simulateMaintenanceEventTest")
1596             .setDone(true)
1597             .setResponse(Any.pack(expectedResponse))
1598             .build();
1599     mockTpu.addResponse(resultOperation);
1600 
1601     SimulateMaintenanceEventRequest request =
1602         SimulateMaintenanceEventRequest.newBuilder()
1603             .setName(NodeName.of("[PROJECT]", "[LOCATION]", "[NODE]").toString())
1604             .addAllWorkerIds(new ArrayList<String>())
1605             .build();
1606 
1607     Node actualResponse = client.simulateMaintenanceEventAsync(request).get();
1608     Assert.assertEquals(expectedResponse, actualResponse);
1609 
1610     List<AbstractMessage> actualRequests = mockTpu.getRequests();
1611     Assert.assertEquals(1, actualRequests.size());
1612     SimulateMaintenanceEventRequest actualRequest =
1613         ((SimulateMaintenanceEventRequest) actualRequests.get(0));
1614 
1615     Assert.assertEquals(request.getName(), actualRequest.getName());
1616     Assert.assertEquals(request.getWorkerIdsList(), actualRequest.getWorkerIdsList());
1617     Assert.assertTrue(
1618         channelProvider.isHeaderSent(
1619             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
1620             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
1621   }
1622 
1623   @Test
simulateMaintenanceEventExceptionTest()1624   public void simulateMaintenanceEventExceptionTest() throws Exception {
1625     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
1626     mockTpu.addException(exception);
1627 
1628     try {
1629       SimulateMaintenanceEventRequest request =
1630           SimulateMaintenanceEventRequest.newBuilder()
1631               .setName(NodeName.of("[PROJECT]", "[LOCATION]", "[NODE]").toString())
1632               .addAllWorkerIds(new ArrayList<String>())
1633               .build();
1634       client.simulateMaintenanceEventAsync(request).get();
1635       Assert.fail("No exception raised");
1636     } catch (ExecutionException e) {
1637       Assert.assertEquals(InvalidArgumentException.class, e.getCause().getClass());
1638       InvalidArgumentException apiException = ((InvalidArgumentException) e.getCause());
1639       Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode());
1640     }
1641   }
1642 
1643   @Test
listLocationsTest()1644   public void listLocationsTest() throws Exception {
1645     Location responsesElement = Location.newBuilder().build();
1646     ListLocationsResponse expectedResponse =
1647         ListLocationsResponse.newBuilder()
1648             .setNextPageToken("")
1649             .addAllLocations(Arrays.asList(responsesElement))
1650             .build();
1651     mockLocations.addResponse(expectedResponse);
1652 
1653     ListLocationsRequest request =
1654         ListLocationsRequest.newBuilder()
1655             .setName("name3373707")
1656             .setFilter("filter-1274492040")
1657             .setPageSize(883849137)
1658             .setPageToken("pageToken873572522")
1659             .build();
1660 
1661     ListLocationsPagedResponse pagedListResponse = client.listLocations(request);
1662 
1663     List<Location> resources = Lists.newArrayList(pagedListResponse.iterateAll());
1664 
1665     Assert.assertEquals(1, resources.size());
1666     Assert.assertEquals(expectedResponse.getLocationsList().get(0), resources.get(0));
1667 
1668     List<AbstractMessage> actualRequests = mockLocations.getRequests();
1669     Assert.assertEquals(1, actualRequests.size());
1670     ListLocationsRequest actualRequest = ((ListLocationsRequest) actualRequests.get(0));
1671 
1672     Assert.assertEquals(request.getName(), actualRequest.getName());
1673     Assert.assertEquals(request.getFilter(), actualRequest.getFilter());
1674     Assert.assertEquals(request.getPageSize(), actualRequest.getPageSize());
1675     Assert.assertEquals(request.getPageToken(), actualRequest.getPageToken());
1676     Assert.assertTrue(
1677         channelProvider.isHeaderSent(
1678             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
1679             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
1680   }
1681 
1682   @Test
listLocationsExceptionTest()1683   public void listLocationsExceptionTest() throws Exception {
1684     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
1685     mockLocations.addException(exception);
1686 
1687     try {
1688       ListLocationsRequest request =
1689           ListLocationsRequest.newBuilder()
1690               .setName("name3373707")
1691               .setFilter("filter-1274492040")
1692               .setPageSize(883849137)
1693               .setPageToken("pageToken873572522")
1694               .build();
1695       client.listLocations(request);
1696       Assert.fail("No exception raised");
1697     } catch (InvalidArgumentException e) {
1698       // Expected exception.
1699     }
1700   }
1701 
1702   @Test
getLocationTest()1703   public void getLocationTest() throws Exception {
1704     Location expectedResponse =
1705         Location.newBuilder()
1706             .setName("name3373707")
1707             .setLocationId("locationId1541836720")
1708             .setDisplayName("displayName1714148973")
1709             .putAllLabels(new HashMap<String, String>())
1710             .setMetadata(Any.newBuilder().build())
1711             .build();
1712     mockLocations.addResponse(expectedResponse);
1713 
1714     GetLocationRequest request = GetLocationRequest.newBuilder().setName("name3373707").build();
1715 
1716     Location actualResponse = client.getLocation(request);
1717     Assert.assertEquals(expectedResponse, actualResponse);
1718 
1719     List<AbstractMessage> actualRequests = mockLocations.getRequests();
1720     Assert.assertEquals(1, actualRequests.size());
1721     GetLocationRequest actualRequest = ((GetLocationRequest) actualRequests.get(0));
1722 
1723     Assert.assertEquals(request.getName(), actualRequest.getName());
1724     Assert.assertTrue(
1725         channelProvider.isHeaderSent(
1726             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
1727             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
1728   }
1729 
1730   @Test
getLocationExceptionTest()1731   public void getLocationExceptionTest() throws Exception {
1732     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
1733     mockLocations.addException(exception);
1734 
1735     try {
1736       GetLocationRequest request = GetLocationRequest.newBuilder().setName("name3373707").build();
1737       client.getLocation(request);
1738       Assert.fail("No exception raised");
1739     } catch (InvalidArgumentException e) {
1740       // Expected exception.
1741     }
1742   }
1743 }
1744