• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright 2022 Google LLC
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      https://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 package com.google.cloud.talent.v4beta1;
18 
19 import static com.google.cloud.talent.v4beta1.CompanyServiceClient.ListCompaniesPagedResponse;
20 
21 import com.google.api.gax.core.NoCredentialsProvider;
22 import com.google.api.gax.httpjson.GaxHttpJsonProperties;
23 import com.google.api.gax.httpjson.testing.MockHttpService;
24 import com.google.api.gax.rpc.ApiClientHeaderProvider;
25 import com.google.api.gax.rpc.ApiException;
26 import com.google.api.gax.rpc.ApiExceptionFactory;
27 import com.google.api.gax.rpc.InvalidArgumentException;
28 import com.google.api.gax.rpc.StatusCode;
29 import com.google.api.gax.rpc.testing.FakeStatusCode;
30 import com.google.cloud.talent.v4beta1.stub.HttpJsonCompanyServiceStub;
31 import com.google.common.collect.Lists;
32 import com.google.protobuf.Empty;
33 import java.io.IOException;
34 import java.util.ArrayList;
35 import java.util.Arrays;
36 import java.util.List;
37 import javax.annotation.Generated;
38 import org.junit.After;
39 import org.junit.AfterClass;
40 import org.junit.Assert;
41 import org.junit.Before;
42 import org.junit.BeforeClass;
43 import org.junit.Test;
44 
45 @Generated("by gapic-generator-java")
46 public class CompanyServiceClientHttpJsonTest {
47   private static MockHttpService mockService;
48   private static CompanyServiceClient client;
49 
50   @BeforeClass
startStaticServer()51   public static void startStaticServer() throws IOException {
52     mockService =
53         new MockHttpService(
54             HttpJsonCompanyServiceStub.getMethodDescriptors(),
55             CompanyServiceSettings.getDefaultEndpoint());
56     CompanyServiceSettings settings =
57         CompanyServiceSettings.newHttpJsonBuilder()
58             .setTransportChannelProvider(
59                 CompanyServiceSettings.defaultHttpJsonTransportProviderBuilder()
60                     .setHttpTransport(mockService)
61                     .build())
62             .setCredentialsProvider(NoCredentialsProvider.create())
63             .build();
64     client = CompanyServiceClient.create(settings);
65   }
66 
67   @AfterClass
stopServer()68   public static void stopServer() {
69     client.close();
70   }
71 
72   @Before
setUp()73   public void setUp() {}
74 
75   @After
tearDown()76   public void tearDown() throws Exception {
77     mockService.reset();
78   }
79 
80   @Test
createCompanyTest()81   public void createCompanyTest() throws Exception {
82     Company expectedResponse =
83         Company.newBuilder()
84             .setName(
85                 CompanyName.ofProjectTenantCompanyName("[PROJECT]", "[TENANT]", "[COMPANY]")
86                     .toString())
87             .setDisplayName("displayName1714148973")
88             .setExternalId("externalId-1699764666")
89             .setSize(CompanySize.forNumber(0))
90             .setHeadquartersAddress("headquartersAddress555829453")
91             .setHiringAgency(true)
92             .setEeoText("eeoText-1854750308")
93             .setWebsiteUri("websiteUri1317135057")
94             .setCareerSiteUri("careerSiteUri2004228935")
95             .setImageUri("imageUri-859610607")
96             .addAllKeywordSearchableJobCustomAttributes(new ArrayList<String>())
97             .setDerivedInfo(Company.DerivedInfo.newBuilder().build())
98             .setSuspended(true)
99             .build();
100     mockService.addResponse(expectedResponse);
101 
102     ProjectName parent = ProjectName.of("[PROJECT]");
103     Company company = Company.newBuilder().build();
104 
105     Company actualResponse = client.createCompany(parent, company);
106     Assert.assertEquals(expectedResponse, actualResponse);
107 
108     List<String> actualRequests = mockService.getRequestPaths();
109     Assert.assertEquals(1, actualRequests.size());
110 
111     String apiClientHeaderKey =
112         mockService
113             .getRequestHeaders()
114             .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
115             .iterator()
116             .next();
117     Assert.assertTrue(
118         GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
119             .matcher(apiClientHeaderKey)
120             .matches());
121   }
122 
123   @Test
createCompanyExceptionTest()124   public void createCompanyExceptionTest() throws Exception {
125     ApiException exception =
126         ApiExceptionFactory.createException(
127             new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
128     mockService.addException(exception);
129 
130     try {
131       ProjectName parent = ProjectName.of("[PROJECT]");
132       Company company = Company.newBuilder().build();
133       client.createCompany(parent, company);
134       Assert.fail("No exception raised");
135     } catch (InvalidArgumentException e) {
136       // Expected exception.
137     }
138   }
139 
140   @Test
createCompanyTest2()141   public void createCompanyTest2() throws Exception {
142     Company expectedResponse =
143         Company.newBuilder()
144             .setName(
145                 CompanyName.ofProjectTenantCompanyName("[PROJECT]", "[TENANT]", "[COMPANY]")
146                     .toString())
147             .setDisplayName("displayName1714148973")
148             .setExternalId("externalId-1699764666")
149             .setSize(CompanySize.forNumber(0))
150             .setHeadquartersAddress("headquartersAddress555829453")
151             .setHiringAgency(true)
152             .setEeoText("eeoText-1854750308")
153             .setWebsiteUri("websiteUri1317135057")
154             .setCareerSiteUri("careerSiteUri2004228935")
155             .setImageUri("imageUri-859610607")
156             .addAllKeywordSearchableJobCustomAttributes(new ArrayList<String>())
157             .setDerivedInfo(Company.DerivedInfo.newBuilder().build())
158             .setSuspended(true)
159             .build();
160     mockService.addResponse(expectedResponse);
161 
162     TenantName parent = TenantName.of("[PROJECT]", "[TENANT]");
163     Company company = Company.newBuilder().build();
164 
165     Company actualResponse = client.createCompany(parent, company);
166     Assert.assertEquals(expectedResponse, actualResponse);
167 
168     List<String> actualRequests = mockService.getRequestPaths();
169     Assert.assertEquals(1, actualRequests.size());
170 
171     String apiClientHeaderKey =
172         mockService
173             .getRequestHeaders()
174             .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
175             .iterator()
176             .next();
177     Assert.assertTrue(
178         GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
179             .matcher(apiClientHeaderKey)
180             .matches());
181   }
182 
183   @Test
createCompanyExceptionTest2()184   public void createCompanyExceptionTest2() throws Exception {
185     ApiException exception =
186         ApiExceptionFactory.createException(
187             new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
188     mockService.addException(exception);
189 
190     try {
191       TenantName parent = TenantName.of("[PROJECT]", "[TENANT]");
192       Company company = Company.newBuilder().build();
193       client.createCompany(parent, company);
194       Assert.fail("No exception raised");
195     } catch (InvalidArgumentException e) {
196       // Expected exception.
197     }
198   }
199 
200   @Test
createCompanyTest3()201   public void createCompanyTest3() throws Exception {
202     Company expectedResponse =
203         Company.newBuilder()
204             .setName(
205                 CompanyName.ofProjectTenantCompanyName("[PROJECT]", "[TENANT]", "[COMPANY]")
206                     .toString())
207             .setDisplayName("displayName1714148973")
208             .setExternalId("externalId-1699764666")
209             .setSize(CompanySize.forNumber(0))
210             .setHeadquartersAddress("headquartersAddress555829453")
211             .setHiringAgency(true)
212             .setEeoText("eeoText-1854750308")
213             .setWebsiteUri("websiteUri1317135057")
214             .setCareerSiteUri("careerSiteUri2004228935")
215             .setImageUri("imageUri-859610607")
216             .addAllKeywordSearchableJobCustomAttributes(new ArrayList<String>())
217             .setDerivedInfo(Company.DerivedInfo.newBuilder().build())
218             .setSuspended(true)
219             .build();
220     mockService.addResponse(expectedResponse);
221 
222     String parent = "projects/project-8940/tenants/tenant-8940";
223     Company company = Company.newBuilder().build();
224 
225     Company actualResponse = client.createCompany(parent, company);
226     Assert.assertEquals(expectedResponse, actualResponse);
227 
228     List<String> actualRequests = mockService.getRequestPaths();
229     Assert.assertEquals(1, actualRequests.size());
230 
231     String apiClientHeaderKey =
232         mockService
233             .getRequestHeaders()
234             .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
235             .iterator()
236             .next();
237     Assert.assertTrue(
238         GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
239             .matcher(apiClientHeaderKey)
240             .matches());
241   }
242 
243   @Test
createCompanyExceptionTest3()244   public void createCompanyExceptionTest3() throws Exception {
245     ApiException exception =
246         ApiExceptionFactory.createException(
247             new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
248     mockService.addException(exception);
249 
250     try {
251       String parent = "projects/project-8940/tenants/tenant-8940";
252       Company company = Company.newBuilder().build();
253       client.createCompany(parent, company);
254       Assert.fail("No exception raised");
255     } catch (InvalidArgumentException e) {
256       // Expected exception.
257     }
258   }
259 
260   @Test
getCompanyTest()261   public void getCompanyTest() throws Exception {
262     Company expectedResponse =
263         Company.newBuilder()
264             .setName(
265                 CompanyName.ofProjectTenantCompanyName("[PROJECT]", "[TENANT]", "[COMPANY]")
266                     .toString())
267             .setDisplayName("displayName1714148973")
268             .setExternalId("externalId-1699764666")
269             .setSize(CompanySize.forNumber(0))
270             .setHeadquartersAddress("headquartersAddress555829453")
271             .setHiringAgency(true)
272             .setEeoText("eeoText-1854750308")
273             .setWebsiteUri("websiteUri1317135057")
274             .setCareerSiteUri("careerSiteUri2004228935")
275             .setImageUri("imageUri-859610607")
276             .addAllKeywordSearchableJobCustomAttributes(new ArrayList<String>())
277             .setDerivedInfo(Company.DerivedInfo.newBuilder().build())
278             .setSuspended(true)
279             .build();
280     mockService.addResponse(expectedResponse);
281 
282     CompanyName name = CompanyName.ofProjectTenantCompanyName("[PROJECT]", "[TENANT]", "[COMPANY]");
283 
284     Company actualResponse = client.getCompany(name);
285     Assert.assertEquals(expectedResponse, actualResponse);
286 
287     List<String> actualRequests = mockService.getRequestPaths();
288     Assert.assertEquals(1, actualRequests.size());
289 
290     String apiClientHeaderKey =
291         mockService
292             .getRequestHeaders()
293             .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
294             .iterator()
295             .next();
296     Assert.assertTrue(
297         GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
298             .matcher(apiClientHeaderKey)
299             .matches());
300   }
301 
302   @Test
getCompanyExceptionTest()303   public void getCompanyExceptionTest() throws Exception {
304     ApiException exception =
305         ApiExceptionFactory.createException(
306             new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
307     mockService.addException(exception);
308 
309     try {
310       CompanyName name =
311           CompanyName.ofProjectTenantCompanyName("[PROJECT]", "[TENANT]", "[COMPANY]");
312       client.getCompany(name);
313       Assert.fail("No exception raised");
314     } catch (InvalidArgumentException e) {
315       // Expected exception.
316     }
317   }
318 
319   @Test
getCompanyTest2()320   public void getCompanyTest2() throws Exception {
321     Company expectedResponse =
322         Company.newBuilder()
323             .setName(
324                 CompanyName.ofProjectTenantCompanyName("[PROJECT]", "[TENANT]", "[COMPANY]")
325                     .toString())
326             .setDisplayName("displayName1714148973")
327             .setExternalId("externalId-1699764666")
328             .setSize(CompanySize.forNumber(0))
329             .setHeadquartersAddress("headquartersAddress555829453")
330             .setHiringAgency(true)
331             .setEeoText("eeoText-1854750308")
332             .setWebsiteUri("websiteUri1317135057")
333             .setCareerSiteUri("careerSiteUri2004228935")
334             .setImageUri("imageUri-859610607")
335             .addAllKeywordSearchableJobCustomAttributes(new ArrayList<String>())
336             .setDerivedInfo(Company.DerivedInfo.newBuilder().build())
337             .setSuspended(true)
338             .build();
339     mockService.addResponse(expectedResponse);
340 
341     String name = "projects/project-7596/tenants/tenant-7596/companies/companie-7596";
342 
343     Company actualResponse = client.getCompany(name);
344     Assert.assertEquals(expectedResponse, actualResponse);
345 
346     List<String> actualRequests = mockService.getRequestPaths();
347     Assert.assertEquals(1, actualRequests.size());
348 
349     String apiClientHeaderKey =
350         mockService
351             .getRequestHeaders()
352             .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
353             .iterator()
354             .next();
355     Assert.assertTrue(
356         GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
357             .matcher(apiClientHeaderKey)
358             .matches());
359   }
360 
361   @Test
getCompanyExceptionTest2()362   public void getCompanyExceptionTest2() throws Exception {
363     ApiException exception =
364         ApiExceptionFactory.createException(
365             new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
366     mockService.addException(exception);
367 
368     try {
369       String name = "projects/project-7596/tenants/tenant-7596/companies/companie-7596";
370       client.getCompany(name);
371       Assert.fail("No exception raised");
372     } catch (InvalidArgumentException e) {
373       // Expected exception.
374     }
375   }
376 
377   @Test
updateCompanyTest()378   public void updateCompanyTest() throws Exception {
379     Company expectedResponse =
380         Company.newBuilder()
381             .setName(
382                 CompanyName.ofProjectTenantCompanyName("[PROJECT]", "[TENANT]", "[COMPANY]")
383                     .toString())
384             .setDisplayName("displayName1714148973")
385             .setExternalId("externalId-1699764666")
386             .setSize(CompanySize.forNumber(0))
387             .setHeadquartersAddress("headquartersAddress555829453")
388             .setHiringAgency(true)
389             .setEeoText("eeoText-1854750308")
390             .setWebsiteUri("websiteUri1317135057")
391             .setCareerSiteUri("careerSiteUri2004228935")
392             .setImageUri("imageUri-859610607")
393             .addAllKeywordSearchableJobCustomAttributes(new ArrayList<String>())
394             .setDerivedInfo(Company.DerivedInfo.newBuilder().build())
395             .setSuspended(true)
396             .build();
397     mockService.addResponse(expectedResponse);
398 
399     Company company =
400         Company.newBuilder()
401             .setName(
402                 CompanyName.ofProjectTenantCompanyName("[PROJECT]", "[TENANT]", "[COMPANY]")
403                     .toString())
404             .setDisplayName("displayName1714148973")
405             .setExternalId("externalId-1699764666")
406             .setSize(CompanySize.forNumber(0))
407             .setHeadquartersAddress("headquartersAddress555829453")
408             .setHiringAgency(true)
409             .setEeoText("eeoText-1854750308")
410             .setWebsiteUri("websiteUri1317135057")
411             .setCareerSiteUri("careerSiteUri2004228935")
412             .setImageUri("imageUri-859610607")
413             .addAllKeywordSearchableJobCustomAttributes(new ArrayList<String>())
414             .setDerivedInfo(Company.DerivedInfo.newBuilder().build())
415             .setSuspended(true)
416             .build();
417 
418     Company actualResponse = client.updateCompany(company);
419     Assert.assertEquals(expectedResponse, actualResponse);
420 
421     List<String> actualRequests = mockService.getRequestPaths();
422     Assert.assertEquals(1, actualRequests.size());
423 
424     String apiClientHeaderKey =
425         mockService
426             .getRequestHeaders()
427             .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
428             .iterator()
429             .next();
430     Assert.assertTrue(
431         GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
432             .matcher(apiClientHeaderKey)
433             .matches());
434   }
435 
436   @Test
updateCompanyExceptionTest()437   public void updateCompanyExceptionTest() throws Exception {
438     ApiException exception =
439         ApiExceptionFactory.createException(
440             new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
441     mockService.addException(exception);
442 
443     try {
444       Company company =
445           Company.newBuilder()
446               .setName(
447                   CompanyName.ofProjectTenantCompanyName("[PROJECT]", "[TENANT]", "[COMPANY]")
448                       .toString())
449               .setDisplayName("displayName1714148973")
450               .setExternalId("externalId-1699764666")
451               .setSize(CompanySize.forNumber(0))
452               .setHeadquartersAddress("headquartersAddress555829453")
453               .setHiringAgency(true)
454               .setEeoText("eeoText-1854750308")
455               .setWebsiteUri("websiteUri1317135057")
456               .setCareerSiteUri("careerSiteUri2004228935")
457               .setImageUri("imageUri-859610607")
458               .addAllKeywordSearchableJobCustomAttributes(new ArrayList<String>())
459               .setDerivedInfo(Company.DerivedInfo.newBuilder().build())
460               .setSuspended(true)
461               .build();
462       client.updateCompany(company);
463       Assert.fail("No exception raised");
464     } catch (InvalidArgumentException e) {
465       // Expected exception.
466     }
467   }
468 
469   @Test
deleteCompanyTest()470   public void deleteCompanyTest() throws Exception {
471     Empty expectedResponse = Empty.newBuilder().build();
472     mockService.addResponse(expectedResponse);
473 
474     CompanyName name = CompanyName.ofProjectTenantCompanyName("[PROJECT]", "[TENANT]", "[COMPANY]");
475 
476     client.deleteCompany(name);
477 
478     List<String> actualRequests = mockService.getRequestPaths();
479     Assert.assertEquals(1, actualRequests.size());
480 
481     String apiClientHeaderKey =
482         mockService
483             .getRequestHeaders()
484             .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
485             .iterator()
486             .next();
487     Assert.assertTrue(
488         GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
489             .matcher(apiClientHeaderKey)
490             .matches());
491   }
492 
493   @Test
deleteCompanyExceptionTest()494   public void deleteCompanyExceptionTest() throws Exception {
495     ApiException exception =
496         ApiExceptionFactory.createException(
497             new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
498     mockService.addException(exception);
499 
500     try {
501       CompanyName name =
502           CompanyName.ofProjectTenantCompanyName("[PROJECT]", "[TENANT]", "[COMPANY]");
503       client.deleteCompany(name);
504       Assert.fail("No exception raised");
505     } catch (InvalidArgumentException e) {
506       // Expected exception.
507     }
508   }
509 
510   @Test
deleteCompanyTest2()511   public void deleteCompanyTest2() throws Exception {
512     Empty expectedResponse = Empty.newBuilder().build();
513     mockService.addResponse(expectedResponse);
514 
515     String name = "projects/project-7596/tenants/tenant-7596/companies/companie-7596";
516 
517     client.deleteCompany(name);
518 
519     List<String> actualRequests = mockService.getRequestPaths();
520     Assert.assertEquals(1, actualRequests.size());
521 
522     String apiClientHeaderKey =
523         mockService
524             .getRequestHeaders()
525             .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
526             .iterator()
527             .next();
528     Assert.assertTrue(
529         GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
530             .matcher(apiClientHeaderKey)
531             .matches());
532   }
533 
534   @Test
deleteCompanyExceptionTest2()535   public void deleteCompanyExceptionTest2() throws Exception {
536     ApiException exception =
537         ApiExceptionFactory.createException(
538             new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
539     mockService.addException(exception);
540 
541     try {
542       String name = "projects/project-7596/tenants/tenant-7596/companies/companie-7596";
543       client.deleteCompany(name);
544       Assert.fail("No exception raised");
545     } catch (InvalidArgumentException e) {
546       // Expected exception.
547     }
548   }
549 
550   @Test
listCompaniesTest()551   public void listCompaniesTest() throws Exception {
552     Company responsesElement = Company.newBuilder().build();
553     ListCompaniesResponse expectedResponse =
554         ListCompaniesResponse.newBuilder()
555             .setNextPageToken("")
556             .addAllCompanies(Arrays.asList(responsesElement))
557             .build();
558     mockService.addResponse(expectedResponse);
559 
560     ProjectName parent = ProjectName.of("[PROJECT]");
561 
562     ListCompaniesPagedResponse pagedListResponse = client.listCompanies(parent);
563 
564     List<Company> resources = Lists.newArrayList(pagedListResponse.iterateAll());
565 
566     Assert.assertEquals(1, resources.size());
567     Assert.assertEquals(expectedResponse.getCompaniesList().get(0), resources.get(0));
568 
569     List<String> actualRequests = mockService.getRequestPaths();
570     Assert.assertEquals(1, actualRequests.size());
571 
572     String apiClientHeaderKey =
573         mockService
574             .getRequestHeaders()
575             .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
576             .iterator()
577             .next();
578     Assert.assertTrue(
579         GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
580             .matcher(apiClientHeaderKey)
581             .matches());
582   }
583 
584   @Test
listCompaniesExceptionTest()585   public void listCompaniesExceptionTest() throws Exception {
586     ApiException exception =
587         ApiExceptionFactory.createException(
588             new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
589     mockService.addException(exception);
590 
591     try {
592       ProjectName parent = ProjectName.of("[PROJECT]");
593       client.listCompanies(parent);
594       Assert.fail("No exception raised");
595     } catch (InvalidArgumentException e) {
596       // Expected exception.
597     }
598   }
599 
600   @Test
listCompaniesTest2()601   public void listCompaniesTest2() throws Exception {
602     Company responsesElement = Company.newBuilder().build();
603     ListCompaniesResponse expectedResponse =
604         ListCompaniesResponse.newBuilder()
605             .setNextPageToken("")
606             .addAllCompanies(Arrays.asList(responsesElement))
607             .build();
608     mockService.addResponse(expectedResponse);
609 
610     TenantName parent = TenantName.of("[PROJECT]", "[TENANT]");
611 
612     ListCompaniesPagedResponse pagedListResponse = client.listCompanies(parent);
613 
614     List<Company> resources = Lists.newArrayList(pagedListResponse.iterateAll());
615 
616     Assert.assertEquals(1, resources.size());
617     Assert.assertEquals(expectedResponse.getCompaniesList().get(0), resources.get(0));
618 
619     List<String> actualRequests = mockService.getRequestPaths();
620     Assert.assertEquals(1, actualRequests.size());
621 
622     String apiClientHeaderKey =
623         mockService
624             .getRequestHeaders()
625             .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
626             .iterator()
627             .next();
628     Assert.assertTrue(
629         GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
630             .matcher(apiClientHeaderKey)
631             .matches());
632   }
633 
634   @Test
listCompaniesExceptionTest2()635   public void listCompaniesExceptionTest2() throws Exception {
636     ApiException exception =
637         ApiExceptionFactory.createException(
638             new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
639     mockService.addException(exception);
640 
641     try {
642       TenantName parent = TenantName.of("[PROJECT]", "[TENANT]");
643       client.listCompanies(parent);
644       Assert.fail("No exception raised");
645     } catch (InvalidArgumentException e) {
646       // Expected exception.
647     }
648   }
649 
650   @Test
listCompaniesTest3()651   public void listCompaniesTest3() throws Exception {
652     Company responsesElement = Company.newBuilder().build();
653     ListCompaniesResponse expectedResponse =
654         ListCompaniesResponse.newBuilder()
655             .setNextPageToken("")
656             .addAllCompanies(Arrays.asList(responsesElement))
657             .build();
658     mockService.addResponse(expectedResponse);
659 
660     String parent = "projects/project-8940/tenants/tenant-8940";
661 
662     ListCompaniesPagedResponse pagedListResponse = client.listCompanies(parent);
663 
664     List<Company> resources = Lists.newArrayList(pagedListResponse.iterateAll());
665 
666     Assert.assertEquals(1, resources.size());
667     Assert.assertEquals(expectedResponse.getCompaniesList().get(0), resources.get(0));
668 
669     List<String> actualRequests = mockService.getRequestPaths();
670     Assert.assertEquals(1, actualRequests.size());
671 
672     String apiClientHeaderKey =
673         mockService
674             .getRequestHeaders()
675             .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
676             .iterator()
677             .next();
678     Assert.assertTrue(
679         GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
680             .matcher(apiClientHeaderKey)
681             .matches());
682   }
683 
684   @Test
listCompaniesExceptionTest3()685   public void listCompaniesExceptionTest3() throws Exception {
686     ApiException exception =
687         ApiExceptionFactory.createException(
688             new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
689     mockService.addException(exception);
690 
691     try {
692       String parent = "projects/project-8940/tenants/tenant-8940";
693       client.listCompanies(parent);
694       Assert.fail("No exception raised");
695     } catch (InvalidArgumentException e) {
696       // Expected exception.
697     }
698   }
699 }
700