• 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.video.transcoder.v1;
18 
19 import static com.google.cloud.video.transcoder.v1.TranscoderServiceClient.ListJobTemplatesPagedResponse;
20 import static com.google.cloud.video.transcoder.v1.TranscoderServiceClient.ListJobsPagedResponse;
21 
22 import com.google.api.gax.core.NoCredentialsProvider;
23 import com.google.api.gax.grpc.GaxGrpcProperties;
24 import com.google.api.gax.grpc.testing.LocalChannelProvider;
25 import com.google.api.gax.grpc.testing.MockGrpcService;
26 import com.google.api.gax.grpc.testing.MockServiceHelper;
27 import com.google.api.gax.rpc.ApiClientHeaderProvider;
28 import com.google.api.gax.rpc.InvalidArgumentException;
29 import com.google.common.collect.Lists;
30 import com.google.protobuf.AbstractMessage;
31 import com.google.protobuf.Empty;
32 import com.google.protobuf.Timestamp;
33 import com.google.rpc.Status;
34 import io.grpc.StatusRuntimeException;
35 import java.io.IOException;
36 import java.util.Arrays;
37 import java.util.HashMap;
38 import java.util.List;
39 import java.util.UUID;
40 import javax.annotation.Generated;
41 import org.junit.After;
42 import org.junit.AfterClass;
43 import org.junit.Assert;
44 import org.junit.Before;
45 import org.junit.BeforeClass;
46 import org.junit.Test;
47 
48 @Generated("by gapic-generator-java")
49 public class TranscoderServiceClientTest {
50   private static MockServiceHelper mockServiceHelper;
51   private static MockTranscoderService mockTranscoderService;
52   private LocalChannelProvider channelProvider;
53   private TranscoderServiceClient client;
54 
55   @BeforeClass
startStaticServer()56   public static void startStaticServer() {
57     mockTranscoderService = new MockTranscoderService();
58     mockServiceHelper =
59         new MockServiceHelper(
60             UUID.randomUUID().toString(), Arrays.<MockGrpcService>asList(mockTranscoderService));
61     mockServiceHelper.start();
62   }
63 
64   @AfterClass
stopServer()65   public static void stopServer() {
66     mockServiceHelper.stop();
67   }
68 
69   @Before
setUp()70   public void setUp() throws IOException {
71     mockServiceHelper.reset();
72     channelProvider = mockServiceHelper.createChannelProvider();
73     TranscoderServiceSettings settings =
74         TranscoderServiceSettings.newBuilder()
75             .setTransportChannelProvider(channelProvider)
76             .setCredentialsProvider(NoCredentialsProvider.create())
77             .build();
78     client = TranscoderServiceClient.create(settings);
79   }
80 
81   @After
tearDown()82   public void tearDown() throws Exception {
83     client.close();
84   }
85 
86   @Test
createJobTest()87   public void createJobTest() throws Exception {
88     Job expectedResponse =
89         Job.newBuilder()
90             .setName(JobName.of("[PROJECT]", "[LOCATION]", "[JOB]").toString())
91             .setInputUri("inputUri470706498")
92             .setOutputUri("outputUri-2119300949")
93             .setCreateTime(Timestamp.newBuilder().build())
94             .setStartTime(Timestamp.newBuilder().build())
95             .setEndTime(Timestamp.newBuilder().build())
96             .setTtlAfterCompletionDays(107576420)
97             .putAllLabels(new HashMap<String, String>())
98             .setError(Status.newBuilder().build())
99             .build();
100     mockTranscoderService.addResponse(expectedResponse);
101 
102     LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
103     Job job = Job.newBuilder().build();
104 
105     Job actualResponse = client.createJob(parent, job);
106     Assert.assertEquals(expectedResponse, actualResponse);
107 
108     List<AbstractMessage> actualRequests = mockTranscoderService.getRequests();
109     Assert.assertEquals(1, actualRequests.size());
110     CreateJobRequest actualRequest = ((CreateJobRequest) actualRequests.get(0));
111 
112     Assert.assertEquals(parent.toString(), actualRequest.getParent());
113     Assert.assertEquals(job, actualRequest.getJob());
114     Assert.assertTrue(
115         channelProvider.isHeaderSent(
116             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
117             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
118   }
119 
120   @Test
createJobExceptionTest()121   public void createJobExceptionTest() throws Exception {
122     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
123     mockTranscoderService.addException(exception);
124 
125     try {
126       LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
127       Job job = Job.newBuilder().build();
128       client.createJob(parent, job);
129       Assert.fail("No exception raised");
130     } catch (InvalidArgumentException e) {
131       // Expected exception.
132     }
133   }
134 
135   @Test
createJobTest2()136   public void createJobTest2() throws Exception {
137     Job expectedResponse =
138         Job.newBuilder()
139             .setName(JobName.of("[PROJECT]", "[LOCATION]", "[JOB]").toString())
140             .setInputUri("inputUri470706498")
141             .setOutputUri("outputUri-2119300949")
142             .setCreateTime(Timestamp.newBuilder().build())
143             .setStartTime(Timestamp.newBuilder().build())
144             .setEndTime(Timestamp.newBuilder().build())
145             .setTtlAfterCompletionDays(107576420)
146             .putAllLabels(new HashMap<String, String>())
147             .setError(Status.newBuilder().build())
148             .build();
149     mockTranscoderService.addResponse(expectedResponse);
150 
151     String parent = "parent-995424086";
152     Job job = Job.newBuilder().build();
153 
154     Job actualResponse = client.createJob(parent, job);
155     Assert.assertEquals(expectedResponse, actualResponse);
156 
157     List<AbstractMessage> actualRequests = mockTranscoderService.getRequests();
158     Assert.assertEquals(1, actualRequests.size());
159     CreateJobRequest actualRequest = ((CreateJobRequest) actualRequests.get(0));
160 
161     Assert.assertEquals(parent, actualRequest.getParent());
162     Assert.assertEquals(job, actualRequest.getJob());
163     Assert.assertTrue(
164         channelProvider.isHeaderSent(
165             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
166             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
167   }
168 
169   @Test
createJobExceptionTest2()170   public void createJobExceptionTest2() throws Exception {
171     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
172     mockTranscoderService.addException(exception);
173 
174     try {
175       String parent = "parent-995424086";
176       Job job = Job.newBuilder().build();
177       client.createJob(parent, job);
178       Assert.fail("No exception raised");
179     } catch (InvalidArgumentException e) {
180       // Expected exception.
181     }
182   }
183 
184   @Test
listJobsTest()185   public void listJobsTest() throws Exception {
186     Job responsesElement = Job.newBuilder().build();
187     ListJobsResponse expectedResponse =
188         ListJobsResponse.newBuilder()
189             .setNextPageToken("")
190             .addAllJobs(Arrays.asList(responsesElement))
191             .build();
192     mockTranscoderService.addResponse(expectedResponse);
193 
194     LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
195 
196     ListJobsPagedResponse pagedListResponse = client.listJobs(parent);
197 
198     List<Job> resources = Lists.newArrayList(pagedListResponse.iterateAll());
199 
200     Assert.assertEquals(1, resources.size());
201     Assert.assertEquals(expectedResponse.getJobsList().get(0), resources.get(0));
202 
203     List<AbstractMessage> actualRequests = mockTranscoderService.getRequests();
204     Assert.assertEquals(1, actualRequests.size());
205     ListJobsRequest actualRequest = ((ListJobsRequest) actualRequests.get(0));
206 
207     Assert.assertEquals(parent.toString(), actualRequest.getParent());
208     Assert.assertTrue(
209         channelProvider.isHeaderSent(
210             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
211             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
212   }
213 
214   @Test
listJobsExceptionTest()215   public void listJobsExceptionTest() throws Exception {
216     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
217     mockTranscoderService.addException(exception);
218 
219     try {
220       LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
221       client.listJobs(parent);
222       Assert.fail("No exception raised");
223     } catch (InvalidArgumentException e) {
224       // Expected exception.
225     }
226   }
227 
228   @Test
listJobsTest2()229   public void listJobsTest2() throws Exception {
230     Job responsesElement = Job.newBuilder().build();
231     ListJobsResponse expectedResponse =
232         ListJobsResponse.newBuilder()
233             .setNextPageToken("")
234             .addAllJobs(Arrays.asList(responsesElement))
235             .build();
236     mockTranscoderService.addResponse(expectedResponse);
237 
238     String parent = "parent-995424086";
239 
240     ListJobsPagedResponse pagedListResponse = client.listJobs(parent);
241 
242     List<Job> resources = Lists.newArrayList(pagedListResponse.iterateAll());
243 
244     Assert.assertEquals(1, resources.size());
245     Assert.assertEquals(expectedResponse.getJobsList().get(0), resources.get(0));
246 
247     List<AbstractMessage> actualRequests = mockTranscoderService.getRequests();
248     Assert.assertEquals(1, actualRequests.size());
249     ListJobsRequest actualRequest = ((ListJobsRequest) actualRequests.get(0));
250 
251     Assert.assertEquals(parent, actualRequest.getParent());
252     Assert.assertTrue(
253         channelProvider.isHeaderSent(
254             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
255             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
256   }
257 
258   @Test
listJobsExceptionTest2()259   public void listJobsExceptionTest2() throws Exception {
260     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
261     mockTranscoderService.addException(exception);
262 
263     try {
264       String parent = "parent-995424086";
265       client.listJobs(parent);
266       Assert.fail("No exception raised");
267     } catch (InvalidArgumentException e) {
268       // Expected exception.
269     }
270   }
271 
272   @Test
getJobTest()273   public void getJobTest() throws Exception {
274     Job expectedResponse =
275         Job.newBuilder()
276             .setName(JobName.of("[PROJECT]", "[LOCATION]", "[JOB]").toString())
277             .setInputUri("inputUri470706498")
278             .setOutputUri("outputUri-2119300949")
279             .setCreateTime(Timestamp.newBuilder().build())
280             .setStartTime(Timestamp.newBuilder().build())
281             .setEndTime(Timestamp.newBuilder().build())
282             .setTtlAfterCompletionDays(107576420)
283             .putAllLabels(new HashMap<String, String>())
284             .setError(Status.newBuilder().build())
285             .build();
286     mockTranscoderService.addResponse(expectedResponse);
287 
288     JobName name = JobName.of("[PROJECT]", "[LOCATION]", "[JOB]");
289 
290     Job actualResponse = client.getJob(name);
291     Assert.assertEquals(expectedResponse, actualResponse);
292 
293     List<AbstractMessage> actualRequests = mockTranscoderService.getRequests();
294     Assert.assertEquals(1, actualRequests.size());
295     GetJobRequest actualRequest = ((GetJobRequest) actualRequests.get(0));
296 
297     Assert.assertEquals(name.toString(), actualRequest.getName());
298     Assert.assertTrue(
299         channelProvider.isHeaderSent(
300             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
301             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
302   }
303 
304   @Test
getJobExceptionTest()305   public void getJobExceptionTest() throws Exception {
306     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
307     mockTranscoderService.addException(exception);
308 
309     try {
310       JobName name = JobName.of("[PROJECT]", "[LOCATION]", "[JOB]");
311       client.getJob(name);
312       Assert.fail("No exception raised");
313     } catch (InvalidArgumentException e) {
314       // Expected exception.
315     }
316   }
317 
318   @Test
getJobTest2()319   public void getJobTest2() throws Exception {
320     Job expectedResponse =
321         Job.newBuilder()
322             .setName(JobName.of("[PROJECT]", "[LOCATION]", "[JOB]").toString())
323             .setInputUri("inputUri470706498")
324             .setOutputUri("outputUri-2119300949")
325             .setCreateTime(Timestamp.newBuilder().build())
326             .setStartTime(Timestamp.newBuilder().build())
327             .setEndTime(Timestamp.newBuilder().build())
328             .setTtlAfterCompletionDays(107576420)
329             .putAllLabels(new HashMap<String, String>())
330             .setError(Status.newBuilder().build())
331             .build();
332     mockTranscoderService.addResponse(expectedResponse);
333 
334     String name = "name3373707";
335 
336     Job actualResponse = client.getJob(name);
337     Assert.assertEquals(expectedResponse, actualResponse);
338 
339     List<AbstractMessage> actualRequests = mockTranscoderService.getRequests();
340     Assert.assertEquals(1, actualRequests.size());
341     GetJobRequest actualRequest = ((GetJobRequest) actualRequests.get(0));
342 
343     Assert.assertEquals(name, actualRequest.getName());
344     Assert.assertTrue(
345         channelProvider.isHeaderSent(
346             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
347             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
348   }
349 
350   @Test
getJobExceptionTest2()351   public void getJobExceptionTest2() throws Exception {
352     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
353     mockTranscoderService.addException(exception);
354 
355     try {
356       String name = "name3373707";
357       client.getJob(name);
358       Assert.fail("No exception raised");
359     } catch (InvalidArgumentException e) {
360       // Expected exception.
361     }
362   }
363 
364   @Test
deleteJobTest()365   public void deleteJobTest() throws Exception {
366     Empty expectedResponse = Empty.newBuilder().build();
367     mockTranscoderService.addResponse(expectedResponse);
368 
369     JobName name = JobName.of("[PROJECT]", "[LOCATION]", "[JOB]");
370 
371     client.deleteJob(name);
372 
373     List<AbstractMessage> actualRequests = mockTranscoderService.getRequests();
374     Assert.assertEquals(1, actualRequests.size());
375     DeleteJobRequest actualRequest = ((DeleteJobRequest) actualRequests.get(0));
376 
377     Assert.assertEquals(name.toString(), actualRequest.getName());
378     Assert.assertTrue(
379         channelProvider.isHeaderSent(
380             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
381             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
382   }
383 
384   @Test
deleteJobExceptionTest()385   public void deleteJobExceptionTest() throws Exception {
386     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
387     mockTranscoderService.addException(exception);
388 
389     try {
390       JobName name = JobName.of("[PROJECT]", "[LOCATION]", "[JOB]");
391       client.deleteJob(name);
392       Assert.fail("No exception raised");
393     } catch (InvalidArgumentException e) {
394       // Expected exception.
395     }
396   }
397 
398   @Test
deleteJobTest2()399   public void deleteJobTest2() throws Exception {
400     Empty expectedResponse = Empty.newBuilder().build();
401     mockTranscoderService.addResponse(expectedResponse);
402 
403     String name = "name3373707";
404 
405     client.deleteJob(name);
406 
407     List<AbstractMessage> actualRequests = mockTranscoderService.getRequests();
408     Assert.assertEquals(1, actualRequests.size());
409     DeleteJobRequest actualRequest = ((DeleteJobRequest) actualRequests.get(0));
410 
411     Assert.assertEquals(name, actualRequest.getName());
412     Assert.assertTrue(
413         channelProvider.isHeaderSent(
414             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
415             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
416   }
417 
418   @Test
deleteJobExceptionTest2()419   public void deleteJobExceptionTest2() throws Exception {
420     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
421     mockTranscoderService.addException(exception);
422 
423     try {
424       String name = "name3373707";
425       client.deleteJob(name);
426       Assert.fail("No exception raised");
427     } catch (InvalidArgumentException e) {
428       // Expected exception.
429     }
430   }
431 
432   @Test
createJobTemplateTest()433   public void createJobTemplateTest() throws Exception {
434     JobTemplate expectedResponse =
435         JobTemplate.newBuilder()
436             .setName(JobTemplateName.of("[PROJECT]", "[LOCATION]", "[JOB_TEMPLATE]").toString())
437             .setConfig(JobConfig.newBuilder().build())
438             .putAllLabels(new HashMap<String, String>())
439             .build();
440     mockTranscoderService.addResponse(expectedResponse);
441 
442     LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
443     JobTemplate jobTemplate = JobTemplate.newBuilder().build();
444     String jobTemplateId = "jobTemplateId-597733678";
445 
446     JobTemplate actualResponse = client.createJobTemplate(parent, jobTemplate, jobTemplateId);
447     Assert.assertEquals(expectedResponse, actualResponse);
448 
449     List<AbstractMessage> actualRequests = mockTranscoderService.getRequests();
450     Assert.assertEquals(1, actualRequests.size());
451     CreateJobTemplateRequest actualRequest = ((CreateJobTemplateRequest) actualRequests.get(0));
452 
453     Assert.assertEquals(parent.toString(), actualRequest.getParent());
454     Assert.assertEquals(jobTemplate, actualRequest.getJobTemplate());
455     Assert.assertEquals(jobTemplateId, actualRequest.getJobTemplateId());
456     Assert.assertTrue(
457         channelProvider.isHeaderSent(
458             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
459             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
460   }
461 
462   @Test
createJobTemplateExceptionTest()463   public void createJobTemplateExceptionTest() throws Exception {
464     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
465     mockTranscoderService.addException(exception);
466 
467     try {
468       LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
469       JobTemplate jobTemplate = JobTemplate.newBuilder().build();
470       String jobTemplateId = "jobTemplateId-597733678";
471       client.createJobTemplate(parent, jobTemplate, jobTemplateId);
472       Assert.fail("No exception raised");
473     } catch (InvalidArgumentException e) {
474       // Expected exception.
475     }
476   }
477 
478   @Test
createJobTemplateTest2()479   public void createJobTemplateTest2() throws Exception {
480     JobTemplate expectedResponse =
481         JobTemplate.newBuilder()
482             .setName(JobTemplateName.of("[PROJECT]", "[LOCATION]", "[JOB_TEMPLATE]").toString())
483             .setConfig(JobConfig.newBuilder().build())
484             .putAllLabels(new HashMap<String, String>())
485             .build();
486     mockTranscoderService.addResponse(expectedResponse);
487 
488     String parent = "parent-995424086";
489     JobTemplate jobTemplate = JobTemplate.newBuilder().build();
490     String jobTemplateId = "jobTemplateId-597733678";
491 
492     JobTemplate actualResponse = client.createJobTemplate(parent, jobTemplate, jobTemplateId);
493     Assert.assertEquals(expectedResponse, actualResponse);
494 
495     List<AbstractMessage> actualRequests = mockTranscoderService.getRequests();
496     Assert.assertEquals(1, actualRequests.size());
497     CreateJobTemplateRequest actualRequest = ((CreateJobTemplateRequest) actualRequests.get(0));
498 
499     Assert.assertEquals(parent, actualRequest.getParent());
500     Assert.assertEquals(jobTemplate, actualRequest.getJobTemplate());
501     Assert.assertEquals(jobTemplateId, actualRequest.getJobTemplateId());
502     Assert.assertTrue(
503         channelProvider.isHeaderSent(
504             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
505             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
506   }
507 
508   @Test
createJobTemplateExceptionTest2()509   public void createJobTemplateExceptionTest2() throws Exception {
510     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
511     mockTranscoderService.addException(exception);
512 
513     try {
514       String parent = "parent-995424086";
515       JobTemplate jobTemplate = JobTemplate.newBuilder().build();
516       String jobTemplateId = "jobTemplateId-597733678";
517       client.createJobTemplate(parent, jobTemplate, jobTemplateId);
518       Assert.fail("No exception raised");
519     } catch (InvalidArgumentException e) {
520       // Expected exception.
521     }
522   }
523 
524   @Test
listJobTemplatesTest()525   public void listJobTemplatesTest() throws Exception {
526     JobTemplate responsesElement = JobTemplate.newBuilder().build();
527     ListJobTemplatesResponse expectedResponse =
528         ListJobTemplatesResponse.newBuilder()
529             .setNextPageToken("")
530             .addAllJobTemplates(Arrays.asList(responsesElement))
531             .build();
532     mockTranscoderService.addResponse(expectedResponse);
533 
534     LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
535 
536     ListJobTemplatesPagedResponse pagedListResponse = client.listJobTemplates(parent);
537 
538     List<JobTemplate> resources = Lists.newArrayList(pagedListResponse.iterateAll());
539 
540     Assert.assertEquals(1, resources.size());
541     Assert.assertEquals(expectedResponse.getJobTemplatesList().get(0), resources.get(0));
542 
543     List<AbstractMessage> actualRequests = mockTranscoderService.getRequests();
544     Assert.assertEquals(1, actualRequests.size());
545     ListJobTemplatesRequest actualRequest = ((ListJobTemplatesRequest) actualRequests.get(0));
546 
547     Assert.assertEquals(parent.toString(), actualRequest.getParent());
548     Assert.assertTrue(
549         channelProvider.isHeaderSent(
550             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
551             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
552   }
553 
554   @Test
listJobTemplatesExceptionTest()555   public void listJobTemplatesExceptionTest() throws Exception {
556     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
557     mockTranscoderService.addException(exception);
558 
559     try {
560       LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
561       client.listJobTemplates(parent);
562       Assert.fail("No exception raised");
563     } catch (InvalidArgumentException e) {
564       // Expected exception.
565     }
566   }
567 
568   @Test
listJobTemplatesTest2()569   public void listJobTemplatesTest2() throws Exception {
570     JobTemplate responsesElement = JobTemplate.newBuilder().build();
571     ListJobTemplatesResponse expectedResponse =
572         ListJobTemplatesResponse.newBuilder()
573             .setNextPageToken("")
574             .addAllJobTemplates(Arrays.asList(responsesElement))
575             .build();
576     mockTranscoderService.addResponse(expectedResponse);
577 
578     String parent = "parent-995424086";
579 
580     ListJobTemplatesPagedResponse pagedListResponse = client.listJobTemplates(parent);
581 
582     List<JobTemplate> resources = Lists.newArrayList(pagedListResponse.iterateAll());
583 
584     Assert.assertEquals(1, resources.size());
585     Assert.assertEquals(expectedResponse.getJobTemplatesList().get(0), resources.get(0));
586 
587     List<AbstractMessage> actualRequests = mockTranscoderService.getRequests();
588     Assert.assertEquals(1, actualRequests.size());
589     ListJobTemplatesRequest actualRequest = ((ListJobTemplatesRequest) actualRequests.get(0));
590 
591     Assert.assertEquals(parent, actualRequest.getParent());
592     Assert.assertTrue(
593         channelProvider.isHeaderSent(
594             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
595             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
596   }
597 
598   @Test
listJobTemplatesExceptionTest2()599   public void listJobTemplatesExceptionTest2() throws Exception {
600     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
601     mockTranscoderService.addException(exception);
602 
603     try {
604       String parent = "parent-995424086";
605       client.listJobTemplates(parent);
606       Assert.fail("No exception raised");
607     } catch (InvalidArgumentException e) {
608       // Expected exception.
609     }
610   }
611 
612   @Test
getJobTemplateTest()613   public void getJobTemplateTest() throws Exception {
614     JobTemplate expectedResponse =
615         JobTemplate.newBuilder()
616             .setName(JobTemplateName.of("[PROJECT]", "[LOCATION]", "[JOB_TEMPLATE]").toString())
617             .setConfig(JobConfig.newBuilder().build())
618             .putAllLabels(new HashMap<String, String>())
619             .build();
620     mockTranscoderService.addResponse(expectedResponse);
621 
622     JobTemplateName name = JobTemplateName.of("[PROJECT]", "[LOCATION]", "[JOB_TEMPLATE]");
623 
624     JobTemplate actualResponse = client.getJobTemplate(name);
625     Assert.assertEquals(expectedResponse, actualResponse);
626 
627     List<AbstractMessage> actualRequests = mockTranscoderService.getRequests();
628     Assert.assertEquals(1, actualRequests.size());
629     GetJobTemplateRequest actualRequest = ((GetJobTemplateRequest) actualRequests.get(0));
630 
631     Assert.assertEquals(name.toString(), actualRequest.getName());
632     Assert.assertTrue(
633         channelProvider.isHeaderSent(
634             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
635             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
636   }
637 
638   @Test
getJobTemplateExceptionTest()639   public void getJobTemplateExceptionTest() throws Exception {
640     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
641     mockTranscoderService.addException(exception);
642 
643     try {
644       JobTemplateName name = JobTemplateName.of("[PROJECT]", "[LOCATION]", "[JOB_TEMPLATE]");
645       client.getJobTemplate(name);
646       Assert.fail("No exception raised");
647     } catch (InvalidArgumentException e) {
648       // Expected exception.
649     }
650   }
651 
652   @Test
getJobTemplateTest2()653   public void getJobTemplateTest2() throws Exception {
654     JobTemplate expectedResponse =
655         JobTemplate.newBuilder()
656             .setName(JobTemplateName.of("[PROJECT]", "[LOCATION]", "[JOB_TEMPLATE]").toString())
657             .setConfig(JobConfig.newBuilder().build())
658             .putAllLabels(new HashMap<String, String>())
659             .build();
660     mockTranscoderService.addResponse(expectedResponse);
661 
662     String name = "name3373707";
663 
664     JobTemplate actualResponse = client.getJobTemplate(name);
665     Assert.assertEquals(expectedResponse, actualResponse);
666 
667     List<AbstractMessage> actualRequests = mockTranscoderService.getRequests();
668     Assert.assertEquals(1, actualRequests.size());
669     GetJobTemplateRequest actualRequest = ((GetJobTemplateRequest) actualRequests.get(0));
670 
671     Assert.assertEquals(name, actualRequest.getName());
672     Assert.assertTrue(
673         channelProvider.isHeaderSent(
674             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
675             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
676   }
677 
678   @Test
getJobTemplateExceptionTest2()679   public void getJobTemplateExceptionTest2() throws Exception {
680     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
681     mockTranscoderService.addException(exception);
682 
683     try {
684       String name = "name3373707";
685       client.getJobTemplate(name);
686       Assert.fail("No exception raised");
687     } catch (InvalidArgumentException e) {
688       // Expected exception.
689     }
690   }
691 
692   @Test
deleteJobTemplateTest()693   public void deleteJobTemplateTest() throws Exception {
694     Empty expectedResponse = Empty.newBuilder().build();
695     mockTranscoderService.addResponse(expectedResponse);
696 
697     JobTemplateName name = JobTemplateName.of("[PROJECT]", "[LOCATION]", "[JOB_TEMPLATE]");
698 
699     client.deleteJobTemplate(name);
700 
701     List<AbstractMessage> actualRequests = mockTranscoderService.getRequests();
702     Assert.assertEquals(1, actualRequests.size());
703     DeleteJobTemplateRequest actualRequest = ((DeleteJobTemplateRequest) actualRequests.get(0));
704 
705     Assert.assertEquals(name.toString(), actualRequest.getName());
706     Assert.assertTrue(
707         channelProvider.isHeaderSent(
708             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
709             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
710   }
711 
712   @Test
deleteJobTemplateExceptionTest()713   public void deleteJobTemplateExceptionTest() throws Exception {
714     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
715     mockTranscoderService.addException(exception);
716 
717     try {
718       JobTemplateName name = JobTemplateName.of("[PROJECT]", "[LOCATION]", "[JOB_TEMPLATE]");
719       client.deleteJobTemplate(name);
720       Assert.fail("No exception raised");
721     } catch (InvalidArgumentException e) {
722       // Expected exception.
723     }
724   }
725 
726   @Test
deleteJobTemplateTest2()727   public void deleteJobTemplateTest2() throws Exception {
728     Empty expectedResponse = Empty.newBuilder().build();
729     mockTranscoderService.addResponse(expectedResponse);
730 
731     String name = "name3373707";
732 
733     client.deleteJobTemplate(name);
734 
735     List<AbstractMessage> actualRequests = mockTranscoderService.getRequests();
736     Assert.assertEquals(1, actualRequests.size());
737     DeleteJobTemplateRequest actualRequest = ((DeleteJobTemplateRequest) actualRequests.get(0));
738 
739     Assert.assertEquals(name, actualRequest.getName());
740     Assert.assertTrue(
741         channelProvider.isHeaderSent(
742             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
743             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
744   }
745 
746   @Test
deleteJobTemplateExceptionTest2()747   public void deleteJobTemplateExceptionTest2() throws Exception {
748     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
749     mockTranscoderService.addException(exception);
750 
751     try {
752       String name = "name3373707";
753       client.deleteJobTemplate(name);
754       Assert.fail("No exception raised");
755     } catch (InvalidArgumentException e) {
756       // Expected exception.
757     }
758   }
759 }
760