1 /* 2 * Copyright 2022 Google LLC 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * https://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 package com.google.cloud.talent.v4; 18 19 import static com.google.cloud.talent.v4.CompanyServiceClient.ListCompaniesPagedResponse; 20 21 import com.google.api.gax.core.NoCredentialsProvider; 22 import com.google.api.gax.grpc.GaxGrpcProperties; 23 import com.google.api.gax.grpc.testing.LocalChannelProvider; 24 import com.google.api.gax.grpc.testing.MockGrpcService; 25 import com.google.api.gax.grpc.testing.MockServiceHelper; 26 import com.google.api.gax.rpc.ApiClientHeaderProvider; 27 import com.google.api.gax.rpc.InvalidArgumentException; 28 import com.google.common.collect.Lists; 29 import com.google.protobuf.AbstractMessage; 30 import com.google.protobuf.Empty; 31 import com.google.protobuf.FieldMask; 32 import io.grpc.StatusRuntimeException; 33 import java.io.IOException; 34 import java.util.ArrayList; 35 import java.util.Arrays; 36 import java.util.List; 37 import java.util.UUID; 38 import javax.annotation.Generated; 39 import org.junit.After; 40 import org.junit.AfterClass; 41 import org.junit.Assert; 42 import org.junit.Before; 43 import org.junit.BeforeClass; 44 import org.junit.Test; 45 46 @Generated("by gapic-generator-java") 47 public class CompanyServiceClientTest { 48 private static MockCompanyService mockCompanyService; 49 private static MockServiceHelper mockServiceHelper; 50 private LocalChannelProvider channelProvider; 51 private CompanyServiceClient client; 52 53 @BeforeClass startStaticServer()54 public static void startStaticServer() { 55 mockCompanyService = new MockCompanyService(); 56 mockServiceHelper = 57 new MockServiceHelper( 58 UUID.randomUUID().toString(), Arrays.<MockGrpcService>asList(mockCompanyService)); 59 mockServiceHelper.start(); 60 } 61 62 @AfterClass stopServer()63 public static void stopServer() { 64 mockServiceHelper.stop(); 65 } 66 67 @Before setUp()68 public void setUp() throws IOException { 69 mockServiceHelper.reset(); 70 channelProvider = mockServiceHelper.createChannelProvider(); 71 CompanyServiceSettings settings = 72 CompanyServiceSettings.newBuilder() 73 .setTransportChannelProvider(channelProvider) 74 .setCredentialsProvider(NoCredentialsProvider.create()) 75 .build(); 76 client = CompanyServiceClient.create(settings); 77 } 78 79 @After tearDown()80 public void tearDown() throws Exception { 81 client.close(); 82 } 83 84 @Test createCompanyTest()85 public void createCompanyTest() throws Exception { 86 Company expectedResponse = 87 Company.newBuilder() 88 .setName(CompanyName.of("[PROJECT]", "[TENANT]", "[COMPANY]").toString()) 89 .setDisplayName("displayName1714148973") 90 .setExternalId("externalId-1699764666") 91 .setSize(CompanySize.forNumber(0)) 92 .setHeadquartersAddress("headquartersAddress555829453") 93 .setHiringAgency(true) 94 .setEeoText("eeoText-1854750308") 95 .setWebsiteUri("websiteUri1317135057") 96 .setCareerSiteUri("careerSiteUri2004228935") 97 .setImageUri("imageUri-859610607") 98 .addAllKeywordSearchableJobCustomAttributes(new ArrayList<String>()) 99 .setDerivedInfo(Company.DerivedInfo.newBuilder().build()) 100 .setSuspended(true) 101 .build(); 102 mockCompanyService.addResponse(expectedResponse); 103 104 TenantName parent = TenantName.of("[PROJECT]", "[TENANT]"); 105 Company company = Company.newBuilder().build(); 106 107 Company actualResponse = client.createCompany(parent, company); 108 Assert.assertEquals(expectedResponse, actualResponse); 109 110 List<AbstractMessage> actualRequests = mockCompanyService.getRequests(); 111 Assert.assertEquals(1, actualRequests.size()); 112 CreateCompanyRequest actualRequest = ((CreateCompanyRequest) actualRequests.get(0)); 113 114 Assert.assertEquals(parent.toString(), actualRequest.getParent()); 115 Assert.assertEquals(company, actualRequest.getCompany()); 116 Assert.assertTrue( 117 channelProvider.isHeaderSent( 118 ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), 119 GaxGrpcProperties.getDefaultApiClientHeaderPattern())); 120 } 121 122 @Test createCompanyExceptionTest()123 public void createCompanyExceptionTest() throws Exception { 124 StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); 125 mockCompanyService.addException(exception); 126 127 try { 128 TenantName parent = TenantName.of("[PROJECT]", "[TENANT]"); 129 Company company = Company.newBuilder().build(); 130 client.createCompany(parent, company); 131 Assert.fail("No exception raised"); 132 } catch (InvalidArgumentException e) { 133 // Expected exception. 134 } 135 } 136 137 @Test createCompanyTest2()138 public void createCompanyTest2() throws Exception { 139 Company expectedResponse = 140 Company.newBuilder() 141 .setName(CompanyName.of("[PROJECT]", "[TENANT]", "[COMPANY]").toString()) 142 .setDisplayName("displayName1714148973") 143 .setExternalId("externalId-1699764666") 144 .setSize(CompanySize.forNumber(0)) 145 .setHeadquartersAddress("headquartersAddress555829453") 146 .setHiringAgency(true) 147 .setEeoText("eeoText-1854750308") 148 .setWebsiteUri("websiteUri1317135057") 149 .setCareerSiteUri("careerSiteUri2004228935") 150 .setImageUri("imageUri-859610607") 151 .addAllKeywordSearchableJobCustomAttributes(new ArrayList<String>()) 152 .setDerivedInfo(Company.DerivedInfo.newBuilder().build()) 153 .setSuspended(true) 154 .build(); 155 mockCompanyService.addResponse(expectedResponse); 156 157 String parent = "parent-995424086"; 158 Company company = Company.newBuilder().build(); 159 160 Company actualResponse = client.createCompany(parent, company); 161 Assert.assertEquals(expectedResponse, actualResponse); 162 163 List<AbstractMessage> actualRequests = mockCompanyService.getRequests(); 164 Assert.assertEquals(1, actualRequests.size()); 165 CreateCompanyRequest actualRequest = ((CreateCompanyRequest) actualRequests.get(0)); 166 167 Assert.assertEquals(parent, actualRequest.getParent()); 168 Assert.assertEquals(company, actualRequest.getCompany()); 169 Assert.assertTrue( 170 channelProvider.isHeaderSent( 171 ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), 172 GaxGrpcProperties.getDefaultApiClientHeaderPattern())); 173 } 174 175 @Test createCompanyExceptionTest2()176 public void createCompanyExceptionTest2() throws Exception { 177 StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); 178 mockCompanyService.addException(exception); 179 180 try { 181 String parent = "parent-995424086"; 182 Company company = Company.newBuilder().build(); 183 client.createCompany(parent, company); 184 Assert.fail("No exception raised"); 185 } catch (InvalidArgumentException e) { 186 // Expected exception. 187 } 188 } 189 190 @Test getCompanyTest()191 public void getCompanyTest() throws Exception { 192 Company expectedResponse = 193 Company.newBuilder() 194 .setName(CompanyName.of("[PROJECT]", "[TENANT]", "[COMPANY]").toString()) 195 .setDisplayName("displayName1714148973") 196 .setExternalId("externalId-1699764666") 197 .setSize(CompanySize.forNumber(0)) 198 .setHeadquartersAddress("headquartersAddress555829453") 199 .setHiringAgency(true) 200 .setEeoText("eeoText-1854750308") 201 .setWebsiteUri("websiteUri1317135057") 202 .setCareerSiteUri("careerSiteUri2004228935") 203 .setImageUri("imageUri-859610607") 204 .addAllKeywordSearchableJobCustomAttributes(new ArrayList<String>()) 205 .setDerivedInfo(Company.DerivedInfo.newBuilder().build()) 206 .setSuspended(true) 207 .build(); 208 mockCompanyService.addResponse(expectedResponse); 209 210 CompanyName name = CompanyName.of("[PROJECT]", "[TENANT]", "[COMPANY]"); 211 212 Company actualResponse = client.getCompany(name); 213 Assert.assertEquals(expectedResponse, actualResponse); 214 215 List<AbstractMessage> actualRequests = mockCompanyService.getRequests(); 216 Assert.assertEquals(1, actualRequests.size()); 217 GetCompanyRequest actualRequest = ((GetCompanyRequest) actualRequests.get(0)); 218 219 Assert.assertEquals(name.toString(), actualRequest.getName()); 220 Assert.assertTrue( 221 channelProvider.isHeaderSent( 222 ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), 223 GaxGrpcProperties.getDefaultApiClientHeaderPattern())); 224 } 225 226 @Test getCompanyExceptionTest()227 public void getCompanyExceptionTest() throws Exception { 228 StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); 229 mockCompanyService.addException(exception); 230 231 try { 232 CompanyName name = CompanyName.of("[PROJECT]", "[TENANT]", "[COMPANY]"); 233 client.getCompany(name); 234 Assert.fail("No exception raised"); 235 } catch (InvalidArgumentException e) { 236 // Expected exception. 237 } 238 } 239 240 @Test getCompanyTest2()241 public void getCompanyTest2() throws Exception { 242 Company expectedResponse = 243 Company.newBuilder() 244 .setName(CompanyName.of("[PROJECT]", "[TENANT]", "[COMPANY]").toString()) 245 .setDisplayName("displayName1714148973") 246 .setExternalId("externalId-1699764666") 247 .setSize(CompanySize.forNumber(0)) 248 .setHeadquartersAddress("headquartersAddress555829453") 249 .setHiringAgency(true) 250 .setEeoText("eeoText-1854750308") 251 .setWebsiteUri("websiteUri1317135057") 252 .setCareerSiteUri("careerSiteUri2004228935") 253 .setImageUri("imageUri-859610607") 254 .addAllKeywordSearchableJobCustomAttributes(new ArrayList<String>()) 255 .setDerivedInfo(Company.DerivedInfo.newBuilder().build()) 256 .setSuspended(true) 257 .build(); 258 mockCompanyService.addResponse(expectedResponse); 259 260 String name = "name3373707"; 261 262 Company actualResponse = client.getCompany(name); 263 Assert.assertEquals(expectedResponse, actualResponse); 264 265 List<AbstractMessage> actualRequests = mockCompanyService.getRequests(); 266 Assert.assertEquals(1, actualRequests.size()); 267 GetCompanyRequest actualRequest = ((GetCompanyRequest) actualRequests.get(0)); 268 269 Assert.assertEquals(name, actualRequest.getName()); 270 Assert.assertTrue( 271 channelProvider.isHeaderSent( 272 ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), 273 GaxGrpcProperties.getDefaultApiClientHeaderPattern())); 274 } 275 276 @Test getCompanyExceptionTest2()277 public void getCompanyExceptionTest2() throws Exception { 278 StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); 279 mockCompanyService.addException(exception); 280 281 try { 282 String name = "name3373707"; 283 client.getCompany(name); 284 Assert.fail("No exception raised"); 285 } catch (InvalidArgumentException e) { 286 // Expected exception. 287 } 288 } 289 290 @Test updateCompanyTest()291 public void updateCompanyTest() throws Exception { 292 Company expectedResponse = 293 Company.newBuilder() 294 .setName(CompanyName.of("[PROJECT]", "[TENANT]", "[COMPANY]").toString()) 295 .setDisplayName("displayName1714148973") 296 .setExternalId("externalId-1699764666") 297 .setSize(CompanySize.forNumber(0)) 298 .setHeadquartersAddress("headquartersAddress555829453") 299 .setHiringAgency(true) 300 .setEeoText("eeoText-1854750308") 301 .setWebsiteUri("websiteUri1317135057") 302 .setCareerSiteUri("careerSiteUri2004228935") 303 .setImageUri("imageUri-859610607") 304 .addAllKeywordSearchableJobCustomAttributes(new ArrayList<String>()) 305 .setDerivedInfo(Company.DerivedInfo.newBuilder().build()) 306 .setSuspended(true) 307 .build(); 308 mockCompanyService.addResponse(expectedResponse); 309 310 Company company = Company.newBuilder().build(); 311 FieldMask updateMask = FieldMask.newBuilder().build(); 312 313 Company actualResponse = client.updateCompany(company, updateMask); 314 Assert.assertEquals(expectedResponse, actualResponse); 315 316 List<AbstractMessage> actualRequests = mockCompanyService.getRequests(); 317 Assert.assertEquals(1, actualRequests.size()); 318 UpdateCompanyRequest actualRequest = ((UpdateCompanyRequest) actualRequests.get(0)); 319 320 Assert.assertEquals(company, actualRequest.getCompany()); 321 Assert.assertEquals(updateMask, actualRequest.getUpdateMask()); 322 Assert.assertTrue( 323 channelProvider.isHeaderSent( 324 ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), 325 GaxGrpcProperties.getDefaultApiClientHeaderPattern())); 326 } 327 328 @Test updateCompanyExceptionTest()329 public void updateCompanyExceptionTest() throws Exception { 330 StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); 331 mockCompanyService.addException(exception); 332 333 try { 334 Company company = Company.newBuilder().build(); 335 FieldMask updateMask = FieldMask.newBuilder().build(); 336 client.updateCompany(company, updateMask); 337 Assert.fail("No exception raised"); 338 } catch (InvalidArgumentException e) { 339 // Expected exception. 340 } 341 } 342 343 @Test deleteCompanyTest()344 public void deleteCompanyTest() throws Exception { 345 Empty expectedResponse = Empty.newBuilder().build(); 346 mockCompanyService.addResponse(expectedResponse); 347 348 CompanyName name = CompanyName.of("[PROJECT]", "[TENANT]", "[COMPANY]"); 349 350 client.deleteCompany(name); 351 352 List<AbstractMessage> actualRequests = mockCompanyService.getRequests(); 353 Assert.assertEquals(1, actualRequests.size()); 354 DeleteCompanyRequest actualRequest = ((DeleteCompanyRequest) actualRequests.get(0)); 355 356 Assert.assertEquals(name.toString(), actualRequest.getName()); 357 Assert.assertTrue( 358 channelProvider.isHeaderSent( 359 ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), 360 GaxGrpcProperties.getDefaultApiClientHeaderPattern())); 361 } 362 363 @Test deleteCompanyExceptionTest()364 public void deleteCompanyExceptionTest() throws Exception { 365 StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); 366 mockCompanyService.addException(exception); 367 368 try { 369 CompanyName name = CompanyName.of("[PROJECT]", "[TENANT]", "[COMPANY]"); 370 client.deleteCompany(name); 371 Assert.fail("No exception raised"); 372 } catch (InvalidArgumentException e) { 373 // Expected exception. 374 } 375 } 376 377 @Test deleteCompanyTest2()378 public void deleteCompanyTest2() throws Exception { 379 Empty expectedResponse = Empty.newBuilder().build(); 380 mockCompanyService.addResponse(expectedResponse); 381 382 String name = "name3373707"; 383 384 client.deleteCompany(name); 385 386 List<AbstractMessage> actualRequests = mockCompanyService.getRequests(); 387 Assert.assertEquals(1, actualRequests.size()); 388 DeleteCompanyRequest actualRequest = ((DeleteCompanyRequest) actualRequests.get(0)); 389 390 Assert.assertEquals(name, actualRequest.getName()); 391 Assert.assertTrue( 392 channelProvider.isHeaderSent( 393 ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), 394 GaxGrpcProperties.getDefaultApiClientHeaderPattern())); 395 } 396 397 @Test deleteCompanyExceptionTest2()398 public void deleteCompanyExceptionTest2() throws Exception { 399 StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); 400 mockCompanyService.addException(exception); 401 402 try { 403 String name = "name3373707"; 404 client.deleteCompany(name); 405 Assert.fail("No exception raised"); 406 } catch (InvalidArgumentException e) { 407 // Expected exception. 408 } 409 } 410 411 @Test listCompaniesTest()412 public void listCompaniesTest() throws Exception { 413 Company responsesElement = Company.newBuilder().build(); 414 ListCompaniesResponse expectedResponse = 415 ListCompaniesResponse.newBuilder() 416 .setNextPageToken("") 417 .addAllCompanies(Arrays.asList(responsesElement)) 418 .build(); 419 mockCompanyService.addResponse(expectedResponse); 420 421 TenantName parent = TenantName.of("[PROJECT]", "[TENANT]"); 422 423 ListCompaniesPagedResponse pagedListResponse = client.listCompanies(parent); 424 425 List<Company> resources = Lists.newArrayList(pagedListResponse.iterateAll()); 426 427 Assert.assertEquals(1, resources.size()); 428 Assert.assertEquals(expectedResponse.getCompaniesList().get(0), resources.get(0)); 429 430 List<AbstractMessage> actualRequests = mockCompanyService.getRequests(); 431 Assert.assertEquals(1, actualRequests.size()); 432 ListCompaniesRequest actualRequest = ((ListCompaniesRequest) actualRequests.get(0)); 433 434 Assert.assertEquals(parent.toString(), actualRequest.getParent()); 435 Assert.assertTrue( 436 channelProvider.isHeaderSent( 437 ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), 438 GaxGrpcProperties.getDefaultApiClientHeaderPattern())); 439 } 440 441 @Test listCompaniesExceptionTest()442 public void listCompaniesExceptionTest() throws Exception { 443 StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); 444 mockCompanyService.addException(exception); 445 446 try { 447 TenantName parent = TenantName.of("[PROJECT]", "[TENANT]"); 448 client.listCompanies(parent); 449 Assert.fail("No exception raised"); 450 } catch (InvalidArgumentException e) { 451 // Expected exception. 452 } 453 } 454 455 @Test listCompaniesTest2()456 public void listCompaniesTest2() throws Exception { 457 Company responsesElement = Company.newBuilder().build(); 458 ListCompaniesResponse expectedResponse = 459 ListCompaniesResponse.newBuilder() 460 .setNextPageToken("") 461 .addAllCompanies(Arrays.asList(responsesElement)) 462 .build(); 463 mockCompanyService.addResponse(expectedResponse); 464 465 String parent = "parent-995424086"; 466 467 ListCompaniesPagedResponse pagedListResponse = client.listCompanies(parent); 468 469 List<Company> resources = Lists.newArrayList(pagedListResponse.iterateAll()); 470 471 Assert.assertEquals(1, resources.size()); 472 Assert.assertEquals(expectedResponse.getCompaniesList().get(0), resources.get(0)); 473 474 List<AbstractMessage> actualRequests = mockCompanyService.getRequests(); 475 Assert.assertEquals(1, actualRequests.size()); 476 ListCompaniesRequest actualRequest = ((ListCompaniesRequest) actualRequests.get(0)); 477 478 Assert.assertEquals(parent, actualRequest.getParent()); 479 Assert.assertTrue( 480 channelProvider.isHeaderSent( 481 ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), 482 GaxGrpcProperties.getDefaultApiClientHeaderPattern())); 483 } 484 485 @Test listCompaniesExceptionTest2()486 public void listCompaniesExceptionTest2() throws Exception { 487 StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); 488 mockCompanyService.addException(exception); 489 490 try { 491 String parent = "parent-995424086"; 492 client.listCompanies(parent); 493 Assert.fail("No exception raised"); 494 } catch (InvalidArgumentException e) { 495 // Expected exception. 496 } 497 } 498 } 499