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.dialogflow.v2; 18 19 import static com.google.cloud.dialogflow.v2.KnowledgeBasesClient.ListKnowledgeBasesPagedResponse; 20 import static com.google.cloud.dialogflow.v2.KnowledgeBasesClient.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.Empty; 37 import com.google.protobuf.FieldMask; 38 import io.grpc.StatusRuntimeException; 39 import java.io.IOException; 40 import java.util.Arrays; 41 import java.util.HashMap; 42 import java.util.List; 43 import java.util.UUID; 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 KnowledgeBasesClientTest { 54 private static MockKnowledgeBases mockKnowledgeBases; 55 private static MockLocations mockLocations; 56 private static MockServiceHelper mockServiceHelper; 57 private LocalChannelProvider channelProvider; 58 private KnowledgeBasesClient client; 59 60 @BeforeClass startStaticServer()61 public static void startStaticServer() { 62 mockKnowledgeBases = new MockKnowledgeBases(); 63 mockLocations = new MockLocations(); 64 mockServiceHelper = 65 new MockServiceHelper( 66 UUID.randomUUID().toString(), 67 Arrays.<MockGrpcService>asList(mockKnowledgeBases, mockLocations)); 68 mockServiceHelper.start(); 69 } 70 71 @AfterClass stopServer()72 public static void stopServer() { 73 mockServiceHelper.stop(); 74 } 75 76 @Before setUp()77 public void setUp() throws IOException { 78 mockServiceHelper.reset(); 79 channelProvider = mockServiceHelper.createChannelProvider(); 80 KnowledgeBasesSettings settings = 81 KnowledgeBasesSettings.newBuilder() 82 .setTransportChannelProvider(channelProvider) 83 .setCredentialsProvider(NoCredentialsProvider.create()) 84 .build(); 85 client = KnowledgeBasesClient.create(settings); 86 } 87 88 @After tearDown()89 public void tearDown() throws Exception { 90 client.close(); 91 } 92 93 @Test listKnowledgeBasesTest()94 public void listKnowledgeBasesTest() throws Exception { 95 KnowledgeBase responsesElement = KnowledgeBase.newBuilder().build(); 96 ListKnowledgeBasesResponse expectedResponse = 97 ListKnowledgeBasesResponse.newBuilder() 98 .setNextPageToken("") 99 .addAllKnowledgeBases(Arrays.asList(responsesElement)) 100 .build(); 101 mockKnowledgeBases.addResponse(expectedResponse); 102 103 LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); 104 105 ListKnowledgeBasesPagedResponse pagedListResponse = client.listKnowledgeBases(parent); 106 107 List<KnowledgeBase> resources = Lists.newArrayList(pagedListResponse.iterateAll()); 108 109 Assert.assertEquals(1, resources.size()); 110 Assert.assertEquals(expectedResponse.getKnowledgeBasesList().get(0), resources.get(0)); 111 112 List<AbstractMessage> actualRequests = mockKnowledgeBases.getRequests(); 113 Assert.assertEquals(1, actualRequests.size()); 114 ListKnowledgeBasesRequest actualRequest = ((ListKnowledgeBasesRequest) actualRequests.get(0)); 115 116 Assert.assertEquals(parent.toString(), actualRequest.getParent()); 117 Assert.assertTrue( 118 channelProvider.isHeaderSent( 119 ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), 120 GaxGrpcProperties.getDefaultApiClientHeaderPattern())); 121 } 122 123 @Test listKnowledgeBasesExceptionTest()124 public void listKnowledgeBasesExceptionTest() throws Exception { 125 StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); 126 mockKnowledgeBases.addException(exception); 127 128 try { 129 LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); 130 client.listKnowledgeBases(parent); 131 Assert.fail("No exception raised"); 132 } catch (InvalidArgumentException e) { 133 // Expected exception. 134 } 135 } 136 137 @Test listKnowledgeBasesTest2()138 public void listKnowledgeBasesTest2() throws Exception { 139 KnowledgeBase responsesElement = KnowledgeBase.newBuilder().build(); 140 ListKnowledgeBasesResponse expectedResponse = 141 ListKnowledgeBasesResponse.newBuilder() 142 .setNextPageToken("") 143 .addAllKnowledgeBases(Arrays.asList(responsesElement)) 144 .build(); 145 mockKnowledgeBases.addResponse(expectedResponse); 146 147 ProjectName parent = ProjectName.of("[PROJECT]"); 148 149 ListKnowledgeBasesPagedResponse pagedListResponse = client.listKnowledgeBases(parent); 150 151 List<KnowledgeBase> resources = Lists.newArrayList(pagedListResponse.iterateAll()); 152 153 Assert.assertEquals(1, resources.size()); 154 Assert.assertEquals(expectedResponse.getKnowledgeBasesList().get(0), resources.get(0)); 155 156 List<AbstractMessage> actualRequests = mockKnowledgeBases.getRequests(); 157 Assert.assertEquals(1, actualRequests.size()); 158 ListKnowledgeBasesRequest actualRequest = ((ListKnowledgeBasesRequest) actualRequests.get(0)); 159 160 Assert.assertEquals(parent.toString(), actualRequest.getParent()); 161 Assert.assertTrue( 162 channelProvider.isHeaderSent( 163 ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), 164 GaxGrpcProperties.getDefaultApiClientHeaderPattern())); 165 } 166 167 @Test listKnowledgeBasesExceptionTest2()168 public void listKnowledgeBasesExceptionTest2() throws Exception { 169 StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); 170 mockKnowledgeBases.addException(exception); 171 172 try { 173 ProjectName parent = ProjectName.of("[PROJECT]"); 174 client.listKnowledgeBases(parent); 175 Assert.fail("No exception raised"); 176 } catch (InvalidArgumentException e) { 177 // Expected exception. 178 } 179 } 180 181 @Test listKnowledgeBasesTest3()182 public void listKnowledgeBasesTest3() throws Exception { 183 KnowledgeBase responsesElement = KnowledgeBase.newBuilder().build(); 184 ListKnowledgeBasesResponse expectedResponse = 185 ListKnowledgeBasesResponse.newBuilder() 186 .setNextPageToken("") 187 .addAllKnowledgeBases(Arrays.asList(responsesElement)) 188 .build(); 189 mockKnowledgeBases.addResponse(expectedResponse); 190 191 String parent = "parent-995424086"; 192 193 ListKnowledgeBasesPagedResponse pagedListResponse = client.listKnowledgeBases(parent); 194 195 List<KnowledgeBase> resources = Lists.newArrayList(pagedListResponse.iterateAll()); 196 197 Assert.assertEquals(1, resources.size()); 198 Assert.assertEquals(expectedResponse.getKnowledgeBasesList().get(0), resources.get(0)); 199 200 List<AbstractMessage> actualRequests = mockKnowledgeBases.getRequests(); 201 Assert.assertEquals(1, actualRequests.size()); 202 ListKnowledgeBasesRequest actualRequest = ((ListKnowledgeBasesRequest) actualRequests.get(0)); 203 204 Assert.assertEquals(parent, actualRequest.getParent()); 205 Assert.assertTrue( 206 channelProvider.isHeaderSent( 207 ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), 208 GaxGrpcProperties.getDefaultApiClientHeaderPattern())); 209 } 210 211 @Test listKnowledgeBasesExceptionTest3()212 public void listKnowledgeBasesExceptionTest3() throws Exception { 213 StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); 214 mockKnowledgeBases.addException(exception); 215 216 try { 217 String parent = "parent-995424086"; 218 client.listKnowledgeBases(parent); 219 Assert.fail("No exception raised"); 220 } catch (InvalidArgumentException e) { 221 // Expected exception. 222 } 223 } 224 225 @Test getKnowledgeBaseTest()226 public void getKnowledgeBaseTest() throws Exception { 227 KnowledgeBase expectedResponse = 228 KnowledgeBase.newBuilder() 229 .setName( 230 KnowledgeBaseName.ofProjectKnowledgeBaseName("[PROJECT]", "[KNOWLEDGE_BASE]") 231 .toString()) 232 .setDisplayName("displayName1714148973") 233 .setLanguageCode("languageCode-2092349083") 234 .build(); 235 mockKnowledgeBases.addResponse(expectedResponse); 236 237 KnowledgeBaseName name = 238 KnowledgeBaseName.ofProjectKnowledgeBaseName("[PROJECT]", "[KNOWLEDGE_BASE]"); 239 240 KnowledgeBase actualResponse = client.getKnowledgeBase(name); 241 Assert.assertEquals(expectedResponse, actualResponse); 242 243 List<AbstractMessage> actualRequests = mockKnowledgeBases.getRequests(); 244 Assert.assertEquals(1, actualRequests.size()); 245 GetKnowledgeBaseRequest actualRequest = ((GetKnowledgeBaseRequest) actualRequests.get(0)); 246 247 Assert.assertEquals(name.toString(), actualRequest.getName()); 248 Assert.assertTrue( 249 channelProvider.isHeaderSent( 250 ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), 251 GaxGrpcProperties.getDefaultApiClientHeaderPattern())); 252 } 253 254 @Test getKnowledgeBaseExceptionTest()255 public void getKnowledgeBaseExceptionTest() throws Exception { 256 StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); 257 mockKnowledgeBases.addException(exception); 258 259 try { 260 KnowledgeBaseName name = 261 KnowledgeBaseName.ofProjectKnowledgeBaseName("[PROJECT]", "[KNOWLEDGE_BASE]"); 262 client.getKnowledgeBase(name); 263 Assert.fail("No exception raised"); 264 } catch (InvalidArgumentException e) { 265 // Expected exception. 266 } 267 } 268 269 @Test getKnowledgeBaseTest2()270 public void getKnowledgeBaseTest2() throws Exception { 271 KnowledgeBase expectedResponse = 272 KnowledgeBase.newBuilder() 273 .setName( 274 KnowledgeBaseName.ofProjectKnowledgeBaseName("[PROJECT]", "[KNOWLEDGE_BASE]") 275 .toString()) 276 .setDisplayName("displayName1714148973") 277 .setLanguageCode("languageCode-2092349083") 278 .build(); 279 mockKnowledgeBases.addResponse(expectedResponse); 280 281 String name = "name3373707"; 282 283 KnowledgeBase actualResponse = client.getKnowledgeBase(name); 284 Assert.assertEquals(expectedResponse, actualResponse); 285 286 List<AbstractMessage> actualRequests = mockKnowledgeBases.getRequests(); 287 Assert.assertEquals(1, actualRequests.size()); 288 GetKnowledgeBaseRequest actualRequest = ((GetKnowledgeBaseRequest) actualRequests.get(0)); 289 290 Assert.assertEquals(name, actualRequest.getName()); 291 Assert.assertTrue( 292 channelProvider.isHeaderSent( 293 ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), 294 GaxGrpcProperties.getDefaultApiClientHeaderPattern())); 295 } 296 297 @Test getKnowledgeBaseExceptionTest2()298 public void getKnowledgeBaseExceptionTest2() throws Exception { 299 StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); 300 mockKnowledgeBases.addException(exception); 301 302 try { 303 String name = "name3373707"; 304 client.getKnowledgeBase(name); 305 Assert.fail("No exception raised"); 306 } catch (InvalidArgumentException e) { 307 // Expected exception. 308 } 309 } 310 311 @Test createKnowledgeBaseTest()312 public void createKnowledgeBaseTest() throws Exception { 313 KnowledgeBase expectedResponse = 314 KnowledgeBase.newBuilder() 315 .setName( 316 KnowledgeBaseName.ofProjectKnowledgeBaseName("[PROJECT]", "[KNOWLEDGE_BASE]") 317 .toString()) 318 .setDisplayName("displayName1714148973") 319 .setLanguageCode("languageCode-2092349083") 320 .build(); 321 mockKnowledgeBases.addResponse(expectedResponse); 322 323 LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); 324 KnowledgeBase knowledgeBase = KnowledgeBase.newBuilder().build(); 325 326 KnowledgeBase actualResponse = client.createKnowledgeBase(parent, knowledgeBase); 327 Assert.assertEquals(expectedResponse, actualResponse); 328 329 List<AbstractMessage> actualRequests = mockKnowledgeBases.getRequests(); 330 Assert.assertEquals(1, actualRequests.size()); 331 CreateKnowledgeBaseRequest actualRequest = ((CreateKnowledgeBaseRequest) actualRequests.get(0)); 332 333 Assert.assertEquals(parent.toString(), actualRequest.getParent()); 334 Assert.assertEquals(knowledgeBase, actualRequest.getKnowledgeBase()); 335 Assert.assertTrue( 336 channelProvider.isHeaderSent( 337 ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), 338 GaxGrpcProperties.getDefaultApiClientHeaderPattern())); 339 } 340 341 @Test createKnowledgeBaseExceptionTest()342 public void createKnowledgeBaseExceptionTest() throws Exception { 343 StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); 344 mockKnowledgeBases.addException(exception); 345 346 try { 347 LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); 348 KnowledgeBase knowledgeBase = KnowledgeBase.newBuilder().build(); 349 client.createKnowledgeBase(parent, knowledgeBase); 350 Assert.fail("No exception raised"); 351 } catch (InvalidArgumentException e) { 352 // Expected exception. 353 } 354 } 355 356 @Test createKnowledgeBaseTest2()357 public void createKnowledgeBaseTest2() throws Exception { 358 KnowledgeBase expectedResponse = 359 KnowledgeBase.newBuilder() 360 .setName( 361 KnowledgeBaseName.ofProjectKnowledgeBaseName("[PROJECT]", "[KNOWLEDGE_BASE]") 362 .toString()) 363 .setDisplayName("displayName1714148973") 364 .setLanguageCode("languageCode-2092349083") 365 .build(); 366 mockKnowledgeBases.addResponse(expectedResponse); 367 368 ProjectName parent = ProjectName.of("[PROJECT]"); 369 KnowledgeBase knowledgeBase = KnowledgeBase.newBuilder().build(); 370 371 KnowledgeBase actualResponse = client.createKnowledgeBase(parent, knowledgeBase); 372 Assert.assertEquals(expectedResponse, actualResponse); 373 374 List<AbstractMessage> actualRequests = mockKnowledgeBases.getRequests(); 375 Assert.assertEquals(1, actualRequests.size()); 376 CreateKnowledgeBaseRequest actualRequest = ((CreateKnowledgeBaseRequest) actualRequests.get(0)); 377 378 Assert.assertEquals(parent.toString(), actualRequest.getParent()); 379 Assert.assertEquals(knowledgeBase, actualRequest.getKnowledgeBase()); 380 Assert.assertTrue( 381 channelProvider.isHeaderSent( 382 ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), 383 GaxGrpcProperties.getDefaultApiClientHeaderPattern())); 384 } 385 386 @Test createKnowledgeBaseExceptionTest2()387 public void createKnowledgeBaseExceptionTest2() throws Exception { 388 StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); 389 mockKnowledgeBases.addException(exception); 390 391 try { 392 ProjectName parent = ProjectName.of("[PROJECT]"); 393 KnowledgeBase knowledgeBase = KnowledgeBase.newBuilder().build(); 394 client.createKnowledgeBase(parent, knowledgeBase); 395 Assert.fail("No exception raised"); 396 } catch (InvalidArgumentException e) { 397 // Expected exception. 398 } 399 } 400 401 @Test createKnowledgeBaseTest3()402 public void createKnowledgeBaseTest3() throws Exception { 403 KnowledgeBase expectedResponse = 404 KnowledgeBase.newBuilder() 405 .setName( 406 KnowledgeBaseName.ofProjectKnowledgeBaseName("[PROJECT]", "[KNOWLEDGE_BASE]") 407 .toString()) 408 .setDisplayName("displayName1714148973") 409 .setLanguageCode("languageCode-2092349083") 410 .build(); 411 mockKnowledgeBases.addResponse(expectedResponse); 412 413 String parent = "parent-995424086"; 414 KnowledgeBase knowledgeBase = KnowledgeBase.newBuilder().build(); 415 416 KnowledgeBase actualResponse = client.createKnowledgeBase(parent, knowledgeBase); 417 Assert.assertEquals(expectedResponse, actualResponse); 418 419 List<AbstractMessage> actualRequests = mockKnowledgeBases.getRequests(); 420 Assert.assertEquals(1, actualRequests.size()); 421 CreateKnowledgeBaseRequest actualRequest = ((CreateKnowledgeBaseRequest) actualRequests.get(0)); 422 423 Assert.assertEquals(parent, actualRequest.getParent()); 424 Assert.assertEquals(knowledgeBase, actualRequest.getKnowledgeBase()); 425 Assert.assertTrue( 426 channelProvider.isHeaderSent( 427 ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), 428 GaxGrpcProperties.getDefaultApiClientHeaderPattern())); 429 } 430 431 @Test createKnowledgeBaseExceptionTest3()432 public void createKnowledgeBaseExceptionTest3() throws Exception { 433 StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); 434 mockKnowledgeBases.addException(exception); 435 436 try { 437 String parent = "parent-995424086"; 438 KnowledgeBase knowledgeBase = KnowledgeBase.newBuilder().build(); 439 client.createKnowledgeBase(parent, knowledgeBase); 440 Assert.fail("No exception raised"); 441 } catch (InvalidArgumentException e) { 442 // Expected exception. 443 } 444 } 445 446 @Test deleteKnowledgeBaseTest()447 public void deleteKnowledgeBaseTest() throws Exception { 448 Empty expectedResponse = Empty.newBuilder().build(); 449 mockKnowledgeBases.addResponse(expectedResponse); 450 451 KnowledgeBaseName name = 452 KnowledgeBaseName.ofProjectKnowledgeBaseName("[PROJECT]", "[KNOWLEDGE_BASE]"); 453 454 client.deleteKnowledgeBase(name); 455 456 List<AbstractMessage> actualRequests = mockKnowledgeBases.getRequests(); 457 Assert.assertEquals(1, actualRequests.size()); 458 DeleteKnowledgeBaseRequest actualRequest = ((DeleteKnowledgeBaseRequest) actualRequests.get(0)); 459 460 Assert.assertEquals(name.toString(), actualRequest.getName()); 461 Assert.assertTrue( 462 channelProvider.isHeaderSent( 463 ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), 464 GaxGrpcProperties.getDefaultApiClientHeaderPattern())); 465 } 466 467 @Test deleteKnowledgeBaseExceptionTest()468 public void deleteKnowledgeBaseExceptionTest() throws Exception { 469 StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); 470 mockKnowledgeBases.addException(exception); 471 472 try { 473 KnowledgeBaseName name = 474 KnowledgeBaseName.ofProjectKnowledgeBaseName("[PROJECT]", "[KNOWLEDGE_BASE]"); 475 client.deleteKnowledgeBase(name); 476 Assert.fail("No exception raised"); 477 } catch (InvalidArgumentException e) { 478 // Expected exception. 479 } 480 } 481 482 @Test deleteKnowledgeBaseTest2()483 public void deleteKnowledgeBaseTest2() throws Exception { 484 Empty expectedResponse = Empty.newBuilder().build(); 485 mockKnowledgeBases.addResponse(expectedResponse); 486 487 String name = "name3373707"; 488 489 client.deleteKnowledgeBase(name); 490 491 List<AbstractMessage> actualRequests = mockKnowledgeBases.getRequests(); 492 Assert.assertEquals(1, actualRequests.size()); 493 DeleteKnowledgeBaseRequest actualRequest = ((DeleteKnowledgeBaseRequest) actualRequests.get(0)); 494 495 Assert.assertEquals(name, actualRequest.getName()); 496 Assert.assertTrue( 497 channelProvider.isHeaderSent( 498 ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), 499 GaxGrpcProperties.getDefaultApiClientHeaderPattern())); 500 } 501 502 @Test deleteKnowledgeBaseExceptionTest2()503 public void deleteKnowledgeBaseExceptionTest2() throws Exception { 504 StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); 505 mockKnowledgeBases.addException(exception); 506 507 try { 508 String name = "name3373707"; 509 client.deleteKnowledgeBase(name); 510 Assert.fail("No exception raised"); 511 } catch (InvalidArgumentException e) { 512 // Expected exception. 513 } 514 } 515 516 @Test updateKnowledgeBaseTest()517 public void updateKnowledgeBaseTest() throws Exception { 518 KnowledgeBase expectedResponse = 519 KnowledgeBase.newBuilder() 520 .setName( 521 KnowledgeBaseName.ofProjectKnowledgeBaseName("[PROJECT]", "[KNOWLEDGE_BASE]") 522 .toString()) 523 .setDisplayName("displayName1714148973") 524 .setLanguageCode("languageCode-2092349083") 525 .build(); 526 mockKnowledgeBases.addResponse(expectedResponse); 527 528 KnowledgeBase knowledgeBase = KnowledgeBase.newBuilder().build(); 529 FieldMask updateMask = FieldMask.newBuilder().build(); 530 531 KnowledgeBase actualResponse = client.updateKnowledgeBase(knowledgeBase, updateMask); 532 Assert.assertEquals(expectedResponse, actualResponse); 533 534 List<AbstractMessage> actualRequests = mockKnowledgeBases.getRequests(); 535 Assert.assertEquals(1, actualRequests.size()); 536 UpdateKnowledgeBaseRequest actualRequest = ((UpdateKnowledgeBaseRequest) actualRequests.get(0)); 537 538 Assert.assertEquals(knowledgeBase, actualRequest.getKnowledgeBase()); 539 Assert.assertEquals(updateMask, actualRequest.getUpdateMask()); 540 Assert.assertTrue( 541 channelProvider.isHeaderSent( 542 ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), 543 GaxGrpcProperties.getDefaultApiClientHeaderPattern())); 544 } 545 546 @Test updateKnowledgeBaseExceptionTest()547 public void updateKnowledgeBaseExceptionTest() throws Exception { 548 StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); 549 mockKnowledgeBases.addException(exception); 550 551 try { 552 KnowledgeBase knowledgeBase = KnowledgeBase.newBuilder().build(); 553 FieldMask updateMask = FieldMask.newBuilder().build(); 554 client.updateKnowledgeBase(knowledgeBase, updateMask); 555 Assert.fail("No exception raised"); 556 } catch (InvalidArgumentException e) { 557 // Expected exception. 558 } 559 } 560 561 @Test listLocationsTest()562 public void listLocationsTest() throws Exception { 563 Location responsesElement = Location.newBuilder().build(); 564 ListLocationsResponse expectedResponse = 565 ListLocationsResponse.newBuilder() 566 .setNextPageToken("") 567 .addAllLocations(Arrays.asList(responsesElement)) 568 .build(); 569 mockLocations.addResponse(expectedResponse); 570 571 ListLocationsRequest request = 572 ListLocationsRequest.newBuilder() 573 .setName("name3373707") 574 .setFilter("filter-1274492040") 575 .setPageSize(883849137) 576 .setPageToken("pageToken873572522") 577 .build(); 578 579 ListLocationsPagedResponse pagedListResponse = client.listLocations(request); 580 581 List<Location> resources = Lists.newArrayList(pagedListResponse.iterateAll()); 582 583 Assert.assertEquals(1, resources.size()); 584 Assert.assertEquals(expectedResponse.getLocationsList().get(0), resources.get(0)); 585 586 List<AbstractMessage> actualRequests = mockLocations.getRequests(); 587 Assert.assertEquals(1, actualRequests.size()); 588 ListLocationsRequest actualRequest = ((ListLocationsRequest) actualRequests.get(0)); 589 590 Assert.assertEquals(request.getName(), actualRequest.getName()); 591 Assert.assertEquals(request.getFilter(), actualRequest.getFilter()); 592 Assert.assertEquals(request.getPageSize(), actualRequest.getPageSize()); 593 Assert.assertEquals(request.getPageToken(), actualRequest.getPageToken()); 594 Assert.assertTrue( 595 channelProvider.isHeaderSent( 596 ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), 597 GaxGrpcProperties.getDefaultApiClientHeaderPattern())); 598 } 599 600 @Test listLocationsExceptionTest()601 public void listLocationsExceptionTest() throws Exception { 602 StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); 603 mockLocations.addException(exception); 604 605 try { 606 ListLocationsRequest request = 607 ListLocationsRequest.newBuilder() 608 .setName("name3373707") 609 .setFilter("filter-1274492040") 610 .setPageSize(883849137) 611 .setPageToken("pageToken873572522") 612 .build(); 613 client.listLocations(request); 614 Assert.fail("No exception raised"); 615 } catch (InvalidArgumentException e) { 616 // Expected exception. 617 } 618 } 619 620 @Test getLocationTest()621 public void getLocationTest() throws Exception { 622 Location expectedResponse = 623 Location.newBuilder() 624 .setName("name3373707") 625 .setLocationId("locationId1541836720") 626 .setDisplayName("displayName1714148973") 627 .putAllLabels(new HashMap<String, String>()) 628 .setMetadata(Any.newBuilder().build()) 629 .build(); 630 mockLocations.addResponse(expectedResponse); 631 632 GetLocationRequest request = GetLocationRequest.newBuilder().setName("name3373707").build(); 633 634 Location actualResponse = client.getLocation(request); 635 Assert.assertEquals(expectedResponse, actualResponse); 636 637 List<AbstractMessage> actualRequests = mockLocations.getRequests(); 638 Assert.assertEquals(1, actualRequests.size()); 639 GetLocationRequest actualRequest = ((GetLocationRequest) actualRequests.get(0)); 640 641 Assert.assertEquals(request.getName(), actualRequest.getName()); 642 Assert.assertTrue( 643 channelProvider.isHeaderSent( 644 ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), 645 GaxGrpcProperties.getDefaultApiClientHeaderPattern())); 646 } 647 648 @Test getLocationExceptionTest()649 public void getLocationExceptionTest() throws Exception { 650 StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); 651 mockLocations.addException(exception); 652 653 try { 654 GetLocationRequest request = GetLocationRequest.newBuilder().setName("name3373707").build(); 655 client.getLocation(request); 656 Assert.fail("No exception raised"); 657 } catch (InvalidArgumentException e) { 658 // Expected exception. 659 } 660 } 661 } 662