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.scheduler.v1; 18 19 import static com.google.cloud.scheduler.v1.CloudSchedulerClient.ListJobsPagedResponse; 20 import static com.google.cloud.scheduler.v1.CloudSchedulerClient.ListLocationsPagedResponse; 21 22 import com.google.api.gax.core.NoCredentialsProvider; 23 import com.google.api.gax.grpc.GaxGrpcProperties; 24 import com.google.api.gax.grpc.testing.LocalChannelProvider; 25 import com.google.api.gax.grpc.testing.MockGrpcService; 26 import com.google.api.gax.grpc.testing.MockServiceHelper; 27 import com.google.api.gax.rpc.ApiClientHeaderProvider; 28 import com.google.api.gax.rpc.InvalidArgumentException; 29 import com.google.cloud.location.GetLocationRequest; 30 import com.google.cloud.location.ListLocationsRequest; 31 import com.google.cloud.location.ListLocationsResponse; 32 import com.google.cloud.location.Location; 33 import com.google.common.collect.Lists; 34 import com.google.protobuf.AbstractMessage; 35 import com.google.protobuf.Any; 36 import com.google.protobuf.Duration; 37 import com.google.protobuf.Empty; 38 import com.google.protobuf.FieldMask; 39 import com.google.protobuf.Timestamp; 40 import com.google.rpc.Status; 41 import io.grpc.StatusRuntimeException; 42 import java.io.IOException; 43 import java.util.Arrays; 44 import java.util.HashMap; 45 import java.util.List; 46 import java.util.UUID; 47 import javax.annotation.Generated; 48 import org.junit.After; 49 import org.junit.AfterClass; 50 import org.junit.Assert; 51 import org.junit.Before; 52 import org.junit.BeforeClass; 53 import org.junit.Test; 54 55 @Generated("by gapic-generator-java") 56 public class CloudSchedulerClientTest { 57 private static MockCloudScheduler mockCloudScheduler; 58 private static MockLocations mockLocations; 59 private static MockServiceHelper mockServiceHelper; 60 private LocalChannelProvider channelProvider; 61 private CloudSchedulerClient client; 62 63 @BeforeClass startStaticServer()64 public static void startStaticServer() { 65 mockCloudScheduler = new MockCloudScheduler(); 66 mockLocations = new MockLocations(); 67 mockServiceHelper = 68 new MockServiceHelper( 69 UUID.randomUUID().toString(), 70 Arrays.<MockGrpcService>asList(mockCloudScheduler, mockLocations)); 71 mockServiceHelper.start(); 72 } 73 74 @AfterClass stopServer()75 public static void stopServer() { 76 mockServiceHelper.stop(); 77 } 78 79 @Before setUp()80 public void setUp() throws IOException { 81 mockServiceHelper.reset(); 82 channelProvider = mockServiceHelper.createChannelProvider(); 83 CloudSchedulerSettings settings = 84 CloudSchedulerSettings.newBuilder() 85 .setTransportChannelProvider(channelProvider) 86 .setCredentialsProvider(NoCredentialsProvider.create()) 87 .build(); 88 client = CloudSchedulerClient.create(settings); 89 } 90 91 @After tearDown()92 public void tearDown() throws Exception { 93 client.close(); 94 } 95 96 @Test listJobsTest()97 public void listJobsTest() throws Exception { 98 Job responsesElement = Job.newBuilder().build(); 99 ListJobsResponse expectedResponse = 100 ListJobsResponse.newBuilder() 101 .setNextPageToken("") 102 .addAllJobs(Arrays.asList(responsesElement)) 103 .build(); 104 mockCloudScheduler.addResponse(expectedResponse); 105 106 LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); 107 108 ListJobsPagedResponse pagedListResponse = client.listJobs(parent); 109 110 List<Job> resources = Lists.newArrayList(pagedListResponse.iterateAll()); 111 112 Assert.assertEquals(1, resources.size()); 113 Assert.assertEquals(expectedResponse.getJobsList().get(0), resources.get(0)); 114 115 List<AbstractMessage> actualRequests = mockCloudScheduler.getRequests(); 116 Assert.assertEquals(1, actualRequests.size()); 117 ListJobsRequest actualRequest = ((ListJobsRequest) actualRequests.get(0)); 118 119 Assert.assertEquals(parent.toString(), actualRequest.getParent()); 120 Assert.assertTrue( 121 channelProvider.isHeaderSent( 122 ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), 123 GaxGrpcProperties.getDefaultApiClientHeaderPattern())); 124 } 125 126 @Test listJobsExceptionTest()127 public void listJobsExceptionTest() throws Exception { 128 StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); 129 mockCloudScheduler.addException(exception); 130 131 try { 132 LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); 133 client.listJobs(parent); 134 Assert.fail("No exception raised"); 135 } catch (InvalidArgumentException e) { 136 // Expected exception. 137 } 138 } 139 140 @Test listJobsTest2()141 public void listJobsTest2() throws Exception { 142 Job responsesElement = Job.newBuilder().build(); 143 ListJobsResponse expectedResponse = 144 ListJobsResponse.newBuilder() 145 .setNextPageToken("") 146 .addAllJobs(Arrays.asList(responsesElement)) 147 .build(); 148 mockCloudScheduler.addResponse(expectedResponse); 149 150 String parent = "parent-995424086"; 151 152 ListJobsPagedResponse pagedListResponse = client.listJobs(parent); 153 154 List<Job> resources = Lists.newArrayList(pagedListResponse.iterateAll()); 155 156 Assert.assertEquals(1, resources.size()); 157 Assert.assertEquals(expectedResponse.getJobsList().get(0), resources.get(0)); 158 159 List<AbstractMessage> actualRequests = mockCloudScheduler.getRequests(); 160 Assert.assertEquals(1, actualRequests.size()); 161 ListJobsRequest actualRequest = ((ListJobsRequest) actualRequests.get(0)); 162 163 Assert.assertEquals(parent, actualRequest.getParent()); 164 Assert.assertTrue( 165 channelProvider.isHeaderSent( 166 ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), 167 GaxGrpcProperties.getDefaultApiClientHeaderPattern())); 168 } 169 170 @Test listJobsExceptionTest2()171 public void listJobsExceptionTest2() throws Exception { 172 StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); 173 mockCloudScheduler.addException(exception); 174 175 try { 176 String parent = "parent-995424086"; 177 client.listJobs(parent); 178 Assert.fail("No exception raised"); 179 } catch (InvalidArgumentException e) { 180 // Expected exception. 181 } 182 } 183 184 @Test getJobTest()185 public void getJobTest() throws Exception { 186 Job expectedResponse = 187 Job.newBuilder() 188 .setName(JobName.of("[PROJECT]", "[LOCATION]", "[JOB]").toString()) 189 .setDescription("description-1724546052") 190 .setSchedule("schedule-697920873") 191 .setTimeZone("timeZone-2077180903") 192 .setUserUpdateTime(Timestamp.newBuilder().build()) 193 .setStatus(Status.newBuilder().build()) 194 .setScheduleTime(Timestamp.newBuilder().build()) 195 .setLastAttemptTime(Timestamp.newBuilder().build()) 196 .setRetryConfig(RetryConfig.newBuilder().build()) 197 .setAttemptDeadline(Duration.newBuilder().build()) 198 .build(); 199 mockCloudScheduler.addResponse(expectedResponse); 200 201 JobName name = JobName.of("[PROJECT]", "[LOCATION]", "[JOB]"); 202 203 Job actualResponse = client.getJob(name); 204 Assert.assertEquals(expectedResponse, actualResponse); 205 206 List<AbstractMessage> actualRequests = mockCloudScheduler.getRequests(); 207 Assert.assertEquals(1, actualRequests.size()); 208 GetJobRequest actualRequest = ((GetJobRequest) actualRequests.get(0)); 209 210 Assert.assertEquals(name.toString(), actualRequest.getName()); 211 Assert.assertTrue( 212 channelProvider.isHeaderSent( 213 ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), 214 GaxGrpcProperties.getDefaultApiClientHeaderPattern())); 215 } 216 217 @Test getJobExceptionTest()218 public void getJobExceptionTest() throws Exception { 219 StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); 220 mockCloudScheduler.addException(exception); 221 222 try { 223 JobName name = JobName.of("[PROJECT]", "[LOCATION]", "[JOB]"); 224 client.getJob(name); 225 Assert.fail("No exception raised"); 226 } catch (InvalidArgumentException e) { 227 // Expected exception. 228 } 229 } 230 231 @Test getJobTest2()232 public void getJobTest2() throws Exception { 233 Job expectedResponse = 234 Job.newBuilder() 235 .setName(JobName.of("[PROJECT]", "[LOCATION]", "[JOB]").toString()) 236 .setDescription("description-1724546052") 237 .setSchedule("schedule-697920873") 238 .setTimeZone("timeZone-2077180903") 239 .setUserUpdateTime(Timestamp.newBuilder().build()) 240 .setStatus(Status.newBuilder().build()) 241 .setScheduleTime(Timestamp.newBuilder().build()) 242 .setLastAttemptTime(Timestamp.newBuilder().build()) 243 .setRetryConfig(RetryConfig.newBuilder().build()) 244 .setAttemptDeadline(Duration.newBuilder().build()) 245 .build(); 246 mockCloudScheduler.addResponse(expectedResponse); 247 248 String name = "name3373707"; 249 250 Job actualResponse = client.getJob(name); 251 Assert.assertEquals(expectedResponse, actualResponse); 252 253 List<AbstractMessage> actualRequests = mockCloudScheduler.getRequests(); 254 Assert.assertEquals(1, actualRequests.size()); 255 GetJobRequest actualRequest = ((GetJobRequest) actualRequests.get(0)); 256 257 Assert.assertEquals(name, actualRequest.getName()); 258 Assert.assertTrue( 259 channelProvider.isHeaderSent( 260 ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), 261 GaxGrpcProperties.getDefaultApiClientHeaderPattern())); 262 } 263 264 @Test getJobExceptionTest2()265 public void getJobExceptionTest2() throws Exception { 266 StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); 267 mockCloudScheduler.addException(exception); 268 269 try { 270 String name = "name3373707"; 271 client.getJob(name); 272 Assert.fail("No exception raised"); 273 } catch (InvalidArgumentException e) { 274 // Expected exception. 275 } 276 } 277 278 @Test createJobTest()279 public void createJobTest() throws Exception { 280 Job expectedResponse = 281 Job.newBuilder() 282 .setName(JobName.of("[PROJECT]", "[LOCATION]", "[JOB]").toString()) 283 .setDescription("description-1724546052") 284 .setSchedule("schedule-697920873") 285 .setTimeZone("timeZone-2077180903") 286 .setUserUpdateTime(Timestamp.newBuilder().build()) 287 .setStatus(Status.newBuilder().build()) 288 .setScheduleTime(Timestamp.newBuilder().build()) 289 .setLastAttemptTime(Timestamp.newBuilder().build()) 290 .setRetryConfig(RetryConfig.newBuilder().build()) 291 .setAttemptDeadline(Duration.newBuilder().build()) 292 .build(); 293 mockCloudScheduler.addResponse(expectedResponse); 294 295 LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); 296 Job job = Job.newBuilder().build(); 297 298 Job actualResponse = client.createJob(parent, job); 299 Assert.assertEquals(expectedResponse, actualResponse); 300 301 List<AbstractMessage> actualRequests = mockCloudScheduler.getRequests(); 302 Assert.assertEquals(1, actualRequests.size()); 303 CreateJobRequest actualRequest = ((CreateJobRequest) actualRequests.get(0)); 304 305 Assert.assertEquals(parent.toString(), actualRequest.getParent()); 306 Assert.assertEquals(job, actualRequest.getJob()); 307 Assert.assertTrue( 308 channelProvider.isHeaderSent( 309 ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), 310 GaxGrpcProperties.getDefaultApiClientHeaderPattern())); 311 } 312 313 @Test createJobExceptionTest()314 public void createJobExceptionTest() throws Exception { 315 StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); 316 mockCloudScheduler.addException(exception); 317 318 try { 319 LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); 320 Job job = Job.newBuilder().build(); 321 client.createJob(parent, job); 322 Assert.fail("No exception raised"); 323 } catch (InvalidArgumentException e) { 324 // Expected exception. 325 } 326 } 327 328 @Test createJobTest2()329 public void createJobTest2() throws Exception { 330 Job expectedResponse = 331 Job.newBuilder() 332 .setName(JobName.of("[PROJECT]", "[LOCATION]", "[JOB]").toString()) 333 .setDescription("description-1724546052") 334 .setSchedule("schedule-697920873") 335 .setTimeZone("timeZone-2077180903") 336 .setUserUpdateTime(Timestamp.newBuilder().build()) 337 .setStatus(Status.newBuilder().build()) 338 .setScheduleTime(Timestamp.newBuilder().build()) 339 .setLastAttemptTime(Timestamp.newBuilder().build()) 340 .setRetryConfig(RetryConfig.newBuilder().build()) 341 .setAttemptDeadline(Duration.newBuilder().build()) 342 .build(); 343 mockCloudScheduler.addResponse(expectedResponse); 344 345 String parent = "parent-995424086"; 346 Job job = Job.newBuilder().build(); 347 348 Job actualResponse = client.createJob(parent, job); 349 Assert.assertEquals(expectedResponse, actualResponse); 350 351 List<AbstractMessage> actualRequests = mockCloudScheduler.getRequests(); 352 Assert.assertEquals(1, actualRequests.size()); 353 CreateJobRequest actualRequest = ((CreateJobRequest) actualRequests.get(0)); 354 355 Assert.assertEquals(parent, actualRequest.getParent()); 356 Assert.assertEquals(job, actualRequest.getJob()); 357 Assert.assertTrue( 358 channelProvider.isHeaderSent( 359 ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), 360 GaxGrpcProperties.getDefaultApiClientHeaderPattern())); 361 } 362 363 @Test createJobExceptionTest2()364 public void createJobExceptionTest2() throws Exception { 365 StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); 366 mockCloudScheduler.addException(exception); 367 368 try { 369 String parent = "parent-995424086"; 370 Job job = Job.newBuilder().build(); 371 client.createJob(parent, job); 372 Assert.fail("No exception raised"); 373 } catch (InvalidArgumentException e) { 374 // Expected exception. 375 } 376 } 377 378 @Test updateJobTest()379 public void updateJobTest() throws Exception { 380 Job expectedResponse = 381 Job.newBuilder() 382 .setName(JobName.of("[PROJECT]", "[LOCATION]", "[JOB]").toString()) 383 .setDescription("description-1724546052") 384 .setSchedule("schedule-697920873") 385 .setTimeZone("timeZone-2077180903") 386 .setUserUpdateTime(Timestamp.newBuilder().build()) 387 .setStatus(Status.newBuilder().build()) 388 .setScheduleTime(Timestamp.newBuilder().build()) 389 .setLastAttemptTime(Timestamp.newBuilder().build()) 390 .setRetryConfig(RetryConfig.newBuilder().build()) 391 .setAttemptDeadline(Duration.newBuilder().build()) 392 .build(); 393 mockCloudScheduler.addResponse(expectedResponse); 394 395 Job job = Job.newBuilder().build(); 396 FieldMask updateMask = FieldMask.newBuilder().build(); 397 398 Job actualResponse = client.updateJob(job, updateMask); 399 Assert.assertEquals(expectedResponse, actualResponse); 400 401 List<AbstractMessage> actualRequests = mockCloudScheduler.getRequests(); 402 Assert.assertEquals(1, actualRequests.size()); 403 UpdateJobRequest actualRequest = ((UpdateJobRequest) actualRequests.get(0)); 404 405 Assert.assertEquals(job, actualRequest.getJob()); 406 Assert.assertEquals(updateMask, actualRequest.getUpdateMask()); 407 Assert.assertTrue( 408 channelProvider.isHeaderSent( 409 ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), 410 GaxGrpcProperties.getDefaultApiClientHeaderPattern())); 411 } 412 413 @Test updateJobExceptionTest()414 public void updateJobExceptionTest() throws Exception { 415 StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); 416 mockCloudScheduler.addException(exception); 417 418 try { 419 Job job = Job.newBuilder().build(); 420 FieldMask updateMask = FieldMask.newBuilder().build(); 421 client.updateJob(job, updateMask); 422 Assert.fail("No exception raised"); 423 } catch (InvalidArgumentException e) { 424 // Expected exception. 425 } 426 } 427 428 @Test deleteJobTest()429 public void deleteJobTest() throws Exception { 430 Empty expectedResponse = Empty.newBuilder().build(); 431 mockCloudScheduler.addResponse(expectedResponse); 432 433 JobName name = JobName.of("[PROJECT]", "[LOCATION]", "[JOB]"); 434 435 client.deleteJob(name); 436 437 List<AbstractMessage> actualRequests = mockCloudScheduler.getRequests(); 438 Assert.assertEquals(1, actualRequests.size()); 439 DeleteJobRequest actualRequest = ((DeleteJobRequest) actualRequests.get(0)); 440 441 Assert.assertEquals(name.toString(), actualRequest.getName()); 442 Assert.assertTrue( 443 channelProvider.isHeaderSent( 444 ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), 445 GaxGrpcProperties.getDefaultApiClientHeaderPattern())); 446 } 447 448 @Test deleteJobExceptionTest()449 public void deleteJobExceptionTest() throws Exception { 450 StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); 451 mockCloudScheduler.addException(exception); 452 453 try { 454 JobName name = JobName.of("[PROJECT]", "[LOCATION]", "[JOB]"); 455 client.deleteJob(name); 456 Assert.fail("No exception raised"); 457 } catch (InvalidArgumentException e) { 458 // Expected exception. 459 } 460 } 461 462 @Test deleteJobTest2()463 public void deleteJobTest2() throws Exception { 464 Empty expectedResponse = Empty.newBuilder().build(); 465 mockCloudScheduler.addResponse(expectedResponse); 466 467 String name = "name3373707"; 468 469 client.deleteJob(name); 470 471 List<AbstractMessage> actualRequests = mockCloudScheduler.getRequests(); 472 Assert.assertEquals(1, actualRequests.size()); 473 DeleteJobRequest actualRequest = ((DeleteJobRequest) actualRequests.get(0)); 474 475 Assert.assertEquals(name, actualRequest.getName()); 476 Assert.assertTrue( 477 channelProvider.isHeaderSent( 478 ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), 479 GaxGrpcProperties.getDefaultApiClientHeaderPattern())); 480 } 481 482 @Test deleteJobExceptionTest2()483 public void deleteJobExceptionTest2() throws Exception { 484 StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); 485 mockCloudScheduler.addException(exception); 486 487 try { 488 String name = "name3373707"; 489 client.deleteJob(name); 490 Assert.fail("No exception raised"); 491 } catch (InvalidArgumentException e) { 492 // Expected exception. 493 } 494 } 495 496 @Test pauseJobTest()497 public void pauseJobTest() throws Exception { 498 Job expectedResponse = 499 Job.newBuilder() 500 .setName(JobName.of("[PROJECT]", "[LOCATION]", "[JOB]").toString()) 501 .setDescription("description-1724546052") 502 .setSchedule("schedule-697920873") 503 .setTimeZone("timeZone-2077180903") 504 .setUserUpdateTime(Timestamp.newBuilder().build()) 505 .setStatus(Status.newBuilder().build()) 506 .setScheduleTime(Timestamp.newBuilder().build()) 507 .setLastAttemptTime(Timestamp.newBuilder().build()) 508 .setRetryConfig(RetryConfig.newBuilder().build()) 509 .setAttemptDeadline(Duration.newBuilder().build()) 510 .build(); 511 mockCloudScheduler.addResponse(expectedResponse); 512 513 JobName name = JobName.of("[PROJECT]", "[LOCATION]", "[JOB]"); 514 515 Job actualResponse = client.pauseJob(name); 516 Assert.assertEquals(expectedResponse, actualResponse); 517 518 List<AbstractMessage> actualRequests = mockCloudScheduler.getRequests(); 519 Assert.assertEquals(1, actualRequests.size()); 520 PauseJobRequest actualRequest = ((PauseJobRequest) actualRequests.get(0)); 521 522 Assert.assertEquals(name.toString(), actualRequest.getName()); 523 Assert.assertTrue( 524 channelProvider.isHeaderSent( 525 ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), 526 GaxGrpcProperties.getDefaultApiClientHeaderPattern())); 527 } 528 529 @Test pauseJobExceptionTest()530 public void pauseJobExceptionTest() throws Exception { 531 StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); 532 mockCloudScheduler.addException(exception); 533 534 try { 535 JobName name = JobName.of("[PROJECT]", "[LOCATION]", "[JOB]"); 536 client.pauseJob(name); 537 Assert.fail("No exception raised"); 538 } catch (InvalidArgumentException e) { 539 // Expected exception. 540 } 541 } 542 543 @Test pauseJobTest2()544 public void pauseJobTest2() throws Exception { 545 Job expectedResponse = 546 Job.newBuilder() 547 .setName(JobName.of("[PROJECT]", "[LOCATION]", "[JOB]").toString()) 548 .setDescription("description-1724546052") 549 .setSchedule("schedule-697920873") 550 .setTimeZone("timeZone-2077180903") 551 .setUserUpdateTime(Timestamp.newBuilder().build()) 552 .setStatus(Status.newBuilder().build()) 553 .setScheduleTime(Timestamp.newBuilder().build()) 554 .setLastAttemptTime(Timestamp.newBuilder().build()) 555 .setRetryConfig(RetryConfig.newBuilder().build()) 556 .setAttemptDeadline(Duration.newBuilder().build()) 557 .build(); 558 mockCloudScheduler.addResponse(expectedResponse); 559 560 String name = "name3373707"; 561 562 Job actualResponse = client.pauseJob(name); 563 Assert.assertEquals(expectedResponse, actualResponse); 564 565 List<AbstractMessage> actualRequests = mockCloudScheduler.getRequests(); 566 Assert.assertEquals(1, actualRequests.size()); 567 PauseJobRequest actualRequest = ((PauseJobRequest) actualRequests.get(0)); 568 569 Assert.assertEquals(name, actualRequest.getName()); 570 Assert.assertTrue( 571 channelProvider.isHeaderSent( 572 ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), 573 GaxGrpcProperties.getDefaultApiClientHeaderPattern())); 574 } 575 576 @Test pauseJobExceptionTest2()577 public void pauseJobExceptionTest2() throws Exception { 578 StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); 579 mockCloudScheduler.addException(exception); 580 581 try { 582 String name = "name3373707"; 583 client.pauseJob(name); 584 Assert.fail("No exception raised"); 585 } catch (InvalidArgumentException e) { 586 // Expected exception. 587 } 588 } 589 590 @Test resumeJobTest()591 public void resumeJobTest() throws Exception { 592 Job expectedResponse = 593 Job.newBuilder() 594 .setName(JobName.of("[PROJECT]", "[LOCATION]", "[JOB]").toString()) 595 .setDescription("description-1724546052") 596 .setSchedule("schedule-697920873") 597 .setTimeZone("timeZone-2077180903") 598 .setUserUpdateTime(Timestamp.newBuilder().build()) 599 .setStatus(Status.newBuilder().build()) 600 .setScheduleTime(Timestamp.newBuilder().build()) 601 .setLastAttemptTime(Timestamp.newBuilder().build()) 602 .setRetryConfig(RetryConfig.newBuilder().build()) 603 .setAttemptDeadline(Duration.newBuilder().build()) 604 .build(); 605 mockCloudScheduler.addResponse(expectedResponse); 606 607 JobName name = JobName.of("[PROJECT]", "[LOCATION]", "[JOB]"); 608 609 Job actualResponse = client.resumeJob(name); 610 Assert.assertEquals(expectedResponse, actualResponse); 611 612 List<AbstractMessage> actualRequests = mockCloudScheduler.getRequests(); 613 Assert.assertEquals(1, actualRequests.size()); 614 ResumeJobRequest actualRequest = ((ResumeJobRequest) actualRequests.get(0)); 615 616 Assert.assertEquals(name.toString(), actualRequest.getName()); 617 Assert.assertTrue( 618 channelProvider.isHeaderSent( 619 ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), 620 GaxGrpcProperties.getDefaultApiClientHeaderPattern())); 621 } 622 623 @Test resumeJobExceptionTest()624 public void resumeJobExceptionTest() throws Exception { 625 StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); 626 mockCloudScheduler.addException(exception); 627 628 try { 629 JobName name = JobName.of("[PROJECT]", "[LOCATION]", "[JOB]"); 630 client.resumeJob(name); 631 Assert.fail("No exception raised"); 632 } catch (InvalidArgumentException e) { 633 // Expected exception. 634 } 635 } 636 637 @Test resumeJobTest2()638 public void resumeJobTest2() throws Exception { 639 Job expectedResponse = 640 Job.newBuilder() 641 .setName(JobName.of("[PROJECT]", "[LOCATION]", "[JOB]").toString()) 642 .setDescription("description-1724546052") 643 .setSchedule("schedule-697920873") 644 .setTimeZone("timeZone-2077180903") 645 .setUserUpdateTime(Timestamp.newBuilder().build()) 646 .setStatus(Status.newBuilder().build()) 647 .setScheduleTime(Timestamp.newBuilder().build()) 648 .setLastAttemptTime(Timestamp.newBuilder().build()) 649 .setRetryConfig(RetryConfig.newBuilder().build()) 650 .setAttemptDeadline(Duration.newBuilder().build()) 651 .build(); 652 mockCloudScheduler.addResponse(expectedResponse); 653 654 String name = "name3373707"; 655 656 Job actualResponse = client.resumeJob(name); 657 Assert.assertEquals(expectedResponse, actualResponse); 658 659 List<AbstractMessage> actualRequests = mockCloudScheduler.getRequests(); 660 Assert.assertEquals(1, actualRequests.size()); 661 ResumeJobRequest actualRequest = ((ResumeJobRequest) actualRequests.get(0)); 662 663 Assert.assertEquals(name, actualRequest.getName()); 664 Assert.assertTrue( 665 channelProvider.isHeaderSent( 666 ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), 667 GaxGrpcProperties.getDefaultApiClientHeaderPattern())); 668 } 669 670 @Test resumeJobExceptionTest2()671 public void resumeJobExceptionTest2() throws Exception { 672 StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); 673 mockCloudScheduler.addException(exception); 674 675 try { 676 String name = "name3373707"; 677 client.resumeJob(name); 678 Assert.fail("No exception raised"); 679 } catch (InvalidArgumentException e) { 680 // Expected exception. 681 } 682 } 683 684 @Test runJobTest()685 public void runJobTest() throws Exception { 686 Job expectedResponse = 687 Job.newBuilder() 688 .setName(JobName.of("[PROJECT]", "[LOCATION]", "[JOB]").toString()) 689 .setDescription("description-1724546052") 690 .setSchedule("schedule-697920873") 691 .setTimeZone("timeZone-2077180903") 692 .setUserUpdateTime(Timestamp.newBuilder().build()) 693 .setStatus(Status.newBuilder().build()) 694 .setScheduleTime(Timestamp.newBuilder().build()) 695 .setLastAttemptTime(Timestamp.newBuilder().build()) 696 .setRetryConfig(RetryConfig.newBuilder().build()) 697 .setAttemptDeadline(Duration.newBuilder().build()) 698 .build(); 699 mockCloudScheduler.addResponse(expectedResponse); 700 701 JobName name = JobName.of("[PROJECT]", "[LOCATION]", "[JOB]"); 702 703 Job actualResponse = client.runJob(name); 704 Assert.assertEquals(expectedResponse, actualResponse); 705 706 List<AbstractMessage> actualRequests = mockCloudScheduler.getRequests(); 707 Assert.assertEquals(1, actualRequests.size()); 708 RunJobRequest actualRequest = ((RunJobRequest) actualRequests.get(0)); 709 710 Assert.assertEquals(name.toString(), actualRequest.getName()); 711 Assert.assertTrue( 712 channelProvider.isHeaderSent( 713 ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), 714 GaxGrpcProperties.getDefaultApiClientHeaderPattern())); 715 } 716 717 @Test runJobExceptionTest()718 public void runJobExceptionTest() throws Exception { 719 StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); 720 mockCloudScheduler.addException(exception); 721 722 try { 723 JobName name = JobName.of("[PROJECT]", "[LOCATION]", "[JOB]"); 724 client.runJob(name); 725 Assert.fail("No exception raised"); 726 } catch (InvalidArgumentException e) { 727 // Expected exception. 728 } 729 } 730 731 @Test runJobTest2()732 public void runJobTest2() throws Exception { 733 Job expectedResponse = 734 Job.newBuilder() 735 .setName(JobName.of("[PROJECT]", "[LOCATION]", "[JOB]").toString()) 736 .setDescription("description-1724546052") 737 .setSchedule("schedule-697920873") 738 .setTimeZone("timeZone-2077180903") 739 .setUserUpdateTime(Timestamp.newBuilder().build()) 740 .setStatus(Status.newBuilder().build()) 741 .setScheduleTime(Timestamp.newBuilder().build()) 742 .setLastAttemptTime(Timestamp.newBuilder().build()) 743 .setRetryConfig(RetryConfig.newBuilder().build()) 744 .setAttemptDeadline(Duration.newBuilder().build()) 745 .build(); 746 mockCloudScheduler.addResponse(expectedResponse); 747 748 String name = "name3373707"; 749 750 Job actualResponse = client.runJob(name); 751 Assert.assertEquals(expectedResponse, actualResponse); 752 753 List<AbstractMessage> actualRequests = mockCloudScheduler.getRequests(); 754 Assert.assertEquals(1, actualRequests.size()); 755 RunJobRequest actualRequest = ((RunJobRequest) actualRequests.get(0)); 756 757 Assert.assertEquals(name, actualRequest.getName()); 758 Assert.assertTrue( 759 channelProvider.isHeaderSent( 760 ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), 761 GaxGrpcProperties.getDefaultApiClientHeaderPattern())); 762 } 763 764 @Test runJobExceptionTest2()765 public void runJobExceptionTest2() throws Exception { 766 StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); 767 mockCloudScheduler.addException(exception); 768 769 try { 770 String name = "name3373707"; 771 client.runJob(name); 772 Assert.fail("No exception raised"); 773 } catch (InvalidArgumentException e) { 774 // Expected exception. 775 } 776 } 777 778 @Test listLocationsTest()779 public void listLocationsTest() throws Exception { 780 Location responsesElement = Location.newBuilder().build(); 781 ListLocationsResponse expectedResponse = 782 ListLocationsResponse.newBuilder() 783 .setNextPageToken("") 784 .addAllLocations(Arrays.asList(responsesElement)) 785 .build(); 786 mockLocations.addResponse(expectedResponse); 787 788 ListLocationsRequest request = 789 ListLocationsRequest.newBuilder() 790 .setName("name3373707") 791 .setFilter("filter-1274492040") 792 .setPageSize(883849137) 793 .setPageToken("pageToken873572522") 794 .build(); 795 796 ListLocationsPagedResponse pagedListResponse = client.listLocations(request); 797 798 List<Location> resources = Lists.newArrayList(pagedListResponse.iterateAll()); 799 800 Assert.assertEquals(1, resources.size()); 801 Assert.assertEquals(expectedResponse.getLocationsList().get(0), resources.get(0)); 802 803 List<AbstractMessage> actualRequests = mockLocations.getRequests(); 804 Assert.assertEquals(1, actualRequests.size()); 805 ListLocationsRequest actualRequest = ((ListLocationsRequest) actualRequests.get(0)); 806 807 Assert.assertEquals(request.getName(), actualRequest.getName()); 808 Assert.assertEquals(request.getFilter(), actualRequest.getFilter()); 809 Assert.assertEquals(request.getPageSize(), actualRequest.getPageSize()); 810 Assert.assertEquals(request.getPageToken(), actualRequest.getPageToken()); 811 Assert.assertTrue( 812 channelProvider.isHeaderSent( 813 ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), 814 GaxGrpcProperties.getDefaultApiClientHeaderPattern())); 815 } 816 817 @Test listLocationsExceptionTest()818 public void listLocationsExceptionTest() throws Exception { 819 StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); 820 mockLocations.addException(exception); 821 822 try { 823 ListLocationsRequest request = 824 ListLocationsRequest.newBuilder() 825 .setName("name3373707") 826 .setFilter("filter-1274492040") 827 .setPageSize(883849137) 828 .setPageToken("pageToken873572522") 829 .build(); 830 client.listLocations(request); 831 Assert.fail("No exception raised"); 832 } catch (InvalidArgumentException e) { 833 // Expected exception. 834 } 835 } 836 837 @Test getLocationTest()838 public void getLocationTest() throws Exception { 839 Location expectedResponse = 840 Location.newBuilder() 841 .setName("name3373707") 842 .setLocationId("locationId1541836720") 843 .setDisplayName("displayName1714148973") 844 .putAllLabels(new HashMap<String, String>()) 845 .setMetadata(Any.newBuilder().build()) 846 .build(); 847 mockLocations.addResponse(expectedResponse); 848 849 GetLocationRequest request = GetLocationRequest.newBuilder().setName("name3373707").build(); 850 851 Location actualResponse = client.getLocation(request); 852 Assert.assertEquals(expectedResponse, actualResponse); 853 854 List<AbstractMessage> actualRequests = mockLocations.getRequests(); 855 Assert.assertEquals(1, actualRequests.size()); 856 GetLocationRequest actualRequest = ((GetLocationRequest) actualRequests.get(0)); 857 858 Assert.assertEquals(request.getName(), actualRequest.getName()); 859 Assert.assertTrue( 860 channelProvider.isHeaderSent( 861 ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), 862 GaxGrpcProperties.getDefaultApiClientHeaderPattern())); 863 } 864 865 @Test getLocationExceptionTest()866 public void getLocationExceptionTest() throws Exception { 867 StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); 868 mockLocations.addException(exception); 869 870 try { 871 GetLocationRequest request = GetLocationRequest.newBuilder().setName("name3373707").build(); 872 client.getLocation(request); 873 Assert.fail("No exception raised"); 874 } catch (InvalidArgumentException e) { 875 // Expected exception. 876 } 877 } 878 } 879