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.ConversationsClient.ListConversationsPagedResponse; 20 import static com.google.cloud.dialogflow.v2.ConversationsClient.ListLocationsPagedResponse; 21 import static com.google.cloud.dialogflow.v2.ConversationsClient.ListMessagesPagedResponse; 22 23 import com.google.api.gax.core.NoCredentialsProvider; 24 import com.google.api.gax.grpc.GaxGrpcProperties; 25 import com.google.api.gax.grpc.testing.LocalChannelProvider; 26 import com.google.api.gax.grpc.testing.MockGrpcService; 27 import com.google.api.gax.grpc.testing.MockServiceHelper; 28 import com.google.api.gax.rpc.ApiClientHeaderProvider; 29 import com.google.api.gax.rpc.InvalidArgumentException; 30 import com.google.cloud.location.GetLocationRequest; 31 import com.google.cloud.location.ListLocationsRequest; 32 import com.google.cloud.location.ListLocationsResponse; 33 import com.google.cloud.location.Location; 34 import com.google.common.collect.Lists; 35 import com.google.protobuf.AbstractMessage; 36 import com.google.protobuf.Any; 37 import com.google.protobuf.Timestamp; 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 ConversationsClientTest { 54 private static MockConversations mockConversations; 55 private static MockLocations mockLocations; 56 private static MockServiceHelper mockServiceHelper; 57 private LocalChannelProvider channelProvider; 58 private ConversationsClient client; 59 60 @BeforeClass startStaticServer()61 public static void startStaticServer() { 62 mockConversations = new MockConversations(); 63 mockLocations = new MockLocations(); 64 mockServiceHelper = 65 new MockServiceHelper( 66 UUID.randomUUID().toString(), 67 Arrays.<MockGrpcService>asList(mockConversations, 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 ConversationsSettings settings = 81 ConversationsSettings.newBuilder() 82 .setTransportChannelProvider(channelProvider) 83 .setCredentialsProvider(NoCredentialsProvider.create()) 84 .build(); 85 client = ConversationsClient.create(settings); 86 } 87 88 @After tearDown()89 public void tearDown() throws Exception { 90 client.close(); 91 } 92 93 @Test createConversationTest()94 public void createConversationTest() throws Exception { 95 Conversation expectedResponse = 96 Conversation.newBuilder() 97 .setName( 98 ConversationName.ofProjectConversationName("[PROJECT]", "[CONVERSATION]") 99 .toString()) 100 .setConversationProfile( 101 ConversationProfileName.ofProjectConversationProfileName( 102 "[PROJECT]", "[CONVERSATION_PROFILE]") 103 .toString()) 104 .setPhoneNumber(ConversationPhoneNumber.newBuilder().build()) 105 .setStartTime(Timestamp.newBuilder().build()) 106 .setEndTime(Timestamp.newBuilder().build()) 107 .build(); 108 mockConversations.addResponse(expectedResponse); 109 110 LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); 111 Conversation conversation = Conversation.newBuilder().build(); 112 113 Conversation actualResponse = client.createConversation(parent, conversation); 114 Assert.assertEquals(expectedResponse, actualResponse); 115 116 List<AbstractMessage> actualRequests = mockConversations.getRequests(); 117 Assert.assertEquals(1, actualRequests.size()); 118 CreateConversationRequest actualRequest = ((CreateConversationRequest) actualRequests.get(0)); 119 120 Assert.assertEquals(parent.toString(), actualRequest.getParent()); 121 Assert.assertEquals(conversation, actualRequest.getConversation()); 122 Assert.assertTrue( 123 channelProvider.isHeaderSent( 124 ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), 125 GaxGrpcProperties.getDefaultApiClientHeaderPattern())); 126 } 127 128 @Test createConversationExceptionTest()129 public void createConversationExceptionTest() throws Exception { 130 StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); 131 mockConversations.addException(exception); 132 133 try { 134 LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); 135 Conversation conversation = Conversation.newBuilder().build(); 136 client.createConversation(parent, conversation); 137 Assert.fail("No exception raised"); 138 } catch (InvalidArgumentException e) { 139 // Expected exception. 140 } 141 } 142 143 @Test createConversationTest2()144 public void createConversationTest2() throws Exception { 145 Conversation expectedResponse = 146 Conversation.newBuilder() 147 .setName( 148 ConversationName.ofProjectConversationName("[PROJECT]", "[CONVERSATION]") 149 .toString()) 150 .setConversationProfile( 151 ConversationProfileName.ofProjectConversationProfileName( 152 "[PROJECT]", "[CONVERSATION_PROFILE]") 153 .toString()) 154 .setPhoneNumber(ConversationPhoneNumber.newBuilder().build()) 155 .setStartTime(Timestamp.newBuilder().build()) 156 .setEndTime(Timestamp.newBuilder().build()) 157 .build(); 158 mockConversations.addResponse(expectedResponse); 159 160 ProjectName parent = ProjectName.of("[PROJECT]"); 161 Conversation conversation = Conversation.newBuilder().build(); 162 163 Conversation actualResponse = client.createConversation(parent, conversation); 164 Assert.assertEquals(expectedResponse, actualResponse); 165 166 List<AbstractMessage> actualRequests = mockConversations.getRequests(); 167 Assert.assertEquals(1, actualRequests.size()); 168 CreateConversationRequest actualRequest = ((CreateConversationRequest) actualRequests.get(0)); 169 170 Assert.assertEquals(parent.toString(), actualRequest.getParent()); 171 Assert.assertEquals(conversation, actualRequest.getConversation()); 172 Assert.assertTrue( 173 channelProvider.isHeaderSent( 174 ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), 175 GaxGrpcProperties.getDefaultApiClientHeaderPattern())); 176 } 177 178 @Test createConversationExceptionTest2()179 public void createConversationExceptionTest2() throws Exception { 180 StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); 181 mockConversations.addException(exception); 182 183 try { 184 ProjectName parent = ProjectName.of("[PROJECT]"); 185 Conversation conversation = Conversation.newBuilder().build(); 186 client.createConversation(parent, conversation); 187 Assert.fail("No exception raised"); 188 } catch (InvalidArgumentException e) { 189 // Expected exception. 190 } 191 } 192 193 @Test createConversationTest3()194 public void createConversationTest3() throws Exception { 195 Conversation expectedResponse = 196 Conversation.newBuilder() 197 .setName( 198 ConversationName.ofProjectConversationName("[PROJECT]", "[CONVERSATION]") 199 .toString()) 200 .setConversationProfile( 201 ConversationProfileName.ofProjectConversationProfileName( 202 "[PROJECT]", "[CONVERSATION_PROFILE]") 203 .toString()) 204 .setPhoneNumber(ConversationPhoneNumber.newBuilder().build()) 205 .setStartTime(Timestamp.newBuilder().build()) 206 .setEndTime(Timestamp.newBuilder().build()) 207 .build(); 208 mockConversations.addResponse(expectedResponse); 209 210 String parent = "parent-995424086"; 211 Conversation conversation = Conversation.newBuilder().build(); 212 213 Conversation actualResponse = client.createConversation(parent, conversation); 214 Assert.assertEquals(expectedResponse, actualResponse); 215 216 List<AbstractMessage> actualRequests = mockConversations.getRequests(); 217 Assert.assertEquals(1, actualRequests.size()); 218 CreateConversationRequest actualRequest = ((CreateConversationRequest) actualRequests.get(0)); 219 220 Assert.assertEquals(parent, actualRequest.getParent()); 221 Assert.assertEquals(conversation, actualRequest.getConversation()); 222 Assert.assertTrue( 223 channelProvider.isHeaderSent( 224 ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), 225 GaxGrpcProperties.getDefaultApiClientHeaderPattern())); 226 } 227 228 @Test createConversationExceptionTest3()229 public void createConversationExceptionTest3() throws Exception { 230 StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); 231 mockConversations.addException(exception); 232 233 try { 234 String parent = "parent-995424086"; 235 Conversation conversation = Conversation.newBuilder().build(); 236 client.createConversation(parent, conversation); 237 Assert.fail("No exception raised"); 238 } catch (InvalidArgumentException e) { 239 // Expected exception. 240 } 241 } 242 243 @Test listConversationsTest()244 public void listConversationsTest() throws Exception { 245 Conversation responsesElement = Conversation.newBuilder().build(); 246 ListConversationsResponse expectedResponse = 247 ListConversationsResponse.newBuilder() 248 .setNextPageToken("") 249 .addAllConversations(Arrays.asList(responsesElement)) 250 .build(); 251 mockConversations.addResponse(expectedResponse); 252 253 LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); 254 255 ListConversationsPagedResponse pagedListResponse = client.listConversations(parent); 256 257 List<Conversation> resources = Lists.newArrayList(pagedListResponse.iterateAll()); 258 259 Assert.assertEquals(1, resources.size()); 260 Assert.assertEquals(expectedResponse.getConversationsList().get(0), resources.get(0)); 261 262 List<AbstractMessage> actualRequests = mockConversations.getRequests(); 263 Assert.assertEquals(1, actualRequests.size()); 264 ListConversationsRequest actualRequest = ((ListConversationsRequest) actualRequests.get(0)); 265 266 Assert.assertEquals(parent.toString(), actualRequest.getParent()); 267 Assert.assertTrue( 268 channelProvider.isHeaderSent( 269 ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), 270 GaxGrpcProperties.getDefaultApiClientHeaderPattern())); 271 } 272 273 @Test listConversationsExceptionTest()274 public void listConversationsExceptionTest() throws Exception { 275 StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); 276 mockConversations.addException(exception); 277 278 try { 279 LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]"); 280 client.listConversations(parent); 281 Assert.fail("No exception raised"); 282 } catch (InvalidArgumentException e) { 283 // Expected exception. 284 } 285 } 286 287 @Test listConversationsTest2()288 public void listConversationsTest2() throws Exception { 289 Conversation responsesElement = Conversation.newBuilder().build(); 290 ListConversationsResponse expectedResponse = 291 ListConversationsResponse.newBuilder() 292 .setNextPageToken("") 293 .addAllConversations(Arrays.asList(responsesElement)) 294 .build(); 295 mockConversations.addResponse(expectedResponse); 296 297 ProjectName parent = ProjectName.of("[PROJECT]"); 298 299 ListConversationsPagedResponse pagedListResponse = client.listConversations(parent); 300 301 List<Conversation> resources = Lists.newArrayList(pagedListResponse.iterateAll()); 302 303 Assert.assertEquals(1, resources.size()); 304 Assert.assertEquals(expectedResponse.getConversationsList().get(0), resources.get(0)); 305 306 List<AbstractMessage> actualRequests = mockConversations.getRequests(); 307 Assert.assertEquals(1, actualRequests.size()); 308 ListConversationsRequest actualRequest = ((ListConversationsRequest) actualRequests.get(0)); 309 310 Assert.assertEquals(parent.toString(), actualRequest.getParent()); 311 Assert.assertTrue( 312 channelProvider.isHeaderSent( 313 ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), 314 GaxGrpcProperties.getDefaultApiClientHeaderPattern())); 315 } 316 317 @Test listConversationsExceptionTest2()318 public void listConversationsExceptionTest2() throws Exception { 319 StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); 320 mockConversations.addException(exception); 321 322 try { 323 ProjectName parent = ProjectName.of("[PROJECT]"); 324 client.listConversations(parent); 325 Assert.fail("No exception raised"); 326 } catch (InvalidArgumentException e) { 327 // Expected exception. 328 } 329 } 330 331 @Test listConversationsTest3()332 public void listConversationsTest3() throws Exception { 333 Conversation responsesElement = Conversation.newBuilder().build(); 334 ListConversationsResponse expectedResponse = 335 ListConversationsResponse.newBuilder() 336 .setNextPageToken("") 337 .addAllConversations(Arrays.asList(responsesElement)) 338 .build(); 339 mockConversations.addResponse(expectedResponse); 340 341 String parent = "parent-995424086"; 342 343 ListConversationsPagedResponse pagedListResponse = client.listConversations(parent); 344 345 List<Conversation> resources = Lists.newArrayList(pagedListResponse.iterateAll()); 346 347 Assert.assertEquals(1, resources.size()); 348 Assert.assertEquals(expectedResponse.getConversationsList().get(0), resources.get(0)); 349 350 List<AbstractMessage> actualRequests = mockConversations.getRequests(); 351 Assert.assertEquals(1, actualRequests.size()); 352 ListConversationsRequest actualRequest = ((ListConversationsRequest) actualRequests.get(0)); 353 354 Assert.assertEquals(parent, actualRequest.getParent()); 355 Assert.assertTrue( 356 channelProvider.isHeaderSent( 357 ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), 358 GaxGrpcProperties.getDefaultApiClientHeaderPattern())); 359 } 360 361 @Test listConversationsExceptionTest3()362 public void listConversationsExceptionTest3() throws Exception { 363 StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); 364 mockConversations.addException(exception); 365 366 try { 367 String parent = "parent-995424086"; 368 client.listConversations(parent); 369 Assert.fail("No exception raised"); 370 } catch (InvalidArgumentException e) { 371 // Expected exception. 372 } 373 } 374 375 @Test getConversationTest()376 public void getConversationTest() throws Exception { 377 Conversation expectedResponse = 378 Conversation.newBuilder() 379 .setName( 380 ConversationName.ofProjectConversationName("[PROJECT]", "[CONVERSATION]") 381 .toString()) 382 .setConversationProfile( 383 ConversationProfileName.ofProjectConversationProfileName( 384 "[PROJECT]", "[CONVERSATION_PROFILE]") 385 .toString()) 386 .setPhoneNumber(ConversationPhoneNumber.newBuilder().build()) 387 .setStartTime(Timestamp.newBuilder().build()) 388 .setEndTime(Timestamp.newBuilder().build()) 389 .build(); 390 mockConversations.addResponse(expectedResponse); 391 392 ConversationName name = 393 ConversationName.ofProjectConversationName("[PROJECT]", "[CONVERSATION]"); 394 395 Conversation actualResponse = client.getConversation(name); 396 Assert.assertEquals(expectedResponse, actualResponse); 397 398 List<AbstractMessage> actualRequests = mockConversations.getRequests(); 399 Assert.assertEquals(1, actualRequests.size()); 400 GetConversationRequest actualRequest = ((GetConversationRequest) actualRequests.get(0)); 401 402 Assert.assertEquals(name.toString(), actualRequest.getName()); 403 Assert.assertTrue( 404 channelProvider.isHeaderSent( 405 ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), 406 GaxGrpcProperties.getDefaultApiClientHeaderPattern())); 407 } 408 409 @Test getConversationExceptionTest()410 public void getConversationExceptionTest() throws Exception { 411 StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); 412 mockConversations.addException(exception); 413 414 try { 415 ConversationName name = 416 ConversationName.ofProjectConversationName("[PROJECT]", "[CONVERSATION]"); 417 client.getConversation(name); 418 Assert.fail("No exception raised"); 419 } catch (InvalidArgumentException e) { 420 // Expected exception. 421 } 422 } 423 424 @Test getConversationTest2()425 public void getConversationTest2() throws Exception { 426 Conversation expectedResponse = 427 Conversation.newBuilder() 428 .setName( 429 ConversationName.ofProjectConversationName("[PROJECT]", "[CONVERSATION]") 430 .toString()) 431 .setConversationProfile( 432 ConversationProfileName.ofProjectConversationProfileName( 433 "[PROJECT]", "[CONVERSATION_PROFILE]") 434 .toString()) 435 .setPhoneNumber(ConversationPhoneNumber.newBuilder().build()) 436 .setStartTime(Timestamp.newBuilder().build()) 437 .setEndTime(Timestamp.newBuilder().build()) 438 .build(); 439 mockConversations.addResponse(expectedResponse); 440 441 String name = "name3373707"; 442 443 Conversation actualResponse = client.getConversation(name); 444 Assert.assertEquals(expectedResponse, actualResponse); 445 446 List<AbstractMessage> actualRequests = mockConversations.getRequests(); 447 Assert.assertEquals(1, actualRequests.size()); 448 GetConversationRequest actualRequest = ((GetConversationRequest) actualRequests.get(0)); 449 450 Assert.assertEquals(name, actualRequest.getName()); 451 Assert.assertTrue( 452 channelProvider.isHeaderSent( 453 ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), 454 GaxGrpcProperties.getDefaultApiClientHeaderPattern())); 455 } 456 457 @Test getConversationExceptionTest2()458 public void getConversationExceptionTest2() throws Exception { 459 StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); 460 mockConversations.addException(exception); 461 462 try { 463 String name = "name3373707"; 464 client.getConversation(name); 465 Assert.fail("No exception raised"); 466 } catch (InvalidArgumentException e) { 467 // Expected exception. 468 } 469 } 470 471 @Test completeConversationTest()472 public void completeConversationTest() throws Exception { 473 Conversation expectedResponse = 474 Conversation.newBuilder() 475 .setName( 476 ConversationName.ofProjectConversationName("[PROJECT]", "[CONVERSATION]") 477 .toString()) 478 .setConversationProfile( 479 ConversationProfileName.ofProjectConversationProfileName( 480 "[PROJECT]", "[CONVERSATION_PROFILE]") 481 .toString()) 482 .setPhoneNumber(ConversationPhoneNumber.newBuilder().build()) 483 .setStartTime(Timestamp.newBuilder().build()) 484 .setEndTime(Timestamp.newBuilder().build()) 485 .build(); 486 mockConversations.addResponse(expectedResponse); 487 488 ConversationName name = 489 ConversationName.ofProjectConversationName("[PROJECT]", "[CONVERSATION]"); 490 491 Conversation actualResponse = client.completeConversation(name); 492 Assert.assertEquals(expectedResponse, actualResponse); 493 494 List<AbstractMessage> actualRequests = mockConversations.getRequests(); 495 Assert.assertEquals(1, actualRequests.size()); 496 CompleteConversationRequest actualRequest = 497 ((CompleteConversationRequest) actualRequests.get(0)); 498 499 Assert.assertEquals(name.toString(), actualRequest.getName()); 500 Assert.assertTrue( 501 channelProvider.isHeaderSent( 502 ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), 503 GaxGrpcProperties.getDefaultApiClientHeaderPattern())); 504 } 505 506 @Test completeConversationExceptionTest()507 public void completeConversationExceptionTest() throws Exception { 508 StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); 509 mockConversations.addException(exception); 510 511 try { 512 ConversationName name = 513 ConversationName.ofProjectConversationName("[PROJECT]", "[CONVERSATION]"); 514 client.completeConversation(name); 515 Assert.fail("No exception raised"); 516 } catch (InvalidArgumentException e) { 517 // Expected exception. 518 } 519 } 520 521 @Test completeConversationTest2()522 public void completeConversationTest2() throws Exception { 523 Conversation expectedResponse = 524 Conversation.newBuilder() 525 .setName( 526 ConversationName.ofProjectConversationName("[PROJECT]", "[CONVERSATION]") 527 .toString()) 528 .setConversationProfile( 529 ConversationProfileName.ofProjectConversationProfileName( 530 "[PROJECT]", "[CONVERSATION_PROFILE]") 531 .toString()) 532 .setPhoneNumber(ConversationPhoneNumber.newBuilder().build()) 533 .setStartTime(Timestamp.newBuilder().build()) 534 .setEndTime(Timestamp.newBuilder().build()) 535 .build(); 536 mockConversations.addResponse(expectedResponse); 537 538 String name = "name3373707"; 539 540 Conversation actualResponse = client.completeConversation(name); 541 Assert.assertEquals(expectedResponse, actualResponse); 542 543 List<AbstractMessage> actualRequests = mockConversations.getRequests(); 544 Assert.assertEquals(1, actualRequests.size()); 545 CompleteConversationRequest actualRequest = 546 ((CompleteConversationRequest) actualRequests.get(0)); 547 548 Assert.assertEquals(name, actualRequest.getName()); 549 Assert.assertTrue( 550 channelProvider.isHeaderSent( 551 ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), 552 GaxGrpcProperties.getDefaultApiClientHeaderPattern())); 553 } 554 555 @Test completeConversationExceptionTest2()556 public void completeConversationExceptionTest2() throws Exception { 557 StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); 558 mockConversations.addException(exception); 559 560 try { 561 String name = "name3373707"; 562 client.completeConversation(name); 563 Assert.fail("No exception raised"); 564 } catch (InvalidArgumentException e) { 565 // Expected exception. 566 } 567 } 568 569 @Test listMessagesTest()570 public void listMessagesTest() throws Exception { 571 Message responsesElement = Message.newBuilder().build(); 572 ListMessagesResponse expectedResponse = 573 ListMessagesResponse.newBuilder() 574 .setNextPageToken("") 575 .addAllMessages(Arrays.asList(responsesElement)) 576 .build(); 577 mockConversations.addResponse(expectedResponse); 578 579 ConversationName parent = 580 ConversationName.ofProjectConversationName("[PROJECT]", "[CONVERSATION]"); 581 582 ListMessagesPagedResponse pagedListResponse = client.listMessages(parent); 583 584 List<Message> resources = Lists.newArrayList(pagedListResponse.iterateAll()); 585 586 Assert.assertEquals(1, resources.size()); 587 Assert.assertEquals(expectedResponse.getMessagesList().get(0), resources.get(0)); 588 589 List<AbstractMessage> actualRequests = mockConversations.getRequests(); 590 Assert.assertEquals(1, actualRequests.size()); 591 ListMessagesRequest actualRequest = ((ListMessagesRequest) actualRequests.get(0)); 592 593 Assert.assertEquals(parent.toString(), actualRequest.getParent()); 594 Assert.assertTrue( 595 channelProvider.isHeaderSent( 596 ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), 597 GaxGrpcProperties.getDefaultApiClientHeaderPattern())); 598 } 599 600 @Test listMessagesExceptionTest()601 public void listMessagesExceptionTest() throws Exception { 602 StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); 603 mockConversations.addException(exception); 604 605 try { 606 ConversationName parent = 607 ConversationName.ofProjectConversationName("[PROJECT]", "[CONVERSATION]"); 608 client.listMessages(parent); 609 Assert.fail("No exception raised"); 610 } catch (InvalidArgumentException e) { 611 // Expected exception. 612 } 613 } 614 615 @Test listMessagesTest2()616 public void listMessagesTest2() throws Exception { 617 Message responsesElement = Message.newBuilder().build(); 618 ListMessagesResponse expectedResponse = 619 ListMessagesResponse.newBuilder() 620 .setNextPageToken("") 621 .addAllMessages(Arrays.asList(responsesElement)) 622 .build(); 623 mockConversations.addResponse(expectedResponse); 624 625 String parent = "parent-995424086"; 626 627 ListMessagesPagedResponse pagedListResponse = client.listMessages(parent); 628 629 List<Message> resources = Lists.newArrayList(pagedListResponse.iterateAll()); 630 631 Assert.assertEquals(1, resources.size()); 632 Assert.assertEquals(expectedResponse.getMessagesList().get(0), resources.get(0)); 633 634 List<AbstractMessage> actualRequests = mockConversations.getRequests(); 635 Assert.assertEquals(1, actualRequests.size()); 636 ListMessagesRequest actualRequest = ((ListMessagesRequest) actualRequests.get(0)); 637 638 Assert.assertEquals(parent, actualRequest.getParent()); 639 Assert.assertTrue( 640 channelProvider.isHeaderSent( 641 ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), 642 GaxGrpcProperties.getDefaultApiClientHeaderPattern())); 643 } 644 645 @Test listMessagesExceptionTest2()646 public void listMessagesExceptionTest2() throws Exception { 647 StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); 648 mockConversations.addException(exception); 649 650 try { 651 String parent = "parent-995424086"; 652 client.listMessages(parent); 653 Assert.fail("No exception raised"); 654 } catch (InvalidArgumentException e) { 655 // Expected exception. 656 } 657 } 658 659 @Test suggestConversationSummaryTest()660 public void suggestConversationSummaryTest() throws Exception { 661 SuggestConversationSummaryResponse expectedResponse = 662 SuggestConversationSummaryResponse.newBuilder() 663 .setSummary(SuggestConversationSummaryResponse.Summary.newBuilder().build()) 664 .setLatestMessage( 665 MessageName.ofProjectConversationMessageName( 666 "[PROJECT]", "[CONVERSATION]", "[MESSAGE]") 667 .toString()) 668 .setContextSize(1116903569) 669 .build(); 670 mockConversations.addResponse(expectedResponse); 671 672 ConversationName conversation = 673 ConversationName.ofProjectConversationName("[PROJECT]", "[CONVERSATION]"); 674 675 SuggestConversationSummaryResponse actualResponse = 676 client.suggestConversationSummary(conversation); 677 Assert.assertEquals(expectedResponse, actualResponse); 678 679 List<AbstractMessage> actualRequests = mockConversations.getRequests(); 680 Assert.assertEquals(1, actualRequests.size()); 681 SuggestConversationSummaryRequest actualRequest = 682 ((SuggestConversationSummaryRequest) actualRequests.get(0)); 683 684 Assert.assertEquals(conversation.toString(), actualRequest.getConversation()); 685 Assert.assertTrue( 686 channelProvider.isHeaderSent( 687 ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), 688 GaxGrpcProperties.getDefaultApiClientHeaderPattern())); 689 } 690 691 @Test suggestConversationSummaryExceptionTest()692 public void suggestConversationSummaryExceptionTest() throws Exception { 693 StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); 694 mockConversations.addException(exception); 695 696 try { 697 ConversationName conversation = 698 ConversationName.ofProjectConversationName("[PROJECT]", "[CONVERSATION]"); 699 client.suggestConversationSummary(conversation); 700 Assert.fail("No exception raised"); 701 } catch (InvalidArgumentException e) { 702 // Expected exception. 703 } 704 } 705 706 @Test suggestConversationSummaryTest2()707 public void suggestConversationSummaryTest2() throws Exception { 708 SuggestConversationSummaryResponse expectedResponse = 709 SuggestConversationSummaryResponse.newBuilder() 710 .setSummary(SuggestConversationSummaryResponse.Summary.newBuilder().build()) 711 .setLatestMessage( 712 MessageName.ofProjectConversationMessageName( 713 "[PROJECT]", "[CONVERSATION]", "[MESSAGE]") 714 .toString()) 715 .setContextSize(1116903569) 716 .build(); 717 mockConversations.addResponse(expectedResponse); 718 719 String conversation = "conversation740154499"; 720 721 SuggestConversationSummaryResponse actualResponse = 722 client.suggestConversationSummary(conversation); 723 Assert.assertEquals(expectedResponse, actualResponse); 724 725 List<AbstractMessage> actualRequests = mockConversations.getRequests(); 726 Assert.assertEquals(1, actualRequests.size()); 727 SuggestConversationSummaryRequest actualRequest = 728 ((SuggestConversationSummaryRequest) actualRequests.get(0)); 729 730 Assert.assertEquals(conversation, actualRequest.getConversation()); 731 Assert.assertTrue( 732 channelProvider.isHeaderSent( 733 ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), 734 GaxGrpcProperties.getDefaultApiClientHeaderPattern())); 735 } 736 737 @Test suggestConversationSummaryExceptionTest2()738 public void suggestConversationSummaryExceptionTest2() throws Exception { 739 StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); 740 mockConversations.addException(exception); 741 742 try { 743 String conversation = "conversation740154499"; 744 client.suggestConversationSummary(conversation); 745 Assert.fail("No exception raised"); 746 } catch (InvalidArgumentException e) { 747 // Expected exception. 748 } 749 } 750 751 @Test generateStatelessSummaryTest()752 public void generateStatelessSummaryTest() throws Exception { 753 GenerateStatelessSummaryResponse expectedResponse = 754 GenerateStatelessSummaryResponse.newBuilder() 755 .setSummary(GenerateStatelessSummaryResponse.Summary.newBuilder().build()) 756 .setLatestMessage( 757 MessageName.ofProjectConversationMessageName( 758 "[PROJECT]", "[CONVERSATION]", "[MESSAGE]") 759 .toString()) 760 .setContextSize(1116903569) 761 .build(); 762 mockConversations.addResponse(expectedResponse); 763 764 GenerateStatelessSummaryRequest request = 765 GenerateStatelessSummaryRequest.newBuilder() 766 .setStatelessConversation( 767 GenerateStatelessSummaryRequest.MinimalConversation.newBuilder().build()) 768 .setConversationProfile(ConversationProfile.newBuilder().build()) 769 .setLatestMessage( 770 MessageName.ofProjectConversationMessageName( 771 "[PROJECT]", "[CONVERSATION]", "[MESSAGE]") 772 .toString()) 773 .setMaxContextSize(-1134084212) 774 .build(); 775 776 GenerateStatelessSummaryResponse actualResponse = client.generateStatelessSummary(request); 777 Assert.assertEquals(expectedResponse, actualResponse); 778 779 List<AbstractMessage> actualRequests = mockConversations.getRequests(); 780 Assert.assertEquals(1, actualRequests.size()); 781 GenerateStatelessSummaryRequest actualRequest = 782 ((GenerateStatelessSummaryRequest) actualRequests.get(0)); 783 784 Assert.assertEquals( 785 request.getStatelessConversation(), actualRequest.getStatelessConversation()); 786 Assert.assertEquals(request.getConversationProfile(), actualRequest.getConversationProfile()); 787 Assert.assertEquals(request.getLatestMessage(), actualRequest.getLatestMessage()); 788 Assert.assertEquals(request.getMaxContextSize(), actualRequest.getMaxContextSize()); 789 Assert.assertTrue( 790 channelProvider.isHeaderSent( 791 ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), 792 GaxGrpcProperties.getDefaultApiClientHeaderPattern())); 793 } 794 795 @Test generateStatelessSummaryExceptionTest()796 public void generateStatelessSummaryExceptionTest() throws Exception { 797 StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); 798 mockConversations.addException(exception); 799 800 try { 801 GenerateStatelessSummaryRequest request = 802 GenerateStatelessSummaryRequest.newBuilder() 803 .setStatelessConversation( 804 GenerateStatelessSummaryRequest.MinimalConversation.newBuilder().build()) 805 .setConversationProfile(ConversationProfile.newBuilder().build()) 806 .setLatestMessage( 807 MessageName.ofProjectConversationMessageName( 808 "[PROJECT]", "[CONVERSATION]", "[MESSAGE]") 809 .toString()) 810 .setMaxContextSize(-1134084212) 811 .build(); 812 client.generateStatelessSummary(request); 813 Assert.fail("No exception raised"); 814 } catch (InvalidArgumentException e) { 815 // Expected exception. 816 } 817 } 818 819 @Test listLocationsTest()820 public void listLocationsTest() throws Exception { 821 Location responsesElement = Location.newBuilder().build(); 822 ListLocationsResponse expectedResponse = 823 ListLocationsResponse.newBuilder() 824 .setNextPageToken("") 825 .addAllLocations(Arrays.asList(responsesElement)) 826 .build(); 827 mockLocations.addResponse(expectedResponse); 828 829 ListLocationsRequest request = 830 ListLocationsRequest.newBuilder() 831 .setName("name3373707") 832 .setFilter("filter-1274492040") 833 .setPageSize(883849137) 834 .setPageToken("pageToken873572522") 835 .build(); 836 837 ListLocationsPagedResponse pagedListResponse = client.listLocations(request); 838 839 List<Location> resources = Lists.newArrayList(pagedListResponse.iterateAll()); 840 841 Assert.assertEquals(1, resources.size()); 842 Assert.assertEquals(expectedResponse.getLocationsList().get(0), resources.get(0)); 843 844 List<AbstractMessage> actualRequests = mockLocations.getRequests(); 845 Assert.assertEquals(1, actualRequests.size()); 846 ListLocationsRequest actualRequest = ((ListLocationsRequest) actualRequests.get(0)); 847 848 Assert.assertEquals(request.getName(), actualRequest.getName()); 849 Assert.assertEquals(request.getFilter(), actualRequest.getFilter()); 850 Assert.assertEquals(request.getPageSize(), actualRequest.getPageSize()); 851 Assert.assertEquals(request.getPageToken(), actualRequest.getPageToken()); 852 Assert.assertTrue( 853 channelProvider.isHeaderSent( 854 ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), 855 GaxGrpcProperties.getDefaultApiClientHeaderPattern())); 856 } 857 858 @Test listLocationsExceptionTest()859 public void listLocationsExceptionTest() throws Exception { 860 StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); 861 mockLocations.addException(exception); 862 863 try { 864 ListLocationsRequest request = 865 ListLocationsRequest.newBuilder() 866 .setName("name3373707") 867 .setFilter("filter-1274492040") 868 .setPageSize(883849137) 869 .setPageToken("pageToken873572522") 870 .build(); 871 client.listLocations(request); 872 Assert.fail("No exception raised"); 873 } catch (InvalidArgumentException e) { 874 // Expected exception. 875 } 876 } 877 878 @Test getLocationTest()879 public void getLocationTest() throws Exception { 880 Location expectedResponse = 881 Location.newBuilder() 882 .setName("name3373707") 883 .setLocationId("locationId1541836720") 884 .setDisplayName("displayName1714148973") 885 .putAllLabels(new HashMap<String, String>()) 886 .setMetadata(Any.newBuilder().build()) 887 .build(); 888 mockLocations.addResponse(expectedResponse); 889 890 GetLocationRequest request = GetLocationRequest.newBuilder().setName("name3373707").build(); 891 892 Location actualResponse = client.getLocation(request); 893 Assert.assertEquals(expectedResponse, actualResponse); 894 895 List<AbstractMessage> actualRequests = mockLocations.getRequests(); 896 Assert.assertEquals(1, actualRequests.size()); 897 GetLocationRequest actualRequest = ((GetLocationRequest) actualRequests.get(0)); 898 899 Assert.assertEquals(request.getName(), actualRequest.getName()); 900 Assert.assertTrue( 901 channelProvider.isHeaderSent( 902 ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), 903 GaxGrpcProperties.getDefaultApiClientHeaderPattern())); 904 } 905 906 @Test getLocationExceptionTest()907 public void getLocationExceptionTest() throws Exception { 908 StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); 909 mockLocations.addException(exception); 910 911 try { 912 GetLocationRequest request = GetLocationRequest.newBuilder().setName("name3373707").build(); 913 client.getLocation(request); 914 Assert.fail("No exception raised"); 915 } catch (InvalidArgumentException e) { 916 // Expected exception. 917 } 918 } 919 } 920