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