• 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.talent.v4beta1;
18 
19 import static com.google.cloud.talent.v4beta1.JobServiceClient.ListJobsPagedResponse;
20 import static com.google.cloud.talent.v4beta1.JobServiceClient.SearchJobsForAlertPagedResponse;
21 import static com.google.cloud.talent.v4beta1.JobServiceClient.SearchJobsPagedResponse;
22 
23 import com.google.api.gax.core.NoCredentialsProvider;
24 import com.google.api.gax.grpc.GaxGrpcProperties;
25 import com.google.api.gax.grpc.testing.LocalChannelProvider;
26 import com.google.api.gax.grpc.testing.MockGrpcService;
27 import com.google.api.gax.grpc.testing.MockServiceHelper;
28 import com.google.api.gax.rpc.ApiClientHeaderProvider;
29 import com.google.api.gax.rpc.InvalidArgumentException;
30 import com.google.api.gax.rpc.StatusCode;
31 import com.google.common.collect.Lists;
32 import com.google.longrunning.Operation;
33 import com.google.protobuf.AbstractMessage;
34 import com.google.protobuf.Any;
35 import com.google.protobuf.Empty;
36 import com.google.protobuf.Timestamp;
37 import io.grpc.StatusRuntimeException;
38 import java.io.IOException;
39 import java.util.ArrayList;
40 import java.util.Arrays;
41 import java.util.HashMap;
42 import java.util.List;
43 import java.util.UUID;
44 import java.util.concurrent.ExecutionException;
45 import javax.annotation.Generated;
46 import org.junit.After;
47 import org.junit.AfterClass;
48 import org.junit.Assert;
49 import org.junit.Before;
50 import org.junit.BeforeClass;
51 import org.junit.Test;
52 
53 @Generated("by gapic-generator-java")
54 public class JobServiceClientTest {
55   private static MockJobService mockJobService;
56   private static MockServiceHelper mockServiceHelper;
57   private LocalChannelProvider channelProvider;
58   private JobServiceClient client;
59 
60   @BeforeClass
startStaticServer()61   public static void startStaticServer() {
62     mockJobService = new MockJobService();
63     mockServiceHelper =
64         new MockServiceHelper(
65             UUID.randomUUID().toString(), Arrays.<MockGrpcService>asList(mockJobService));
66     mockServiceHelper.start();
67   }
68 
69   @AfterClass
stopServer()70   public static void stopServer() {
71     mockServiceHelper.stop();
72   }
73 
74   @Before
setUp()75   public void setUp() throws IOException {
76     mockServiceHelper.reset();
77     channelProvider = mockServiceHelper.createChannelProvider();
78     JobServiceSettings settings =
79         JobServiceSettings.newBuilder()
80             .setTransportChannelProvider(channelProvider)
81             .setCredentialsProvider(NoCredentialsProvider.create())
82             .build();
83     client = JobServiceClient.create(settings);
84   }
85 
86   @After
tearDown()87   public void tearDown() throws Exception {
88     client.close();
89   }
90 
91   @Test
createJobTest()92   public void createJobTest() throws Exception {
93     Job expectedResponse =
94         Job.newBuilder()
95             .setName(JobName.ofProjectTenantJobName("[PROJECT]", "[TENANT]", "[JOB]").toString())
96             .setCompany(
97                 CompanyName.ofProjectTenantCompanyName("[PROJECT]", "[TENANT]", "[COMPANY]")
98                     .toString())
99             .setRequisitionId("requisitionId-1769495849")
100             .setTitle("title110371416")
101             .setDescription("description-1724546052")
102             .addAllAddresses(new ArrayList<String>())
103             .setApplicationInfo(Job.ApplicationInfo.newBuilder().build())
104             .addAllJobBenefits(new ArrayList<JobBenefit>())
105             .setCompensationInfo(CompensationInfo.newBuilder().build())
106             .putAllCustomAttributes(new HashMap<String, CustomAttribute>())
107             .addAllDegreeTypes(new ArrayList<DegreeType>())
108             .setDepartment("department848184146")
109             .addAllEmploymentTypes(new ArrayList<EmploymentType>())
110             .setIncentives("incentives-1262874520")
111             .setLanguageCode("languageCode-2092349083")
112             .setJobLevel(JobLevel.forNumber(0))
113             .setPromotionValue(353413845)
114             .setQualifications("qualifications1903501412")
115             .setResponsibilities("responsibilities-926952660")
116             .setPostingRegion(PostingRegion.forNumber(0))
117             .setVisibility(Visibility.forNumber(0))
118             .setJobStartTime(Timestamp.newBuilder().build())
119             .setJobEndTime(Timestamp.newBuilder().build())
120             .setPostingPublishTime(Timestamp.newBuilder().build())
121             .setPostingExpireTime(Timestamp.newBuilder().build())
122             .setPostingCreateTime(Timestamp.newBuilder().build())
123             .setPostingUpdateTime(Timestamp.newBuilder().build())
124             .setCompanyDisplayName("companyDisplayName-686915152")
125             .setDerivedInfo(Job.DerivedInfo.newBuilder().build())
126             .setProcessingOptions(Job.ProcessingOptions.newBuilder().build())
127             .build();
128     mockJobService.addResponse(expectedResponse);
129 
130     ProjectName parent = ProjectName.of("[PROJECT]");
131     Job job = Job.newBuilder().build();
132 
133     Job actualResponse = client.createJob(parent, job);
134     Assert.assertEquals(expectedResponse, actualResponse);
135 
136     List<AbstractMessage> actualRequests = mockJobService.getRequests();
137     Assert.assertEquals(1, actualRequests.size());
138     CreateJobRequest actualRequest = ((CreateJobRequest) actualRequests.get(0));
139 
140     Assert.assertEquals(parent.toString(), actualRequest.getParent());
141     Assert.assertEquals(job, actualRequest.getJob());
142     Assert.assertTrue(
143         channelProvider.isHeaderSent(
144             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
145             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
146   }
147 
148   @Test
createJobExceptionTest()149   public void createJobExceptionTest() throws Exception {
150     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
151     mockJobService.addException(exception);
152 
153     try {
154       ProjectName parent = ProjectName.of("[PROJECT]");
155       Job job = Job.newBuilder().build();
156       client.createJob(parent, job);
157       Assert.fail("No exception raised");
158     } catch (InvalidArgumentException e) {
159       // Expected exception.
160     }
161   }
162 
163   @Test
createJobTest2()164   public void createJobTest2() throws Exception {
165     Job expectedResponse =
166         Job.newBuilder()
167             .setName(JobName.ofProjectTenantJobName("[PROJECT]", "[TENANT]", "[JOB]").toString())
168             .setCompany(
169                 CompanyName.ofProjectTenantCompanyName("[PROJECT]", "[TENANT]", "[COMPANY]")
170                     .toString())
171             .setRequisitionId("requisitionId-1769495849")
172             .setTitle("title110371416")
173             .setDescription("description-1724546052")
174             .addAllAddresses(new ArrayList<String>())
175             .setApplicationInfo(Job.ApplicationInfo.newBuilder().build())
176             .addAllJobBenefits(new ArrayList<JobBenefit>())
177             .setCompensationInfo(CompensationInfo.newBuilder().build())
178             .putAllCustomAttributes(new HashMap<String, CustomAttribute>())
179             .addAllDegreeTypes(new ArrayList<DegreeType>())
180             .setDepartment("department848184146")
181             .addAllEmploymentTypes(new ArrayList<EmploymentType>())
182             .setIncentives("incentives-1262874520")
183             .setLanguageCode("languageCode-2092349083")
184             .setJobLevel(JobLevel.forNumber(0))
185             .setPromotionValue(353413845)
186             .setQualifications("qualifications1903501412")
187             .setResponsibilities("responsibilities-926952660")
188             .setPostingRegion(PostingRegion.forNumber(0))
189             .setVisibility(Visibility.forNumber(0))
190             .setJobStartTime(Timestamp.newBuilder().build())
191             .setJobEndTime(Timestamp.newBuilder().build())
192             .setPostingPublishTime(Timestamp.newBuilder().build())
193             .setPostingExpireTime(Timestamp.newBuilder().build())
194             .setPostingCreateTime(Timestamp.newBuilder().build())
195             .setPostingUpdateTime(Timestamp.newBuilder().build())
196             .setCompanyDisplayName("companyDisplayName-686915152")
197             .setDerivedInfo(Job.DerivedInfo.newBuilder().build())
198             .setProcessingOptions(Job.ProcessingOptions.newBuilder().build())
199             .build();
200     mockJobService.addResponse(expectedResponse);
201 
202     TenantName parent = TenantName.of("[PROJECT]", "[TENANT]");
203     Job job = Job.newBuilder().build();
204 
205     Job actualResponse = client.createJob(parent, job);
206     Assert.assertEquals(expectedResponse, actualResponse);
207 
208     List<AbstractMessage> actualRequests = mockJobService.getRequests();
209     Assert.assertEquals(1, actualRequests.size());
210     CreateJobRequest actualRequest = ((CreateJobRequest) actualRequests.get(0));
211 
212     Assert.assertEquals(parent.toString(), actualRequest.getParent());
213     Assert.assertEquals(job, actualRequest.getJob());
214     Assert.assertTrue(
215         channelProvider.isHeaderSent(
216             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
217             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
218   }
219 
220   @Test
createJobExceptionTest2()221   public void createJobExceptionTest2() throws Exception {
222     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
223     mockJobService.addException(exception);
224 
225     try {
226       TenantName parent = TenantName.of("[PROJECT]", "[TENANT]");
227       Job job = Job.newBuilder().build();
228       client.createJob(parent, job);
229       Assert.fail("No exception raised");
230     } catch (InvalidArgumentException e) {
231       // Expected exception.
232     }
233   }
234 
235   @Test
createJobTest3()236   public void createJobTest3() throws Exception {
237     Job expectedResponse =
238         Job.newBuilder()
239             .setName(JobName.ofProjectTenantJobName("[PROJECT]", "[TENANT]", "[JOB]").toString())
240             .setCompany(
241                 CompanyName.ofProjectTenantCompanyName("[PROJECT]", "[TENANT]", "[COMPANY]")
242                     .toString())
243             .setRequisitionId("requisitionId-1769495849")
244             .setTitle("title110371416")
245             .setDescription("description-1724546052")
246             .addAllAddresses(new ArrayList<String>())
247             .setApplicationInfo(Job.ApplicationInfo.newBuilder().build())
248             .addAllJobBenefits(new ArrayList<JobBenefit>())
249             .setCompensationInfo(CompensationInfo.newBuilder().build())
250             .putAllCustomAttributes(new HashMap<String, CustomAttribute>())
251             .addAllDegreeTypes(new ArrayList<DegreeType>())
252             .setDepartment("department848184146")
253             .addAllEmploymentTypes(new ArrayList<EmploymentType>())
254             .setIncentives("incentives-1262874520")
255             .setLanguageCode("languageCode-2092349083")
256             .setJobLevel(JobLevel.forNumber(0))
257             .setPromotionValue(353413845)
258             .setQualifications("qualifications1903501412")
259             .setResponsibilities("responsibilities-926952660")
260             .setPostingRegion(PostingRegion.forNumber(0))
261             .setVisibility(Visibility.forNumber(0))
262             .setJobStartTime(Timestamp.newBuilder().build())
263             .setJobEndTime(Timestamp.newBuilder().build())
264             .setPostingPublishTime(Timestamp.newBuilder().build())
265             .setPostingExpireTime(Timestamp.newBuilder().build())
266             .setPostingCreateTime(Timestamp.newBuilder().build())
267             .setPostingUpdateTime(Timestamp.newBuilder().build())
268             .setCompanyDisplayName("companyDisplayName-686915152")
269             .setDerivedInfo(Job.DerivedInfo.newBuilder().build())
270             .setProcessingOptions(Job.ProcessingOptions.newBuilder().build())
271             .build();
272     mockJobService.addResponse(expectedResponse);
273 
274     String parent = "parent-995424086";
275     Job job = Job.newBuilder().build();
276 
277     Job actualResponse = client.createJob(parent, job);
278     Assert.assertEquals(expectedResponse, actualResponse);
279 
280     List<AbstractMessage> actualRequests = mockJobService.getRequests();
281     Assert.assertEquals(1, actualRequests.size());
282     CreateJobRequest actualRequest = ((CreateJobRequest) actualRequests.get(0));
283 
284     Assert.assertEquals(parent, actualRequest.getParent());
285     Assert.assertEquals(job, actualRequest.getJob());
286     Assert.assertTrue(
287         channelProvider.isHeaderSent(
288             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
289             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
290   }
291 
292   @Test
createJobExceptionTest3()293   public void createJobExceptionTest3() throws Exception {
294     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
295     mockJobService.addException(exception);
296 
297     try {
298       String parent = "parent-995424086";
299       Job job = Job.newBuilder().build();
300       client.createJob(parent, job);
301       Assert.fail("No exception raised");
302     } catch (InvalidArgumentException e) {
303       // Expected exception.
304     }
305   }
306 
307   @Test
batchCreateJobsTest()308   public void batchCreateJobsTest() throws Exception {
309     JobOperationResult expectedResponse =
310         JobOperationResult.newBuilder()
311             .addAllJobResults(new ArrayList<JobOperationResult.JobResult>())
312             .build();
313     Operation resultOperation =
314         Operation.newBuilder()
315             .setName("batchCreateJobsTest")
316             .setDone(true)
317             .setResponse(Any.pack(expectedResponse))
318             .build();
319     mockJobService.addResponse(resultOperation);
320 
321     ProjectName parent = ProjectName.of("[PROJECT]");
322     List<Job> jobs = new ArrayList<>();
323 
324     JobOperationResult actualResponse = client.batchCreateJobsAsync(parent, jobs).get();
325     Assert.assertEquals(expectedResponse, actualResponse);
326 
327     List<AbstractMessage> actualRequests = mockJobService.getRequests();
328     Assert.assertEquals(1, actualRequests.size());
329     BatchCreateJobsRequest actualRequest = ((BatchCreateJobsRequest) actualRequests.get(0));
330 
331     Assert.assertEquals(parent.toString(), actualRequest.getParent());
332     Assert.assertEquals(jobs, actualRequest.getJobsList());
333     Assert.assertTrue(
334         channelProvider.isHeaderSent(
335             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
336             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
337   }
338 
339   @Test
batchCreateJobsExceptionTest()340   public void batchCreateJobsExceptionTest() throws Exception {
341     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
342     mockJobService.addException(exception);
343 
344     try {
345       ProjectName parent = ProjectName.of("[PROJECT]");
346       List<Job> jobs = new ArrayList<>();
347       client.batchCreateJobsAsync(parent, jobs).get();
348       Assert.fail("No exception raised");
349     } catch (ExecutionException e) {
350       Assert.assertEquals(InvalidArgumentException.class, e.getCause().getClass());
351       InvalidArgumentException apiException = ((InvalidArgumentException) e.getCause());
352       Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode());
353     }
354   }
355 
356   @Test
batchCreateJobsTest2()357   public void batchCreateJobsTest2() throws Exception {
358     JobOperationResult expectedResponse =
359         JobOperationResult.newBuilder()
360             .addAllJobResults(new ArrayList<JobOperationResult.JobResult>())
361             .build();
362     Operation resultOperation =
363         Operation.newBuilder()
364             .setName("batchCreateJobsTest")
365             .setDone(true)
366             .setResponse(Any.pack(expectedResponse))
367             .build();
368     mockJobService.addResponse(resultOperation);
369 
370     TenantName parent = TenantName.of("[PROJECT]", "[TENANT]");
371     List<Job> jobs = new ArrayList<>();
372 
373     JobOperationResult actualResponse = client.batchCreateJobsAsync(parent, jobs).get();
374     Assert.assertEquals(expectedResponse, actualResponse);
375 
376     List<AbstractMessage> actualRequests = mockJobService.getRequests();
377     Assert.assertEquals(1, actualRequests.size());
378     BatchCreateJobsRequest actualRequest = ((BatchCreateJobsRequest) actualRequests.get(0));
379 
380     Assert.assertEquals(parent.toString(), actualRequest.getParent());
381     Assert.assertEquals(jobs, actualRequest.getJobsList());
382     Assert.assertTrue(
383         channelProvider.isHeaderSent(
384             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
385             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
386   }
387 
388   @Test
batchCreateJobsExceptionTest2()389   public void batchCreateJobsExceptionTest2() throws Exception {
390     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
391     mockJobService.addException(exception);
392 
393     try {
394       TenantName parent = TenantName.of("[PROJECT]", "[TENANT]");
395       List<Job> jobs = new ArrayList<>();
396       client.batchCreateJobsAsync(parent, jobs).get();
397       Assert.fail("No exception raised");
398     } catch (ExecutionException e) {
399       Assert.assertEquals(InvalidArgumentException.class, e.getCause().getClass());
400       InvalidArgumentException apiException = ((InvalidArgumentException) e.getCause());
401       Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode());
402     }
403   }
404 
405   @Test
batchCreateJobsTest3()406   public void batchCreateJobsTest3() throws Exception {
407     JobOperationResult expectedResponse =
408         JobOperationResult.newBuilder()
409             .addAllJobResults(new ArrayList<JobOperationResult.JobResult>())
410             .build();
411     Operation resultOperation =
412         Operation.newBuilder()
413             .setName("batchCreateJobsTest")
414             .setDone(true)
415             .setResponse(Any.pack(expectedResponse))
416             .build();
417     mockJobService.addResponse(resultOperation);
418 
419     String parent = "parent-995424086";
420     List<Job> jobs = new ArrayList<>();
421 
422     JobOperationResult actualResponse = client.batchCreateJobsAsync(parent, jobs).get();
423     Assert.assertEquals(expectedResponse, actualResponse);
424 
425     List<AbstractMessage> actualRequests = mockJobService.getRequests();
426     Assert.assertEquals(1, actualRequests.size());
427     BatchCreateJobsRequest actualRequest = ((BatchCreateJobsRequest) actualRequests.get(0));
428 
429     Assert.assertEquals(parent, actualRequest.getParent());
430     Assert.assertEquals(jobs, actualRequest.getJobsList());
431     Assert.assertTrue(
432         channelProvider.isHeaderSent(
433             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
434             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
435   }
436 
437   @Test
batchCreateJobsExceptionTest3()438   public void batchCreateJobsExceptionTest3() throws Exception {
439     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
440     mockJobService.addException(exception);
441 
442     try {
443       String parent = "parent-995424086";
444       List<Job> jobs = new ArrayList<>();
445       client.batchCreateJobsAsync(parent, jobs).get();
446       Assert.fail("No exception raised");
447     } catch (ExecutionException e) {
448       Assert.assertEquals(InvalidArgumentException.class, e.getCause().getClass());
449       InvalidArgumentException apiException = ((InvalidArgumentException) e.getCause());
450       Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode());
451     }
452   }
453 
454   @Test
getJobTest()455   public void getJobTest() throws Exception {
456     Job expectedResponse =
457         Job.newBuilder()
458             .setName(JobName.ofProjectTenantJobName("[PROJECT]", "[TENANT]", "[JOB]").toString())
459             .setCompany(
460                 CompanyName.ofProjectTenantCompanyName("[PROJECT]", "[TENANT]", "[COMPANY]")
461                     .toString())
462             .setRequisitionId("requisitionId-1769495849")
463             .setTitle("title110371416")
464             .setDescription("description-1724546052")
465             .addAllAddresses(new ArrayList<String>())
466             .setApplicationInfo(Job.ApplicationInfo.newBuilder().build())
467             .addAllJobBenefits(new ArrayList<JobBenefit>())
468             .setCompensationInfo(CompensationInfo.newBuilder().build())
469             .putAllCustomAttributes(new HashMap<String, CustomAttribute>())
470             .addAllDegreeTypes(new ArrayList<DegreeType>())
471             .setDepartment("department848184146")
472             .addAllEmploymentTypes(new ArrayList<EmploymentType>())
473             .setIncentives("incentives-1262874520")
474             .setLanguageCode("languageCode-2092349083")
475             .setJobLevel(JobLevel.forNumber(0))
476             .setPromotionValue(353413845)
477             .setQualifications("qualifications1903501412")
478             .setResponsibilities("responsibilities-926952660")
479             .setPostingRegion(PostingRegion.forNumber(0))
480             .setVisibility(Visibility.forNumber(0))
481             .setJobStartTime(Timestamp.newBuilder().build())
482             .setJobEndTime(Timestamp.newBuilder().build())
483             .setPostingPublishTime(Timestamp.newBuilder().build())
484             .setPostingExpireTime(Timestamp.newBuilder().build())
485             .setPostingCreateTime(Timestamp.newBuilder().build())
486             .setPostingUpdateTime(Timestamp.newBuilder().build())
487             .setCompanyDisplayName("companyDisplayName-686915152")
488             .setDerivedInfo(Job.DerivedInfo.newBuilder().build())
489             .setProcessingOptions(Job.ProcessingOptions.newBuilder().build())
490             .build();
491     mockJobService.addResponse(expectedResponse);
492 
493     JobName name = JobName.ofProjectTenantJobName("[PROJECT]", "[TENANT]", "[JOB]");
494 
495     Job actualResponse = client.getJob(name);
496     Assert.assertEquals(expectedResponse, actualResponse);
497 
498     List<AbstractMessage> actualRequests = mockJobService.getRequests();
499     Assert.assertEquals(1, actualRequests.size());
500     GetJobRequest actualRequest = ((GetJobRequest) actualRequests.get(0));
501 
502     Assert.assertEquals(name.toString(), actualRequest.getName());
503     Assert.assertTrue(
504         channelProvider.isHeaderSent(
505             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
506             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
507   }
508 
509   @Test
getJobExceptionTest()510   public void getJobExceptionTest() throws Exception {
511     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
512     mockJobService.addException(exception);
513 
514     try {
515       JobName name = JobName.ofProjectTenantJobName("[PROJECT]", "[TENANT]", "[JOB]");
516       client.getJob(name);
517       Assert.fail("No exception raised");
518     } catch (InvalidArgumentException e) {
519       // Expected exception.
520     }
521   }
522 
523   @Test
getJobTest2()524   public void getJobTest2() throws Exception {
525     Job expectedResponse =
526         Job.newBuilder()
527             .setName(JobName.ofProjectTenantJobName("[PROJECT]", "[TENANT]", "[JOB]").toString())
528             .setCompany(
529                 CompanyName.ofProjectTenantCompanyName("[PROJECT]", "[TENANT]", "[COMPANY]")
530                     .toString())
531             .setRequisitionId("requisitionId-1769495849")
532             .setTitle("title110371416")
533             .setDescription("description-1724546052")
534             .addAllAddresses(new ArrayList<String>())
535             .setApplicationInfo(Job.ApplicationInfo.newBuilder().build())
536             .addAllJobBenefits(new ArrayList<JobBenefit>())
537             .setCompensationInfo(CompensationInfo.newBuilder().build())
538             .putAllCustomAttributes(new HashMap<String, CustomAttribute>())
539             .addAllDegreeTypes(new ArrayList<DegreeType>())
540             .setDepartment("department848184146")
541             .addAllEmploymentTypes(new ArrayList<EmploymentType>())
542             .setIncentives("incentives-1262874520")
543             .setLanguageCode("languageCode-2092349083")
544             .setJobLevel(JobLevel.forNumber(0))
545             .setPromotionValue(353413845)
546             .setQualifications("qualifications1903501412")
547             .setResponsibilities("responsibilities-926952660")
548             .setPostingRegion(PostingRegion.forNumber(0))
549             .setVisibility(Visibility.forNumber(0))
550             .setJobStartTime(Timestamp.newBuilder().build())
551             .setJobEndTime(Timestamp.newBuilder().build())
552             .setPostingPublishTime(Timestamp.newBuilder().build())
553             .setPostingExpireTime(Timestamp.newBuilder().build())
554             .setPostingCreateTime(Timestamp.newBuilder().build())
555             .setPostingUpdateTime(Timestamp.newBuilder().build())
556             .setCompanyDisplayName("companyDisplayName-686915152")
557             .setDerivedInfo(Job.DerivedInfo.newBuilder().build())
558             .setProcessingOptions(Job.ProcessingOptions.newBuilder().build())
559             .build();
560     mockJobService.addResponse(expectedResponse);
561 
562     String name = "name3373707";
563 
564     Job actualResponse = client.getJob(name);
565     Assert.assertEquals(expectedResponse, actualResponse);
566 
567     List<AbstractMessage> actualRequests = mockJobService.getRequests();
568     Assert.assertEquals(1, actualRequests.size());
569     GetJobRequest actualRequest = ((GetJobRequest) actualRequests.get(0));
570 
571     Assert.assertEquals(name, actualRequest.getName());
572     Assert.assertTrue(
573         channelProvider.isHeaderSent(
574             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
575             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
576   }
577 
578   @Test
getJobExceptionTest2()579   public void getJobExceptionTest2() throws Exception {
580     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
581     mockJobService.addException(exception);
582 
583     try {
584       String name = "name3373707";
585       client.getJob(name);
586       Assert.fail("No exception raised");
587     } catch (InvalidArgumentException e) {
588       // Expected exception.
589     }
590   }
591 
592   @Test
updateJobTest()593   public void updateJobTest() throws Exception {
594     Job expectedResponse =
595         Job.newBuilder()
596             .setName(JobName.ofProjectTenantJobName("[PROJECT]", "[TENANT]", "[JOB]").toString())
597             .setCompany(
598                 CompanyName.ofProjectTenantCompanyName("[PROJECT]", "[TENANT]", "[COMPANY]")
599                     .toString())
600             .setRequisitionId("requisitionId-1769495849")
601             .setTitle("title110371416")
602             .setDescription("description-1724546052")
603             .addAllAddresses(new ArrayList<String>())
604             .setApplicationInfo(Job.ApplicationInfo.newBuilder().build())
605             .addAllJobBenefits(new ArrayList<JobBenefit>())
606             .setCompensationInfo(CompensationInfo.newBuilder().build())
607             .putAllCustomAttributes(new HashMap<String, CustomAttribute>())
608             .addAllDegreeTypes(new ArrayList<DegreeType>())
609             .setDepartment("department848184146")
610             .addAllEmploymentTypes(new ArrayList<EmploymentType>())
611             .setIncentives("incentives-1262874520")
612             .setLanguageCode("languageCode-2092349083")
613             .setJobLevel(JobLevel.forNumber(0))
614             .setPromotionValue(353413845)
615             .setQualifications("qualifications1903501412")
616             .setResponsibilities("responsibilities-926952660")
617             .setPostingRegion(PostingRegion.forNumber(0))
618             .setVisibility(Visibility.forNumber(0))
619             .setJobStartTime(Timestamp.newBuilder().build())
620             .setJobEndTime(Timestamp.newBuilder().build())
621             .setPostingPublishTime(Timestamp.newBuilder().build())
622             .setPostingExpireTime(Timestamp.newBuilder().build())
623             .setPostingCreateTime(Timestamp.newBuilder().build())
624             .setPostingUpdateTime(Timestamp.newBuilder().build())
625             .setCompanyDisplayName("companyDisplayName-686915152")
626             .setDerivedInfo(Job.DerivedInfo.newBuilder().build())
627             .setProcessingOptions(Job.ProcessingOptions.newBuilder().build())
628             .build();
629     mockJobService.addResponse(expectedResponse);
630 
631     Job job = Job.newBuilder().build();
632 
633     Job actualResponse = client.updateJob(job);
634     Assert.assertEquals(expectedResponse, actualResponse);
635 
636     List<AbstractMessage> actualRequests = mockJobService.getRequests();
637     Assert.assertEquals(1, actualRequests.size());
638     UpdateJobRequest actualRequest = ((UpdateJobRequest) actualRequests.get(0));
639 
640     Assert.assertEquals(job, actualRequest.getJob());
641     Assert.assertTrue(
642         channelProvider.isHeaderSent(
643             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
644             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
645   }
646 
647   @Test
updateJobExceptionTest()648   public void updateJobExceptionTest() throws Exception {
649     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
650     mockJobService.addException(exception);
651 
652     try {
653       Job job = Job.newBuilder().build();
654       client.updateJob(job);
655       Assert.fail("No exception raised");
656     } catch (InvalidArgumentException e) {
657       // Expected exception.
658     }
659   }
660 
661   @Test
batchUpdateJobsTest()662   public void batchUpdateJobsTest() throws Exception {
663     JobOperationResult expectedResponse =
664         JobOperationResult.newBuilder()
665             .addAllJobResults(new ArrayList<JobOperationResult.JobResult>())
666             .build();
667     Operation resultOperation =
668         Operation.newBuilder()
669             .setName("batchUpdateJobsTest")
670             .setDone(true)
671             .setResponse(Any.pack(expectedResponse))
672             .build();
673     mockJobService.addResponse(resultOperation);
674 
675     ProjectName parent = ProjectName.of("[PROJECT]");
676     List<Job> jobs = new ArrayList<>();
677 
678     JobOperationResult actualResponse = client.batchUpdateJobsAsync(parent, jobs).get();
679     Assert.assertEquals(expectedResponse, actualResponse);
680 
681     List<AbstractMessage> actualRequests = mockJobService.getRequests();
682     Assert.assertEquals(1, actualRequests.size());
683     BatchUpdateJobsRequest actualRequest = ((BatchUpdateJobsRequest) actualRequests.get(0));
684 
685     Assert.assertEquals(parent.toString(), actualRequest.getParent());
686     Assert.assertEquals(jobs, actualRequest.getJobsList());
687     Assert.assertTrue(
688         channelProvider.isHeaderSent(
689             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
690             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
691   }
692 
693   @Test
batchUpdateJobsExceptionTest()694   public void batchUpdateJobsExceptionTest() throws Exception {
695     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
696     mockJobService.addException(exception);
697 
698     try {
699       ProjectName parent = ProjectName.of("[PROJECT]");
700       List<Job> jobs = new ArrayList<>();
701       client.batchUpdateJobsAsync(parent, jobs).get();
702       Assert.fail("No exception raised");
703     } catch (ExecutionException e) {
704       Assert.assertEquals(InvalidArgumentException.class, e.getCause().getClass());
705       InvalidArgumentException apiException = ((InvalidArgumentException) e.getCause());
706       Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode());
707     }
708   }
709 
710   @Test
batchUpdateJobsTest2()711   public void batchUpdateJobsTest2() throws Exception {
712     JobOperationResult expectedResponse =
713         JobOperationResult.newBuilder()
714             .addAllJobResults(new ArrayList<JobOperationResult.JobResult>())
715             .build();
716     Operation resultOperation =
717         Operation.newBuilder()
718             .setName("batchUpdateJobsTest")
719             .setDone(true)
720             .setResponse(Any.pack(expectedResponse))
721             .build();
722     mockJobService.addResponse(resultOperation);
723 
724     TenantName parent = TenantName.of("[PROJECT]", "[TENANT]");
725     List<Job> jobs = new ArrayList<>();
726 
727     JobOperationResult actualResponse = client.batchUpdateJobsAsync(parent, jobs).get();
728     Assert.assertEquals(expectedResponse, actualResponse);
729 
730     List<AbstractMessage> actualRequests = mockJobService.getRequests();
731     Assert.assertEquals(1, actualRequests.size());
732     BatchUpdateJobsRequest actualRequest = ((BatchUpdateJobsRequest) actualRequests.get(0));
733 
734     Assert.assertEquals(parent.toString(), actualRequest.getParent());
735     Assert.assertEquals(jobs, actualRequest.getJobsList());
736     Assert.assertTrue(
737         channelProvider.isHeaderSent(
738             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
739             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
740   }
741 
742   @Test
batchUpdateJobsExceptionTest2()743   public void batchUpdateJobsExceptionTest2() throws Exception {
744     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
745     mockJobService.addException(exception);
746 
747     try {
748       TenantName parent = TenantName.of("[PROJECT]", "[TENANT]");
749       List<Job> jobs = new ArrayList<>();
750       client.batchUpdateJobsAsync(parent, jobs).get();
751       Assert.fail("No exception raised");
752     } catch (ExecutionException e) {
753       Assert.assertEquals(InvalidArgumentException.class, e.getCause().getClass());
754       InvalidArgumentException apiException = ((InvalidArgumentException) e.getCause());
755       Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode());
756     }
757   }
758 
759   @Test
batchUpdateJobsTest3()760   public void batchUpdateJobsTest3() throws Exception {
761     JobOperationResult expectedResponse =
762         JobOperationResult.newBuilder()
763             .addAllJobResults(new ArrayList<JobOperationResult.JobResult>())
764             .build();
765     Operation resultOperation =
766         Operation.newBuilder()
767             .setName("batchUpdateJobsTest")
768             .setDone(true)
769             .setResponse(Any.pack(expectedResponse))
770             .build();
771     mockJobService.addResponse(resultOperation);
772 
773     String parent = "parent-995424086";
774     List<Job> jobs = new ArrayList<>();
775 
776     JobOperationResult actualResponse = client.batchUpdateJobsAsync(parent, jobs).get();
777     Assert.assertEquals(expectedResponse, actualResponse);
778 
779     List<AbstractMessage> actualRequests = mockJobService.getRequests();
780     Assert.assertEquals(1, actualRequests.size());
781     BatchUpdateJobsRequest actualRequest = ((BatchUpdateJobsRequest) actualRequests.get(0));
782 
783     Assert.assertEquals(parent, actualRequest.getParent());
784     Assert.assertEquals(jobs, actualRequest.getJobsList());
785     Assert.assertTrue(
786         channelProvider.isHeaderSent(
787             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
788             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
789   }
790 
791   @Test
batchUpdateJobsExceptionTest3()792   public void batchUpdateJobsExceptionTest3() throws Exception {
793     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
794     mockJobService.addException(exception);
795 
796     try {
797       String parent = "parent-995424086";
798       List<Job> jobs = new ArrayList<>();
799       client.batchUpdateJobsAsync(parent, jobs).get();
800       Assert.fail("No exception raised");
801     } catch (ExecutionException e) {
802       Assert.assertEquals(InvalidArgumentException.class, e.getCause().getClass());
803       InvalidArgumentException apiException = ((InvalidArgumentException) e.getCause());
804       Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode());
805     }
806   }
807 
808   @Test
deleteJobTest()809   public void deleteJobTest() throws Exception {
810     Empty expectedResponse = Empty.newBuilder().build();
811     mockJobService.addResponse(expectedResponse);
812 
813     JobName name = JobName.ofProjectTenantJobName("[PROJECT]", "[TENANT]", "[JOB]");
814 
815     client.deleteJob(name);
816 
817     List<AbstractMessage> actualRequests = mockJobService.getRequests();
818     Assert.assertEquals(1, actualRequests.size());
819     DeleteJobRequest actualRequest = ((DeleteJobRequest) actualRequests.get(0));
820 
821     Assert.assertEquals(name.toString(), actualRequest.getName());
822     Assert.assertTrue(
823         channelProvider.isHeaderSent(
824             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
825             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
826   }
827 
828   @Test
deleteJobExceptionTest()829   public void deleteJobExceptionTest() throws Exception {
830     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
831     mockJobService.addException(exception);
832 
833     try {
834       JobName name = JobName.ofProjectTenantJobName("[PROJECT]", "[TENANT]", "[JOB]");
835       client.deleteJob(name);
836       Assert.fail("No exception raised");
837     } catch (InvalidArgumentException e) {
838       // Expected exception.
839     }
840   }
841 
842   @Test
deleteJobTest2()843   public void deleteJobTest2() throws Exception {
844     Empty expectedResponse = Empty.newBuilder().build();
845     mockJobService.addResponse(expectedResponse);
846 
847     String name = "name3373707";
848 
849     client.deleteJob(name);
850 
851     List<AbstractMessage> actualRequests = mockJobService.getRequests();
852     Assert.assertEquals(1, actualRequests.size());
853     DeleteJobRequest actualRequest = ((DeleteJobRequest) actualRequests.get(0));
854 
855     Assert.assertEquals(name, actualRequest.getName());
856     Assert.assertTrue(
857         channelProvider.isHeaderSent(
858             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
859             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
860   }
861 
862   @Test
deleteJobExceptionTest2()863   public void deleteJobExceptionTest2() throws Exception {
864     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
865     mockJobService.addException(exception);
866 
867     try {
868       String name = "name3373707";
869       client.deleteJob(name);
870       Assert.fail("No exception raised");
871     } catch (InvalidArgumentException e) {
872       // Expected exception.
873     }
874   }
875 
876   @Test
batchDeleteJobsTest()877   public void batchDeleteJobsTest() throws Exception {
878     Empty expectedResponse = Empty.newBuilder().build();
879     mockJobService.addResponse(expectedResponse);
880 
881     ProjectName parent = ProjectName.of("[PROJECT]");
882     String filter = "filter-1274492040";
883 
884     client.batchDeleteJobs(parent, filter);
885 
886     List<AbstractMessage> actualRequests = mockJobService.getRequests();
887     Assert.assertEquals(1, actualRequests.size());
888     BatchDeleteJobsRequest actualRequest = ((BatchDeleteJobsRequest) actualRequests.get(0));
889 
890     Assert.assertEquals(parent.toString(), actualRequest.getParent());
891     Assert.assertEquals(filter, actualRequest.getFilter());
892     Assert.assertTrue(
893         channelProvider.isHeaderSent(
894             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
895             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
896   }
897 
898   @Test
batchDeleteJobsExceptionTest()899   public void batchDeleteJobsExceptionTest() throws Exception {
900     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
901     mockJobService.addException(exception);
902 
903     try {
904       ProjectName parent = ProjectName.of("[PROJECT]");
905       String filter = "filter-1274492040";
906       client.batchDeleteJobs(parent, filter);
907       Assert.fail("No exception raised");
908     } catch (InvalidArgumentException e) {
909       // Expected exception.
910     }
911   }
912 
913   @Test
batchDeleteJobsTest2()914   public void batchDeleteJobsTest2() throws Exception {
915     Empty expectedResponse = Empty.newBuilder().build();
916     mockJobService.addResponse(expectedResponse);
917 
918     TenantName parent = TenantName.of("[PROJECT]", "[TENANT]");
919     String filter = "filter-1274492040";
920 
921     client.batchDeleteJobs(parent, filter);
922 
923     List<AbstractMessage> actualRequests = mockJobService.getRequests();
924     Assert.assertEquals(1, actualRequests.size());
925     BatchDeleteJobsRequest actualRequest = ((BatchDeleteJobsRequest) actualRequests.get(0));
926 
927     Assert.assertEquals(parent.toString(), actualRequest.getParent());
928     Assert.assertEquals(filter, actualRequest.getFilter());
929     Assert.assertTrue(
930         channelProvider.isHeaderSent(
931             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
932             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
933   }
934 
935   @Test
batchDeleteJobsExceptionTest2()936   public void batchDeleteJobsExceptionTest2() throws Exception {
937     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
938     mockJobService.addException(exception);
939 
940     try {
941       TenantName parent = TenantName.of("[PROJECT]", "[TENANT]");
942       String filter = "filter-1274492040";
943       client.batchDeleteJobs(parent, filter);
944       Assert.fail("No exception raised");
945     } catch (InvalidArgumentException e) {
946       // Expected exception.
947     }
948   }
949 
950   @Test
batchDeleteJobsTest3()951   public void batchDeleteJobsTest3() throws Exception {
952     Empty expectedResponse = Empty.newBuilder().build();
953     mockJobService.addResponse(expectedResponse);
954 
955     String parent = "parent-995424086";
956     String filter = "filter-1274492040";
957 
958     client.batchDeleteJobs(parent, filter);
959 
960     List<AbstractMessage> actualRequests = mockJobService.getRequests();
961     Assert.assertEquals(1, actualRequests.size());
962     BatchDeleteJobsRequest actualRequest = ((BatchDeleteJobsRequest) actualRequests.get(0));
963 
964     Assert.assertEquals(parent, actualRequest.getParent());
965     Assert.assertEquals(filter, actualRequest.getFilter());
966     Assert.assertTrue(
967         channelProvider.isHeaderSent(
968             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
969             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
970   }
971 
972   @Test
batchDeleteJobsExceptionTest3()973   public void batchDeleteJobsExceptionTest3() throws Exception {
974     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
975     mockJobService.addException(exception);
976 
977     try {
978       String parent = "parent-995424086";
979       String filter = "filter-1274492040";
980       client.batchDeleteJobs(parent, filter);
981       Assert.fail("No exception raised");
982     } catch (InvalidArgumentException e) {
983       // Expected exception.
984     }
985   }
986 
987   @Test
listJobsTest()988   public void listJobsTest() throws Exception {
989     Job responsesElement = Job.newBuilder().build();
990     ListJobsResponse expectedResponse =
991         ListJobsResponse.newBuilder()
992             .setNextPageToken("")
993             .addAllJobs(Arrays.asList(responsesElement))
994             .build();
995     mockJobService.addResponse(expectedResponse);
996 
997     ProjectName parent = ProjectName.of("[PROJECT]");
998     String filter = "filter-1274492040";
999 
1000     ListJobsPagedResponse pagedListResponse = client.listJobs(parent, filter);
1001 
1002     List<Job> resources = Lists.newArrayList(pagedListResponse.iterateAll());
1003 
1004     Assert.assertEquals(1, resources.size());
1005     Assert.assertEquals(expectedResponse.getJobsList().get(0), resources.get(0));
1006 
1007     List<AbstractMessage> actualRequests = mockJobService.getRequests();
1008     Assert.assertEquals(1, actualRequests.size());
1009     ListJobsRequest actualRequest = ((ListJobsRequest) actualRequests.get(0));
1010 
1011     Assert.assertEquals(parent.toString(), actualRequest.getParent());
1012     Assert.assertEquals(filter, actualRequest.getFilter());
1013     Assert.assertTrue(
1014         channelProvider.isHeaderSent(
1015             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
1016             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
1017   }
1018 
1019   @Test
listJobsExceptionTest()1020   public void listJobsExceptionTest() throws Exception {
1021     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
1022     mockJobService.addException(exception);
1023 
1024     try {
1025       ProjectName parent = ProjectName.of("[PROJECT]");
1026       String filter = "filter-1274492040";
1027       client.listJobs(parent, filter);
1028       Assert.fail("No exception raised");
1029     } catch (InvalidArgumentException e) {
1030       // Expected exception.
1031     }
1032   }
1033 
1034   @Test
listJobsTest2()1035   public void listJobsTest2() throws Exception {
1036     Job responsesElement = Job.newBuilder().build();
1037     ListJobsResponse expectedResponse =
1038         ListJobsResponse.newBuilder()
1039             .setNextPageToken("")
1040             .addAllJobs(Arrays.asList(responsesElement))
1041             .build();
1042     mockJobService.addResponse(expectedResponse);
1043 
1044     TenantName parent = TenantName.of("[PROJECT]", "[TENANT]");
1045     String filter = "filter-1274492040";
1046 
1047     ListJobsPagedResponse pagedListResponse = client.listJobs(parent, filter);
1048 
1049     List<Job> resources = Lists.newArrayList(pagedListResponse.iterateAll());
1050 
1051     Assert.assertEquals(1, resources.size());
1052     Assert.assertEquals(expectedResponse.getJobsList().get(0), resources.get(0));
1053 
1054     List<AbstractMessage> actualRequests = mockJobService.getRequests();
1055     Assert.assertEquals(1, actualRequests.size());
1056     ListJobsRequest actualRequest = ((ListJobsRequest) actualRequests.get(0));
1057 
1058     Assert.assertEquals(parent.toString(), actualRequest.getParent());
1059     Assert.assertEquals(filter, actualRequest.getFilter());
1060     Assert.assertTrue(
1061         channelProvider.isHeaderSent(
1062             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
1063             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
1064   }
1065 
1066   @Test
listJobsExceptionTest2()1067   public void listJobsExceptionTest2() throws Exception {
1068     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
1069     mockJobService.addException(exception);
1070 
1071     try {
1072       TenantName parent = TenantName.of("[PROJECT]", "[TENANT]");
1073       String filter = "filter-1274492040";
1074       client.listJobs(parent, filter);
1075       Assert.fail("No exception raised");
1076     } catch (InvalidArgumentException e) {
1077       // Expected exception.
1078     }
1079   }
1080 
1081   @Test
listJobsTest3()1082   public void listJobsTest3() throws Exception {
1083     Job responsesElement = Job.newBuilder().build();
1084     ListJobsResponse expectedResponse =
1085         ListJobsResponse.newBuilder()
1086             .setNextPageToken("")
1087             .addAllJobs(Arrays.asList(responsesElement))
1088             .build();
1089     mockJobService.addResponse(expectedResponse);
1090 
1091     String parent = "parent-995424086";
1092     String filter = "filter-1274492040";
1093 
1094     ListJobsPagedResponse pagedListResponse = client.listJobs(parent, filter);
1095 
1096     List<Job> resources = Lists.newArrayList(pagedListResponse.iterateAll());
1097 
1098     Assert.assertEquals(1, resources.size());
1099     Assert.assertEquals(expectedResponse.getJobsList().get(0), resources.get(0));
1100 
1101     List<AbstractMessage> actualRequests = mockJobService.getRequests();
1102     Assert.assertEquals(1, actualRequests.size());
1103     ListJobsRequest actualRequest = ((ListJobsRequest) actualRequests.get(0));
1104 
1105     Assert.assertEquals(parent, actualRequest.getParent());
1106     Assert.assertEquals(filter, actualRequest.getFilter());
1107     Assert.assertTrue(
1108         channelProvider.isHeaderSent(
1109             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
1110             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
1111   }
1112 
1113   @Test
listJobsExceptionTest3()1114   public void listJobsExceptionTest3() throws Exception {
1115     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
1116     mockJobService.addException(exception);
1117 
1118     try {
1119       String parent = "parent-995424086";
1120       String filter = "filter-1274492040";
1121       client.listJobs(parent, filter);
1122       Assert.fail("No exception raised");
1123     } catch (InvalidArgumentException e) {
1124       // Expected exception.
1125     }
1126   }
1127 
1128   @Test
searchJobsTest()1129   public void searchJobsTest() throws Exception {
1130     SearchJobsResponse.MatchingJob responsesElement =
1131         SearchJobsResponse.MatchingJob.newBuilder().build();
1132     SearchJobsResponse expectedResponse =
1133         SearchJobsResponse.newBuilder()
1134             .setNextPageToken("")
1135             .addAllMatchingJobs(Arrays.asList(responsesElement))
1136             .build();
1137     mockJobService.addResponse(expectedResponse);
1138 
1139     SearchJobsRequest request =
1140         SearchJobsRequest.newBuilder()
1141             .setParent(TenantName.of("[PROJECT]", "[TENANT]").toString())
1142             .setRequestMetadata(RequestMetadata.newBuilder().build())
1143             .setJobQuery(JobQuery.newBuilder().build())
1144             .setEnableBroadening(true)
1145             .setRequirePreciseResultSize(true)
1146             .addAllHistogramQueries(new ArrayList<HistogramQuery>())
1147             .setJobView(JobView.forNumber(0))
1148             .setOffset(-1019779949)
1149             .setPageSize(883849137)
1150             .setPageToken("pageToken873572522")
1151             .setOrderBy("orderBy-1207110587")
1152             .setCustomRankingInfo(SearchJobsRequest.CustomRankingInfo.newBuilder().build())
1153             .setDisableKeywordMatch(true)
1154             .build();
1155 
1156     SearchJobsPagedResponse pagedListResponse = client.searchJobs(request);
1157 
1158     List<SearchJobsResponse.MatchingJob> resources =
1159         Lists.newArrayList(pagedListResponse.iterateAll());
1160 
1161     Assert.assertEquals(1, resources.size());
1162     Assert.assertEquals(expectedResponse.getMatchingJobsList().get(0), resources.get(0));
1163 
1164     List<AbstractMessage> actualRequests = mockJobService.getRequests();
1165     Assert.assertEquals(1, actualRequests.size());
1166     SearchJobsRequest actualRequest = ((SearchJobsRequest) actualRequests.get(0));
1167 
1168     Assert.assertEquals(request.getParent(), actualRequest.getParent());
1169     Assert.assertEquals(request.getSearchMode(), actualRequest.getSearchMode());
1170     Assert.assertEquals(request.getRequestMetadata(), actualRequest.getRequestMetadata());
1171     Assert.assertEquals(request.getJobQuery(), actualRequest.getJobQuery());
1172     Assert.assertEquals(request.getEnableBroadening(), actualRequest.getEnableBroadening());
1173     Assert.assertEquals(
1174         request.getRequirePreciseResultSize(), actualRequest.getRequirePreciseResultSize());
1175     Assert.assertEquals(request.getHistogramQueriesList(), actualRequest.getHistogramQueriesList());
1176     Assert.assertEquals(request.getJobView(), actualRequest.getJobView());
1177     Assert.assertEquals(request.getOffset(), actualRequest.getOffset());
1178     Assert.assertEquals(request.getPageSize(), actualRequest.getPageSize());
1179     Assert.assertEquals(request.getPageToken(), actualRequest.getPageToken());
1180     Assert.assertEquals(request.getOrderBy(), actualRequest.getOrderBy());
1181     Assert.assertEquals(request.getDiversificationLevel(), actualRequest.getDiversificationLevel());
1182     Assert.assertEquals(request.getCustomRankingInfo(), actualRequest.getCustomRankingInfo());
1183     Assert.assertEquals(request.getDisableKeywordMatch(), actualRequest.getDisableKeywordMatch());
1184     Assert.assertEquals(request.getKeywordMatchMode(), actualRequest.getKeywordMatchMode());
1185     Assert.assertTrue(
1186         channelProvider.isHeaderSent(
1187             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
1188             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
1189   }
1190 
1191   @Test
searchJobsExceptionTest()1192   public void searchJobsExceptionTest() throws Exception {
1193     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
1194     mockJobService.addException(exception);
1195 
1196     try {
1197       SearchJobsRequest request =
1198           SearchJobsRequest.newBuilder()
1199               .setParent(TenantName.of("[PROJECT]", "[TENANT]").toString())
1200               .setRequestMetadata(RequestMetadata.newBuilder().build())
1201               .setJobQuery(JobQuery.newBuilder().build())
1202               .setEnableBroadening(true)
1203               .setRequirePreciseResultSize(true)
1204               .addAllHistogramQueries(new ArrayList<HistogramQuery>())
1205               .setJobView(JobView.forNumber(0))
1206               .setOffset(-1019779949)
1207               .setPageSize(883849137)
1208               .setPageToken("pageToken873572522")
1209               .setOrderBy("orderBy-1207110587")
1210               .setCustomRankingInfo(SearchJobsRequest.CustomRankingInfo.newBuilder().build())
1211               .setDisableKeywordMatch(true)
1212               .build();
1213       client.searchJobs(request);
1214       Assert.fail("No exception raised");
1215     } catch (InvalidArgumentException e) {
1216       // Expected exception.
1217     }
1218   }
1219 
1220   @Test
searchJobsForAlertTest()1221   public void searchJobsForAlertTest() throws Exception {
1222     SearchJobsResponse.MatchingJob responsesElement =
1223         SearchJobsResponse.MatchingJob.newBuilder().build();
1224     SearchJobsResponse expectedResponse =
1225         SearchJobsResponse.newBuilder()
1226             .setNextPageToken("")
1227             .addAllMatchingJobs(Arrays.asList(responsesElement))
1228             .build();
1229     mockJobService.addResponse(expectedResponse);
1230 
1231     SearchJobsRequest request =
1232         SearchJobsRequest.newBuilder()
1233             .setParent(TenantName.of("[PROJECT]", "[TENANT]").toString())
1234             .setRequestMetadata(RequestMetadata.newBuilder().build())
1235             .setJobQuery(JobQuery.newBuilder().build())
1236             .setEnableBroadening(true)
1237             .setRequirePreciseResultSize(true)
1238             .addAllHistogramQueries(new ArrayList<HistogramQuery>())
1239             .setJobView(JobView.forNumber(0))
1240             .setOffset(-1019779949)
1241             .setPageSize(883849137)
1242             .setPageToken("pageToken873572522")
1243             .setOrderBy("orderBy-1207110587")
1244             .setCustomRankingInfo(SearchJobsRequest.CustomRankingInfo.newBuilder().build())
1245             .setDisableKeywordMatch(true)
1246             .build();
1247 
1248     SearchJobsForAlertPagedResponse pagedListResponse = client.searchJobsForAlert(request);
1249 
1250     List<SearchJobsResponse.MatchingJob> resources =
1251         Lists.newArrayList(pagedListResponse.iterateAll());
1252 
1253     Assert.assertEquals(1, resources.size());
1254     Assert.assertEquals(expectedResponse.getMatchingJobsList().get(0), resources.get(0));
1255 
1256     List<AbstractMessage> actualRequests = mockJobService.getRequests();
1257     Assert.assertEquals(1, actualRequests.size());
1258     SearchJobsRequest actualRequest = ((SearchJobsRequest) actualRequests.get(0));
1259 
1260     Assert.assertEquals(request.getParent(), actualRequest.getParent());
1261     Assert.assertEquals(request.getSearchMode(), actualRequest.getSearchMode());
1262     Assert.assertEquals(request.getRequestMetadata(), actualRequest.getRequestMetadata());
1263     Assert.assertEquals(request.getJobQuery(), actualRequest.getJobQuery());
1264     Assert.assertEquals(request.getEnableBroadening(), actualRequest.getEnableBroadening());
1265     Assert.assertEquals(
1266         request.getRequirePreciseResultSize(), actualRequest.getRequirePreciseResultSize());
1267     Assert.assertEquals(request.getHistogramQueriesList(), actualRequest.getHistogramQueriesList());
1268     Assert.assertEquals(request.getJobView(), actualRequest.getJobView());
1269     Assert.assertEquals(request.getOffset(), actualRequest.getOffset());
1270     Assert.assertEquals(request.getPageSize(), actualRequest.getPageSize());
1271     Assert.assertEquals(request.getPageToken(), actualRequest.getPageToken());
1272     Assert.assertEquals(request.getOrderBy(), actualRequest.getOrderBy());
1273     Assert.assertEquals(request.getDiversificationLevel(), actualRequest.getDiversificationLevel());
1274     Assert.assertEquals(request.getCustomRankingInfo(), actualRequest.getCustomRankingInfo());
1275     Assert.assertEquals(request.getDisableKeywordMatch(), actualRequest.getDisableKeywordMatch());
1276     Assert.assertEquals(request.getKeywordMatchMode(), actualRequest.getKeywordMatchMode());
1277     Assert.assertTrue(
1278         channelProvider.isHeaderSent(
1279             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
1280             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
1281   }
1282 
1283   @Test
searchJobsForAlertExceptionTest()1284   public void searchJobsForAlertExceptionTest() throws Exception {
1285     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
1286     mockJobService.addException(exception);
1287 
1288     try {
1289       SearchJobsRequest request =
1290           SearchJobsRequest.newBuilder()
1291               .setParent(TenantName.of("[PROJECT]", "[TENANT]").toString())
1292               .setRequestMetadata(RequestMetadata.newBuilder().build())
1293               .setJobQuery(JobQuery.newBuilder().build())
1294               .setEnableBroadening(true)
1295               .setRequirePreciseResultSize(true)
1296               .addAllHistogramQueries(new ArrayList<HistogramQuery>())
1297               .setJobView(JobView.forNumber(0))
1298               .setOffset(-1019779949)
1299               .setPageSize(883849137)
1300               .setPageToken("pageToken873572522")
1301               .setOrderBy("orderBy-1207110587")
1302               .setCustomRankingInfo(SearchJobsRequest.CustomRankingInfo.newBuilder().build())
1303               .setDisableKeywordMatch(true)
1304               .build();
1305       client.searchJobsForAlert(request);
1306       Assert.fail("No exception raised");
1307     } catch (InvalidArgumentException e) {
1308       // Expected exception.
1309     }
1310   }
1311 }
1312