• 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.vision.v1;
18 
19 import static com.google.cloud.vision.v1.ProductSearchClient.ListProductSetsPagedResponse;
20 import static com.google.cloud.vision.v1.ProductSearchClient.ListProductsInProductSetPagedResponse;
21 import static com.google.cloud.vision.v1.ProductSearchClient.ListProductsPagedResponse;
22 import static com.google.cloud.vision.v1.ProductSearchClient.ListReferenceImagesPagedResponse;
23 
24 import com.google.api.gax.core.NoCredentialsProvider;
25 import com.google.api.gax.grpc.GaxGrpcProperties;
26 import com.google.api.gax.grpc.testing.LocalChannelProvider;
27 import com.google.api.gax.grpc.testing.MockGrpcService;
28 import com.google.api.gax.grpc.testing.MockServiceHelper;
29 import com.google.api.gax.rpc.ApiClientHeaderProvider;
30 import com.google.api.gax.rpc.InvalidArgumentException;
31 import com.google.api.gax.rpc.StatusCode;
32 import com.google.common.collect.Lists;
33 import com.google.longrunning.Operation;
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 com.google.protobuf.Timestamp;
39 import com.google.rpc.Status;
40 import io.grpc.StatusRuntimeException;
41 import java.io.IOException;
42 import java.util.ArrayList;
43 import java.util.Arrays;
44 import java.util.List;
45 import java.util.UUID;
46 import java.util.concurrent.ExecutionException;
47 import javax.annotation.Generated;
48 import org.junit.After;
49 import org.junit.AfterClass;
50 import org.junit.Assert;
51 import org.junit.Before;
52 import org.junit.BeforeClass;
53 import org.junit.Test;
54 
55 @Generated("by gapic-generator-java")
56 public class ProductSearchClientTest {
57   private static MockProductSearch mockProductSearch;
58   private static MockServiceHelper mockServiceHelper;
59   private LocalChannelProvider channelProvider;
60   private ProductSearchClient client;
61 
62   @BeforeClass
startStaticServer()63   public static void startStaticServer() {
64     mockProductSearch = new MockProductSearch();
65     mockServiceHelper =
66         new MockServiceHelper(
67             UUID.randomUUID().toString(), Arrays.<MockGrpcService>asList(mockProductSearch));
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     ProductSearchSettings settings =
81         ProductSearchSettings.newBuilder()
82             .setTransportChannelProvider(channelProvider)
83             .setCredentialsProvider(NoCredentialsProvider.create())
84             .build();
85     client = ProductSearchClient.create(settings);
86   }
87 
88   @After
tearDown()89   public void tearDown() throws Exception {
90     client.close();
91   }
92 
93   @Test
createProductSetTest()94   public void createProductSetTest() throws Exception {
95     ProductSet expectedResponse =
96         ProductSet.newBuilder()
97             .setName(ProductSetName.of("[PROJECT]", "[LOCATION]", "[PRODUCT_SET]").toString())
98             .setDisplayName("displayName1714148973")
99             .setIndexTime(Timestamp.newBuilder().build())
100             .setIndexError(Status.newBuilder().build())
101             .build();
102     mockProductSearch.addResponse(expectedResponse);
103 
104     LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
105     ProductSet productSet = ProductSet.newBuilder().build();
106     String productSetId = "productSetId1003042158";
107 
108     ProductSet actualResponse = client.createProductSet(parent, productSet, productSetId);
109     Assert.assertEquals(expectedResponse, actualResponse);
110 
111     List<AbstractMessage> actualRequests = mockProductSearch.getRequests();
112     Assert.assertEquals(1, actualRequests.size());
113     CreateProductSetRequest actualRequest = ((CreateProductSetRequest) actualRequests.get(0));
114 
115     Assert.assertEquals(parent.toString(), actualRequest.getParent());
116     Assert.assertEquals(productSet, actualRequest.getProductSet());
117     Assert.assertEquals(productSetId, actualRequest.getProductSetId());
118     Assert.assertTrue(
119         channelProvider.isHeaderSent(
120             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
121             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
122   }
123 
124   @Test
createProductSetExceptionTest()125   public void createProductSetExceptionTest() throws Exception {
126     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
127     mockProductSearch.addException(exception);
128 
129     try {
130       LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
131       ProductSet productSet = ProductSet.newBuilder().build();
132       String productSetId = "productSetId1003042158";
133       client.createProductSet(parent, productSet, productSetId);
134       Assert.fail("No exception raised");
135     } catch (InvalidArgumentException e) {
136       // Expected exception.
137     }
138   }
139 
140   @Test
createProductSetTest2()141   public void createProductSetTest2() throws Exception {
142     ProductSet expectedResponse =
143         ProductSet.newBuilder()
144             .setName(ProductSetName.of("[PROJECT]", "[LOCATION]", "[PRODUCT_SET]").toString())
145             .setDisplayName("displayName1714148973")
146             .setIndexTime(Timestamp.newBuilder().build())
147             .setIndexError(Status.newBuilder().build())
148             .build();
149     mockProductSearch.addResponse(expectedResponse);
150 
151     String parent = "parent-995424086";
152     ProductSet productSet = ProductSet.newBuilder().build();
153     String productSetId = "productSetId1003042158";
154 
155     ProductSet actualResponse = client.createProductSet(parent, productSet, productSetId);
156     Assert.assertEquals(expectedResponse, actualResponse);
157 
158     List<AbstractMessage> actualRequests = mockProductSearch.getRequests();
159     Assert.assertEquals(1, actualRequests.size());
160     CreateProductSetRequest actualRequest = ((CreateProductSetRequest) actualRequests.get(0));
161 
162     Assert.assertEquals(parent, actualRequest.getParent());
163     Assert.assertEquals(productSet, actualRequest.getProductSet());
164     Assert.assertEquals(productSetId, actualRequest.getProductSetId());
165     Assert.assertTrue(
166         channelProvider.isHeaderSent(
167             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
168             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
169   }
170 
171   @Test
createProductSetExceptionTest2()172   public void createProductSetExceptionTest2() throws Exception {
173     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
174     mockProductSearch.addException(exception);
175 
176     try {
177       String parent = "parent-995424086";
178       ProductSet productSet = ProductSet.newBuilder().build();
179       String productSetId = "productSetId1003042158";
180       client.createProductSet(parent, productSet, productSetId);
181       Assert.fail("No exception raised");
182     } catch (InvalidArgumentException e) {
183       // Expected exception.
184     }
185   }
186 
187   @Test
listProductSetsTest()188   public void listProductSetsTest() throws Exception {
189     ProductSet responsesElement = ProductSet.newBuilder().build();
190     ListProductSetsResponse expectedResponse =
191         ListProductSetsResponse.newBuilder()
192             .setNextPageToken("")
193             .addAllProductSets(Arrays.asList(responsesElement))
194             .build();
195     mockProductSearch.addResponse(expectedResponse);
196 
197     LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
198 
199     ListProductSetsPagedResponse pagedListResponse = client.listProductSets(parent);
200 
201     List<ProductSet> resources = Lists.newArrayList(pagedListResponse.iterateAll());
202 
203     Assert.assertEquals(1, resources.size());
204     Assert.assertEquals(expectedResponse.getProductSetsList().get(0), resources.get(0));
205 
206     List<AbstractMessage> actualRequests = mockProductSearch.getRequests();
207     Assert.assertEquals(1, actualRequests.size());
208     ListProductSetsRequest actualRequest = ((ListProductSetsRequest) actualRequests.get(0));
209 
210     Assert.assertEquals(parent.toString(), actualRequest.getParent());
211     Assert.assertTrue(
212         channelProvider.isHeaderSent(
213             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
214             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
215   }
216 
217   @Test
listProductSetsExceptionTest()218   public void listProductSetsExceptionTest() throws Exception {
219     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
220     mockProductSearch.addException(exception);
221 
222     try {
223       LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
224       client.listProductSets(parent);
225       Assert.fail("No exception raised");
226     } catch (InvalidArgumentException e) {
227       // Expected exception.
228     }
229   }
230 
231   @Test
listProductSetsTest2()232   public void listProductSetsTest2() throws Exception {
233     ProductSet responsesElement = ProductSet.newBuilder().build();
234     ListProductSetsResponse expectedResponse =
235         ListProductSetsResponse.newBuilder()
236             .setNextPageToken("")
237             .addAllProductSets(Arrays.asList(responsesElement))
238             .build();
239     mockProductSearch.addResponse(expectedResponse);
240 
241     String parent = "parent-995424086";
242 
243     ListProductSetsPagedResponse pagedListResponse = client.listProductSets(parent);
244 
245     List<ProductSet> resources = Lists.newArrayList(pagedListResponse.iterateAll());
246 
247     Assert.assertEquals(1, resources.size());
248     Assert.assertEquals(expectedResponse.getProductSetsList().get(0), resources.get(0));
249 
250     List<AbstractMessage> actualRequests = mockProductSearch.getRequests();
251     Assert.assertEquals(1, actualRequests.size());
252     ListProductSetsRequest actualRequest = ((ListProductSetsRequest) actualRequests.get(0));
253 
254     Assert.assertEquals(parent, actualRequest.getParent());
255     Assert.assertTrue(
256         channelProvider.isHeaderSent(
257             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
258             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
259   }
260 
261   @Test
listProductSetsExceptionTest2()262   public void listProductSetsExceptionTest2() throws Exception {
263     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
264     mockProductSearch.addException(exception);
265 
266     try {
267       String parent = "parent-995424086";
268       client.listProductSets(parent);
269       Assert.fail("No exception raised");
270     } catch (InvalidArgumentException e) {
271       // Expected exception.
272     }
273   }
274 
275   @Test
getProductSetTest()276   public void getProductSetTest() throws Exception {
277     ProductSet expectedResponse =
278         ProductSet.newBuilder()
279             .setName(ProductSetName.of("[PROJECT]", "[LOCATION]", "[PRODUCT_SET]").toString())
280             .setDisplayName("displayName1714148973")
281             .setIndexTime(Timestamp.newBuilder().build())
282             .setIndexError(Status.newBuilder().build())
283             .build();
284     mockProductSearch.addResponse(expectedResponse);
285 
286     ProductSetName name = ProductSetName.of("[PROJECT]", "[LOCATION]", "[PRODUCT_SET]");
287 
288     ProductSet actualResponse = client.getProductSet(name);
289     Assert.assertEquals(expectedResponse, actualResponse);
290 
291     List<AbstractMessage> actualRequests = mockProductSearch.getRequests();
292     Assert.assertEquals(1, actualRequests.size());
293     GetProductSetRequest actualRequest = ((GetProductSetRequest) actualRequests.get(0));
294 
295     Assert.assertEquals(name.toString(), actualRequest.getName());
296     Assert.assertTrue(
297         channelProvider.isHeaderSent(
298             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
299             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
300   }
301 
302   @Test
getProductSetExceptionTest()303   public void getProductSetExceptionTest() throws Exception {
304     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
305     mockProductSearch.addException(exception);
306 
307     try {
308       ProductSetName name = ProductSetName.of("[PROJECT]", "[LOCATION]", "[PRODUCT_SET]");
309       client.getProductSet(name);
310       Assert.fail("No exception raised");
311     } catch (InvalidArgumentException e) {
312       // Expected exception.
313     }
314   }
315 
316   @Test
getProductSetTest2()317   public void getProductSetTest2() throws Exception {
318     ProductSet expectedResponse =
319         ProductSet.newBuilder()
320             .setName(ProductSetName.of("[PROJECT]", "[LOCATION]", "[PRODUCT_SET]").toString())
321             .setDisplayName("displayName1714148973")
322             .setIndexTime(Timestamp.newBuilder().build())
323             .setIndexError(Status.newBuilder().build())
324             .build();
325     mockProductSearch.addResponse(expectedResponse);
326 
327     String name = "name3373707";
328 
329     ProductSet actualResponse = client.getProductSet(name);
330     Assert.assertEquals(expectedResponse, actualResponse);
331 
332     List<AbstractMessage> actualRequests = mockProductSearch.getRequests();
333     Assert.assertEquals(1, actualRequests.size());
334     GetProductSetRequest actualRequest = ((GetProductSetRequest) actualRequests.get(0));
335 
336     Assert.assertEquals(name, actualRequest.getName());
337     Assert.assertTrue(
338         channelProvider.isHeaderSent(
339             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
340             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
341   }
342 
343   @Test
getProductSetExceptionTest2()344   public void getProductSetExceptionTest2() throws Exception {
345     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
346     mockProductSearch.addException(exception);
347 
348     try {
349       String name = "name3373707";
350       client.getProductSet(name);
351       Assert.fail("No exception raised");
352     } catch (InvalidArgumentException e) {
353       // Expected exception.
354     }
355   }
356 
357   @Test
updateProductSetTest()358   public void updateProductSetTest() throws Exception {
359     ProductSet expectedResponse =
360         ProductSet.newBuilder()
361             .setName(ProductSetName.of("[PROJECT]", "[LOCATION]", "[PRODUCT_SET]").toString())
362             .setDisplayName("displayName1714148973")
363             .setIndexTime(Timestamp.newBuilder().build())
364             .setIndexError(Status.newBuilder().build())
365             .build();
366     mockProductSearch.addResponse(expectedResponse);
367 
368     ProductSet productSet = ProductSet.newBuilder().build();
369     FieldMask updateMask = FieldMask.newBuilder().build();
370 
371     ProductSet actualResponse = client.updateProductSet(productSet, updateMask);
372     Assert.assertEquals(expectedResponse, actualResponse);
373 
374     List<AbstractMessage> actualRequests = mockProductSearch.getRequests();
375     Assert.assertEquals(1, actualRequests.size());
376     UpdateProductSetRequest actualRequest = ((UpdateProductSetRequest) actualRequests.get(0));
377 
378     Assert.assertEquals(productSet, actualRequest.getProductSet());
379     Assert.assertEquals(updateMask, actualRequest.getUpdateMask());
380     Assert.assertTrue(
381         channelProvider.isHeaderSent(
382             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
383             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
384   }
385 
386   @Test
updateProductSetExceptionTest()387   public void updateProductSetExceptionTest() throws Exception {
388     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
389     mockProductSearch.addException(exception);
390 
391     try {
392       ProductSet productSet = ProductSet.newBuilder().build();
393       FieldMask updateMask = FieldMask.newBuilder().build();
394       client.updateProductSet(productSet, updateMask);
395       Assert.fail("No exception raised");
396     } catch (InvalidArgumentException e) {
397       // Expected exception.
398     }
399   }
400 
401   @Test
deleteProductSetTest()402   public void deleteProductSetTest() throws Exception {
403     Empty expectedResponse = Empty.newBuilder().build();
404     mockProductSearch.addResponse(expectedResponse);
405 
406     ProductSetName name = ProductSetName.of("[PROJECT]", "[LOCATION]", "[PRODUCT_SET]");
407 
408     client.deleteProductSet(name);
409 
410     List<AbstractMessage> actualRequests = mockProductSearch.getRequests();
411     Assert.assertEquals(1, actualRequests.size());
412     DeleteProductSetRequest actualRequest = ((DeleteProductSetRequest) actualRequests.get(0));
413 
414     Assert.assertEquals(name.toString(), actualRequest.getName());
415     Assert.assertTrue(
416         channelProvider.isHeaderSent(
417             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
418             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
419   }
420 
421   @Test
deleteProductSetExceptionTest()422   public void deleteProductSetExceptionTest() throws Exception {
423     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
424     mockProductSearch.addException(exception);
425 
426     try {
427       ProductSetName name = ProductSetName.of("[PROJECT]", "[LOCATION]", "[PRODUCT_SET]");
428       client.deleteProductSet(name);
429       Assert.fail("No exception raised");
430     } catch (InvalidArgumentException e) {
431       // Expected exception.
432     }
433   }
434 
435   @Test
deleteProductSetTest2()436   public void deleteProductSetTest2() throws Exception {
437     Empty expectedResponse = Empty.newBuilder().build();
438     mockProductSearch.addResponse(expectedResponse);
439 
440     String name = "name3373707";
441 
442     client.deleteProductSet(name);
443 
444     List<AbstractMessage> actualRequests = mockProductSearch.getRequests();
445     Assert.assertEquals(1, actualRequests.size());
446     DeleteProductSetRequest actualRequest = ((DeleteProductSetRequest) actualRequests.get(0));
447 
448     Assert.assertEquals(name, actualRequest.getName());
449     Assert.assertTrue(
450         channelProvider.isHeaderSent(
451             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
452             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
453   }
454 
455   @Test
deleteProductSetExceptionTest2()456   public void deleteProductSetExceptionTest2() throws Exception {
457     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
458     mockProductSearch.addException(exception);
459 
460     try {
461       String name = "name3373707";
462       client.deleteProductSet(name);
463       Assert.fail("No exception raised");
464     } catch (InvalidArgumentException e) {
465       // Expected exception.
466     }
467   }
468 
469   @Test
createProductTest()470   public void createProductTest() throws Exception {
471     Product expectedResponse =
472         Product.newBuilder()
473             .setName(ProductName.of("[PROJECT]", "[LOCATION]", "[PRODUCT]").toString())
474             .setDisplayName("displayName1714148973")
475             .setDescription("description-1724546052")
476             .setProductCategory("productCategory197299981")
477             .addAllProductLabels(new ArrayList<Product.KeyValue>())
478             .build();
479     mockProductSearch.addResponse(expectedResponse);
480 
481     LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
482     Product product = Product.newBuilder().build();
483     String productId = "productId-1051830678";
484 
485     Product actualResponse = client.createProduct(parent, product, productId);
486     Assert.assertEquals(expectedResponse, actualResponse);
487 
488     List<AbstractMessage> actualRequests = mockProductSearch.getRequests();
489     Assert.assertEquals(1, actualRequests.size());
490     CreateProductRequest actualRequest = ((CreateProductRequest) actualRequests.get(0));
491 
492     Assert.assertEquals(parent.toString(), actualRequest.getParent());
493     Assert.assertEquals(product, actualRequest.getProduct());
494     Assert.assertEquals(productId, actualRequest.getProductId());
495     Assert.assertTrue(
496         channelProvider.isHeaderSent(
497             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
498             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
499   }
500 
501   @Test
createProductExceptionTest()502   public void createProductExceptionTest() throws Exception {
503     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
504     mockProductSearch.addException(exception);
505 
506     try {
507       LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
508       Product product = Product.newBuilder().build();
509       String productId = "productId-1051830678";
510       client.createProduct(parent, product, productId);
511       Assert.fail("No exception raised");
512     } catch (InvalidArgumentException e) {
513       // Expected exception.
514     }
515   }
516 
517   @Test
createProductTest2()518   public void createProductTest2() throws Exception {
519     Product expectedResponse =
520         Product.newBuilder()
521             .setName(ProductName.of("[PROJECT]", "[LOCATION]", "[PRODUCT]").toString())
522             .setDisplayName("displayName1714148973")
523             .setDescription("description-1724546052")
524             .setProductCategory("productCategory197299981")
525             .addAllProductLabels(new ArrayList<Product.KeyValue>())
526             .build();
527     mockProductSearch.addResponse(expectedResponse);
528 
529     String parent = "parent-995424086";
530     Product product = Product.newBuilder().build();
531     String productId = "productId-1051830678";
532 
533     Product actualResponse = client.createProduct(parent, product, productId);
534     Assert.assertEquals(expectedResponse, actualResponse);
535 
536     List<AbstractMessage> actualRequests = mockProductSearch.getRequests();
537     Assert.assertEquals(1, actualRequests.size());
538     CreateProductRequest actualRequest = ((CreateProductRequest) actualRequests.get(0));
539 
540     Assert.assertEquals(parent, actualRequest.getParent());
541     Assert.assertEquals(product, actualRequest.getProduct());
542     Assert.assertEquals(productId, actualRequest.getProductId());
543     Assert.assertTrue(
544         channelProvider.isHeaderSent(
545             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
546             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
547   }
548 
549   @Test
createProductExceptionTest2()550   public void createProductExceptionTest2() throws Exception {
551     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
552     mockProductSearch.addException(exception);
553 
554     try {
555       String parent = "parent-995424086";
556       Product product = Product.newBuilder().build();
557       String productId = "productId-1051830678";
558       client.createProduct(parent, product, productId);
559       Assert.fail("No exception raised");
560     } catch (InvalidArgumentException e) {
561       // Expected exception.
562     }
563   }
564 
565   @Test
listProductsTest()566   public void listProductsTest() throws Exception {
567     Product responsesElement = Product.newBuilder().build();
568     ListProductsResponse expectedResponse =
569         ListProductsResponse.newBuilder()
570             .setNextPageToken("")
571             .addAllProducts(Arrays.asList(responsesElement))
572             .build();
573     mockProductSearch.addResponse(expectedResponse);
574 
575     LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
576 
577     ListProductsPagedResponse pagedListResponse = client.listProducts(parent);
578 
579     List<Product> resources = Lists.newArrayList(pagedListResponse.iterateAll());
580 
581     Assert.assertEquals(1, resources.size());
582     Assert.assertEquals(expectedResponse.getProductsList().get(0), resources.get(0));
583 
584     List<AbstractMessage> actualRequests = mockProductSearch.getRequests();
585     Assert.assertEquals(1, actualRequests.size());
586     ListProductsRequest actualRequest = ((ListProductsRequest) actualRequests.get(0));
587 
588     Assert.assertEquals(parent.toString(), actualRequest.getParent());
589     Assert.assertTrue(
590         channelProvider.isHeaderSent(
591             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
592             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
593   }
594 
595   @Test
listProductsExceptionTest()596   public void listProductsExceptionTest() throws Exception {
597     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
598     mockProductSearch.addException(exception);
599 
600     try {
601       LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
602       client.listProducts(parent);
603       Assert.fail("No exception raised");
604     } catch (InvalidArgumentException e) {
605       // Expected exception.
606     }
607   }
608 
609   @Test
listProductsTest2()610   public void listProductsTest2() throws Exception {
611     Product responsesElement = Product.newBuilder().build();
612     ListProductsResponse expectedResponse =
613         ListProductsResponse.newBuilder()
614             .setNextPageToken("")
615             .addAllProducts(Arrays.asList(responsesElement))
616             .build();
617     mockProductSearch.addResponse(expectedResponse);
618 
619     String parent = "parent-995424086";
620 
621     ListProductsPagedResponse pagedListResponse = client.listProducts(parent);
622 
623     List<Product> resources = Lists.newArrayList(pagedListResponse.iterateAll());
624 
625     Assert.assertEquals(1, resources.size());
626     Assert.assertEquals(expectedResponse.getProductsList().get(0), resources.get(0));
627 
628     List<AbstractMessage> actualRequests = mockProductSearch.getRequests();
629     Assert.assertEquals(1, actualRequests.size());
630     ListProductsRequest actualRequest = ((ListProductsRequest) actualRequests.get(0));
631 
632     Assert.assertEquals(parent, actualRequest.getParent());
633     Assert.assertTrue(
634         channelProvider.isHeaderSent(
635             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
636             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
637   }
638 
639   @Test
listProductsExceptionTest2()640   public void listProductsExceptionTest2() throws Exception {
641     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
642     mockProductSearch.addException(exception);
643 
644     try {
645       String parent = "parent-995424086";
646       client.listProducts(parent);
647       Assert.fail("No exception raised");
648     } catch (InvalidArgumentException e) {
649       // Expected exception.
650     }
651   }
652 
653   @Test
getProductTest()654   public void getProductTest() throws Exception {
655     Product expectedResponse =
656         Product.newBuilder()
657             .setName(ProductName.of("[PROJECT]", "[LOCATION]", "[PRODUCT]").toString())
658             .setDisplayName("displayName1714148973")
659             .setDescription("description-1724546052")
660             .setProductCategory("productCategory197299981")
661             .addAllProductLabels(new ArrayList<Product.KeyValue>())
662             .build();
663     mockProductSearch.addResponse(expectedResponse);
664 
665     ProductName name = ProductName.of("[PROJECT]", "[LOCATION]", "[PRODUCT]");
666 
667     Product actualResponse = client.getProduct(name);
668     Assert.assertEquals(expectedResponse, actualResponse);
669 
670     List<AbstractMessage> actualRequests = mockProductSearch.getRequests();
671     Assert.assertEquals(1, actualRequests.size());
672     GetProductRequest actualRequest = ((GetProductRequest) actualRequests.get(0));
673 
674     Assert.assertEquals(name.toString(), actualRequest.getName());
675     Assert.assertTrue(
676         channelProvider.isHeaderSent(
677             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
678             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
679   }
680 
681   @Test
getProductExceptionTest()682   public void getProductExceptionTest() throws Exception {
683     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
684     mockProductSearch.addException(exception);
685 
686     try {
687       ProductName name = ProductName.of("[PROJECT]", "[LOCATION]", "[PRODUCT]");
688       client.getProduct(name);
689       Assert.fail("No exception raised");
690     } catch (InvalidArgumentException e) {
691       // Expected exception.
692     }
693   }
694 
695   @Test
getProductTest2()696   public void getProductTest2() throws Exception {
697     Product expectedResponse =
698         Product.newBuilder()
699             .setName(ProductName.of("[PROJECT]", "[LOCATION]", "[PRODUCT]").toString())
700             .setDisplayName("displayName1714148973")
701             .setDescription("description-1724546052")
702             .setProductCategory("productCategory197299981")
703             .addAllProductLabels(new ArrayList<Product.KeyValue>())
704             .build();
705     mockProductSearch.addResponse(expectedResponse);
706 
707     String name = "name3373707";
708 
709     Product actualResponse = client.getProduct(name);
710     Assert.assertEquals(expectedResponse, actualResponse);
711 
712     List<AbstractMessage> actualRequests = mockProductSearch.getRequests();
713     Assert.assertEquals(1, actualRequests.size());
714     GetProductRequest actualRequest = ((GetProductRequest) actualRequests.get(0));
715 
716     Assert.assertEquals(name, actualRequest.getName());
717     Assert.assertTrue(
718         channelProvider.isHeaderSent(
719             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
720             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
721   }
722 
723   @Test
getProductExceptionTest2()724   public void getProductExceptionTest2() throws Exception {
725     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
726     mockProductSearch.addException(exception);
727 
728     try {
729       String name = "name3373707";
730       client.getProduct(name);
731       Assert.fail("No exception raised");
732     } catch (InvalidArgumentException e) {
733       // Expected exception.
734     }
735   }
736 
737   @Test
updateProductTest()738   public void updateProductTest() throws Exception {
739     Product expectedResponse =
740         Product.newBuilder()
741             .setName(ProductName.of("[PROJECT]", "[LOCATION]", "[PRODUCT]").toString())
742             .setDisplayName("displayName1714148973")
743             .setDescription("description-1724546052")
744             .setProductCategory("productCategory197299981")
745             .addAllProductLabels(new ArrayList<Product.KeyValue>())
746             .build();
747     mockProductSearch.addResponse(expectedResponse);
748 
749     Product product = Product.newBuilder().build();
750     FieldMask updateMask = FieldMask.newBuilder().build();
751 
752     Product actualResponse = client.updateProduct(product, updateMask);
753     Assert.assertEquals(expectedResponse, actualResponse);
754 
755     List<AbstractMessage> actualRequests = mockProductSearch.getRequests();
756     Assert.assertEquals(1, actualRequests.size());
757     UpdateProductRequest actualRequest = ((UpdateProductRequest) actualRequests.get(0));
758 
759     Assert.assertEquals(product, actualRequest.getProduct());
760     Assert.assertEquals(updateMask, actualRequest.getUpdateMask());
761     Assert.assertTrue(
762         channelProvider.isHeaderSent(
763             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
764             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
765   }
766 
767   @Test
updateProductExceptionTest()768   public void updateProductExceptionTest() throws Exception {
769     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
770     mockProductSearch.addException(exception);
771 
772     try {
773       Product product = Product.newBuilder().build();
774       FieldMask updateMask = FieldMask.newBuilder().build();
775       client.updateProduct(product, updateMask);
776       Assert.fail("No exception raised");
777     } catch (InvalidArgumentException e) {
778       // Expected exception.
779     }
780   }
781 
782   @Test
deleteProductTest()783   public void deleteProductTest() throws Exception {
784     Empty expectedResponse = Empty.newBuilder().build();
785     mockProductSearch.addResponse(expectedResponse);
786 
787     ProductName name = ProductName.of("[PROJECT]", "[LOCATION]", "[PRODUCT]");
788 
789     client.deleteProduct(name);
790 
791     List<AbstractMessage> actualRequests = mockProductSearch.getRequests();
792     Assert.assertEquals(1, actualRequests.size());
793     DeleteProductRequest actualRequest = ((DeleteProductRequest) actualRequests.get(0));
794 
795     Assert.assertEquals(name.toString(), actualRequest.getName());
796     Assert.assertTrue(
797         channelProvider.isHeaderSent(
798             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
799             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
800   }
801 
802   @Test
deleteProductExceptionTest()803   public void deleteProductExceptionTest() throws Exception {
804     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
805     mockProductSearch.addException(exception);
806 
807     try {
808       ProductName name = ProductName.of("[PROJECT]", "[LOCATION]", "[PRODUCT]");
809       client.deleteProduct(name);
810       Assert.fail("No exception raised");
811     } catch (InvalidArgumentException e) {
812       // Expected exception.
813     }
814   }
815 
816   @Test
deleteProductTest2()817   public void deleteProductTest2() throws Exception {
818     Empty expectedResponse = Empty.newBuilder().build();
819     mockProductSearch.addResponse(expectedResponse);
820 
821     String name = "name3373707";
822 
823     client.deleteProduct(name);
824 
825     List<AbstractMessage> actualRequests = mockProductSearch.getRequests();
826     Assert.assertEquals(1, actualRequests.size());
827     DeleteProductRequest actualRequest = ((DeleteProductRequest) actualRequests.get(0));
828 
829     Assert.assertEquals(name, actualRequest.getName());
830     Assert.assertTrue(
831         channelProvider.isHeaderSent(
832             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
833             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
834   }
835 
836   @Test
deleteProductExceptionTest2()837   public void deleteProductExceptionTest2() throws Exception {
838     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
839     mockProductSearch.addException(exception);
840 
841     try {
842       String name = "name3373707";
843       client.deleteProduct(name);
844       Assert.fail("No exception raised");
845     } catch (InvalidArgumentException e) {
846       // Expected exception.
847     }
848   }
849 
850   @Test
createReferenceImageTest()851   public void createReferenceImageTest() throws Exception {
852     ReferenceImage expectedResponse =
853         ReferenceImage.newBuilder()
854             .setName(
855                 ReferenceImageName.of("[PROJECT]", "[LOCATION]", "[PRODUCT]", "[REFERENCE_IMAGE]")
856                     .toString())
857             .setUri("uri116076")
858             .addAllBoundingPolys(new ArrayList<BoundingPoly>())
859             .build();
860     mockProductSearch.addResponse(expectedResponse);
861 
862     ProductName parent = ProductName.of("[PROJECT]", "[LOCATION]", "[PRODUCT]");
863     ReferenceImage referenceImage = ReferenceImage.newBuilder().build();
864     String referenceImageId = "referenceImageId1224107531";
865 
866     ReferenceImage actualResponse =
867         client.createReferenceImage(parent, referenceImage, referenceImageId);
868     Assert.assertEquals(expectedResponse, actualResponse);
869 
870     List<AbstractMessage> actualRequests = mockProductSearch.getRequests();
871     Assert.assertEquals(1, actualRequests.size());
872     CreateReferenceImageRequest actualRequest =
873         ((CreateReferenceImageRequest) actualRequests.get(0));
874 
875     Assert.assertEquals(parent.toString(), actualRequest.getParent());
876     Assert.assertEquals(referenceImage, actualRequest.getReferenceImage());
877     Assert.assertEquals(referenceImageId, actualRequest.getReferenceImageId());
878     Assert.assertTrue(
879         channelProvider.isHeaderSent(
880             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
881             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
882   }
883 
884   @Test
createReferenceImageExceptionTest()885   public void createReferenceImageExceptionTest() throws Exception {
886     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
887     mockProductSearch.addException(exception);
888 
889     try {
890       ProductName parent = ProductName.of("[PROJECT]", "[LOCATION]", "[PRODUCT]");
891       ReferenceImage referenceImage = ReferenceImage.newBuilder().build();
892       String referenceImageId = "referenceImageId1224107531";
893       client.createReferenceImage(parent, referenceImage, referenceImageId);
894       Assert.fail("No exception raised");
895     } catch (InvalidArgumentException e) {
896       // Expected exception.
897     }
898   }
899 
900   @Test
createReferenceImageTest2()901   public void createReferenceImageTest2() throws Exception {
902     ReferenceImage expectedResponse =
903         ReferenceImage.newBuilder()
904             .setName(
905                 ReferenceImageName.of("[PROJECT]", "[LOCATION]", "[PRODUCT]", "[REFERENCE_IMAGE]")
906                     .toString())
907             .setUri("uri116076")
908             .addAllBoundingPolys(new ArrayList<BoundingPoly>())
909             .build();
910     mockProductSearch.addResponse(expectedResponse);
911 
912     String parent = "parent-995424086";
913     ReferenceImage referenceImage = ReferenceImage.newBuilder().build();
914     String referenceImageId = "referenceImageId1224107531";
915 
916     ReferenceImage actualResponse =
917         client.createReferenceImage(parent, referenceImage, referenceImageId);
918     Assert.assertEquals(expectedResponse, actualResponse);
919 
920     List<AbstractMessage> actualRequests = mockProductSearch.getRequests();
921     Assert.assertEquals(1, actualRequests.size());
922     CreateReferenceImageRequest actualRequest =
923         ((CreateReferenceImageRequest) actualRequests.get(0));
924 
925     Assert.assertEquals(parent, actualRequest.getParent());
926     Assert.assertEquals(referenceImage, actualRequest.getReferenceImage());
927     Assert.assertEquals(referenceImageId, actualRequest.getReferenceImageId());
928     Assert.assertTrue(
929         channelProvider.isHeaderSent(
930             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
931             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
932   }
933 
934   @Test
createReferenceImageExceptionTest2()935   public void createReferenceImageExceptionTest2() throws Exception {
936     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
937     mockProductSearch.addException(exception);
938 
939     try {
940       String parent = "parent-995424086";
941       ReferenceImage referenceImage = ReferenceImage.newBuilder().build();
942       String referenceImageId = "referenceImageId1224107531";
943       client.createReferenceImage(parent, referenceImage, referenceImageId);
944       Assert.fail("No exception raised");
945     } catch (InvalidArgumentException e) {
946       // Expected exception.
947     }
948   }
949 
950   @Test
deleteReferenceImageTest()951   public void deleteReferenceImageTest() throws Exception {
952     Empty expectedResponse = Empty.newBuilder().build();
953     mockProductSearch.addResponse(expectedResponse);
954 
955     ReferenceImageName name =
956         ReferenceImageName.of("[PROJECT]", "[LOCATION]", "[PRODUCT]", "[REFERENCE_IMAGE]");
957 
958     client.deleteReferenceImage(name);
959 
960     List<AbstractMessage> actualRequests = mockProductSearch.getRequests();
961     Assert.assertEquals(1, actualRequests.size());
962     DeleteReferenceImageRequest actualRequest =
963         ((DeleteReferenceImageRequest) actualRequests.get(0));
964 
965     Assert.assertEquals(name.toString(), actualRequest.getName());
966     Assert.assertTrue(
967         channelProvider.isHeaderSent(
968             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
969             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
970   }
971 
972   @Test
deleteReferenceImageExceptionTest()973   public void deleteReferenceImageExceptionTest() throws Exception {
974     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
975     mockProductSearch.addException(exception);
976 
977     try {
978       ReferenceImageName name =
979           ReferenceImageName.of("[PROJECT]", "[LOCATION]", "[PRODUCT]", "[REFERENCE_IMAGE]");
980       client.deleteReferenceImage(name);
981       Assert.fail("No exception raised");
982     } catch (InvalidArgumentException e) {
983       // Expected exception.
984     }
985   }
986 
987   @Test
deleteReferenceImageTest2()988   public void deleteReferenceImageTest2() throws Exception {
989     Empty expectedResponse = Empty.newBuilder().build();
990     mockProductSearch.addResponse(expectedResponse);
991 
992     String name = "name3373707";
993 
994     client.deleteReferenceImage(name);
995 
996     List<AbstractMessage> actualRequests = mockProductSearch.getRequests();
997     Assert.assertEquals(1, actualRequests.size());
998     DeleteReferenceImageRequest actualRequest =
999         ((DeleteReferenceImageRequest) actualRequests.get(0));
1000 
1001     Assert.assertEquals(name, actualRequest.getName());
1002     Assert.assertTrue(
1003         channelProvider.isHeaderSent(
1004             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
1005             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
1006   }
1007 
1008   @Test
deleteReferenceImageExceptionTest2()1009   public void deleteReferenceImageExceptionTest2() throws Exception {
1010     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
1011     mockProductSearch.addException(exception);
1012 
1013     try {
1014       String name = "name3373707";
1015       client.deleteReferenceImage(name);
1016       Assert.fail("No exception raised");
1017     } catch (InvalidArgumentException e) {
1018       // Expected exception.
1019     }
1020   }
1021 
1022   @Test
listReferenceImagesTest()1023   public void listReferenceImagesTest() throws Exception {
1024     ReferenceImage responsesElement = ReferenceImage.newBuilder().build();
1025     ListReferenceImagesResponse expectedResponse =
1026         ListReferenceImagesResponse.newBuilder()
1027             .setNextPageToken("")
1028             .addAllReferenceImages(Arrays.asList(responsesElement))
1029             .build();
1030     mockProductSearch.addResponse(expectedResponse);
1031 
1032     ProductName parent = ProductName.of("[PROJECT]", "[LOCATION]", "[PRODUCT]");
1033 
1034     ListReferenceImagesPagedResponse pagedListResponse = client.listReferenceImages(parent);
1035 
1036     List<ReferenceImage> resources = Lists.newArrayList(pagedListResponse.iterateAll());
1037 
1038     Assert.assertEquals(1, resources.size());
1039     Assert.assertEquals(expectedResponse.getReferenceImagesList().get(0), resources.get(0));
1040 
1041     List<AbstractMessage> actualRequests = mockProductSearch.getRequests();
1042     Assert.assertEquals(1, actualRequests.size());
1043     ListReferenceImagesRequest actualRequest = ((ListReferenceImagesRequest) actualRequests.get(0));
1044 
1045     Assert.assertEquals(parent.toString(), actualRequest.getParent());
1046     Assert.assertTrue(
1047         channelProvider.isHeaderSent(
1048             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
1049             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
1050   }
1051 
1052   @Test
listReferenceImagesExceptionTest()1053   public void listReferenceImagesExceptionTest() throws Exception {
1054     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
1055     mockProductSearch.addException(exception);
1056 
1057     try {
1058       ProductName parent = ProductName.of("[PROJECT]", "[LOCATION]", "[PRODUCT]");
1059       client.listReferenceImages(parent);
1060       Assert.fail("No exception raised");
1061     } catch (InvalidArgumentException e) {
1062       // Expected exception.
1063     }
1064   }
1065 
1066   @Test
listReferenceImagesTest2()1067   public void listReferenceImagesTest2() throws Exception {
1068     ReferenceImage responsesElement = ReferenceImage.newBuilder().build();
1069     ListReferenceImagesResponse expectedResponse =
1070         ListReferenceImagesResponse.newBuilder()
1071             .setNextPageToken("")
1072             .addAllReferenceImages(Arrays.asList(responsesElement))
1073             .build();
1074     mockProductSearch.addResponse(expectedResponse);
1075 
1076     String parent = "parent-995424086";
1077 
1078     ListReferenceImagesPagedResponse pagedListResponse = client.listReferenceImages(parent);
1079 
1080     List<ReferenceImage> resources = Lists.newArrayList(pagedListResponse.iterateAll());
1081 
1082     Assert.assertEquals(1, resources.size());
1083     Assert.assertEquals(expectedResponse.getReferenceImagesList().get(0), resources.get(0));
1084 
1085     List<AbstractMessage> actualRequests = mockProductSearch.getRequests();
1086     Assert.assertEquals(1, actualRequests.size());
1087     ListReferenceImagesRequest actualRequest = ((ListReferenceImagesRequest) actualRequests.get(0));
1088 
1089     Assert.assertEquals(parent, actualRequest.getParent());
1090     Assert.assertTrue(
1091         channelProvider.isHeaderSent(
1092             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
1093             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
1094   }
1095 
1096   @Test
listReferenceImagesExceptionTest2()1097   public void listReferenceImagesExceptionTest2() throws Exception {
1098     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
1099     mockProductSearch.addException(exception);
1100 
1101     try {
1102       String parent = "parent-995424086";
1103       client.listReferenceImages(parent);
1104       Assert.fail("No exception raised");
1105     } catch (InvalidArgumentException e) {
1106       // Expected exception.
1107     }
1108   }
1109 
1110   @Test
getReferenceImageTest()1111   public void getReferenceImageTest() throws Exception {
1112     ReferenceImage expectedResponse =
1113         ReferenceImage.newBuilder()
1114             .setName(
1115                 ReferenceImageName.of("[PROJECT]", "[LOCATION]", "[PRODUCT]", "[REFERENCE_IMAGE]")
1116                     .toString())
1117             .setUri("uri116076")
1118             .addAllBoundingPolys(new ArrayList<BoundingPoly>())
1119             .build();
1120     mockProductSearch.addResponse(expectedResponse);
1121 
1122     ReferenceImageName name =
1123         ReferenceImageName.of("[PROJECT]", "[LOCATION]", "[PRODUCT]", "[REFERENCE_IMAGE]");
1124 
1125     ReferenceImage actualResponse = client.getReferenceImage(name);
1126     Assert.assertEquals(expectedResponse, actualResponse);
1127 
1128     List<AbstractMessage> actualRequests = mockProductSearch.getRequests();
1129     Assert.assertEquals(1, actualRequests.size());
1130     GetReferenceImageRequest actualRequest = ((GetReferenceImageRequest) actualRequests.get(0));
1131 
1132     Assert.assertEquals(name.toString(), actualRequest.getName());
1133     Assert.assertTrue(
1134         channelProvider.isHeaderSent(
1135             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
1136             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
1137   }
1138 
1139   @Test
getReferenceImageExceptionTest()1140   public void getReferenceImageExceptionTest() throws Exception {
1141     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
1142     mockProductSearch.addException(exception);
1143 
1144     try {
1145       ReferenceImageName name =
1146           ReferenceImageName.of("[PROJECT]", "[LOCATION]", "[PRODUCT]", "[REFERENCE_IMAGE]");
1147       client.getReferenceImage(name);
1148       Assert.fail("No exception raised");
1149     } catch (InvalidArgumentException e) {
1150       // Expected exception.
1151     }
1152   }
1153 
1154   @Test
getReferenceImageTest2()1155   public void getReferenceImageTest2() throws Exception {
1156     ReferenceImage expectedResponse =
1157         ReferenceImage.newBuilder()
1158             .setName(
1159                 ReferenceImageName.of("[PROJECT]", "[LOCATION]", "[PRODUCT]", "[REFERENCE_IMAGE]")
1160                     .toString())
1161             .setUri("uri116076")
1162             .addAllBoundingPolys(new ArrayList<BoundingPoly>())
1163             .build();
1164     mockProductSearch.addResponse(expectedResponse);
1165 
1166     String name = "name3373707";
1167 
1168     ReferenceImage actualResponse = client.getReferenceImage(name);
1169     Assert.assertEquals(expectedResponse, actualResponse);
1170 
1171     List<AbstractMessage> actualRequests = mockProductSearch.getRequests();
1172     Assert.assertEquals(1, actualRequests.size());
1173     GetReferenceImageRequest actualRequest = ((GetReferenceImageRequest) actualRequests.get(0));
1174 
1175     Assert.assertEquals(name, actualRequest.getName());
1176     Assert.assertTrue(
1177         channelProvider.isHeaderSent(
1178             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
1179             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
1180   }
1181 
1182   @Test
getReferenceImageExceptionTest2()1183   public void getReferenceImageExceptionTest2() throws Exception {
1184     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
1185     mockProductSearch.addException(exception);
1186 
1187     try {
1188       String name = "name3373707";
1189       client.getReferenceImage(name);
1190       Assert.fail("No exception raised");
1191     } catch (InvalidArgumentException e) {
1192       // Expected exception.
1193     }
1194   }
1195 
1196   @Test
addProductToProductSetTest()1197   public void addProductToProductSetTest() throws Exception {
1198     Empty expectedResponse = Empty.newBuilder().build();
1199     mockProductSearch.addResponse(expectedResponse);
1200 
1201     ProductSetName name = ProductSetName.of("[PROJECT]", "[LOCATION]", "[PRODUCT_SET]");
1202     ProductName product = ProductName.of("[PROJECT]", "[LOCATION]", "[PRODUCT]");
1203 
1204     client.addProductToProductSet(name, product);
1205 
1206     List<AbstractMessage> actualRequests = mockProductSearch.getRequests();
1207     Assert.assertEquals(1, actualRequests.size());
1208     AddProductToProductSetRequest actualRequest =
1209         ((AddProductToProductSetRequest) actualRequests.get(0));
1210 
1211     Assert.assertEquals(name.toString(), actualRequest.getName());
1212     Assert.assertEquals(product.toString(), actualRequest.getProduct());
1213     Assert.assertTrue(
1214         channelProvider.isHeaderSent(
1215             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
1216             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
1217   }
1218 
1219   @Test
addProductToProductSetExceptionTest()1220   public void addProductToProductSetExceptionTest() throws Exception {
1221     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
1222     mockProductSearch.addException(exception);
1223 
1224     try {
1225       ProductSetName name = ProductSetName.of("[PROJECT]", "[LOCATION]", "[PRODUCT_SET]");
1226       ProductName product = ProductName.of("[PROJECT]", "[LOCATION]", "[PRODUCT]");
1227       client.addProductToProductSet(name, product);
1228       Assert.fail("No exception raised");
1229     } catch (InvalidArgumentException e) {
1230       // Expected exception.
1231     }
1232   }
1233 
1234   @Test
addProductToProductSetTest2()1235   public void addProductToProductSetTest2() throws Exception {
1236     Empty expectedResponse = Empty.newBuilder().build();
1237     mockProductSearch.addResponse(expectedResponse);
1238 
1239     ProductSetName name = ProductSetName.of("[PROJECT]", "[LOCATION]", "[PRODUCT_SET]");
1240     String product = "product-309474065";
1241 
1242     client.addProductToProductSet(name, product);
1243 
1244     List<AbstractMessage> actualRequests = mockProductSearch.getRequests();
1245     Assert.assertEquals(1, actualRequests.size());
1246     AddProductToProductSetRequest actualRequest =
1247         ((AddProductToProductSetRequest) actualRequests.get(0));
1248 
1249     Assert.assertEquals(name.toString(), actualRequest.getName());
1250     Assert.assertEquals(product, actualRequest.getProduct());
1251     Assert.assertTrue(
1252         channelProvider.isHeaderSent(
1253             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
1254             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
1255   }
1256 
1257   @Test
addProductToProductSetExceptionTest2()1258   public void addProductToProductSetExceptionTest2() throws Exception {
1259     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
1260     mockProductSearch.addException(exception);
1261 
1262     try {
1263       ProductSetName name = ProductSetName.of("[PROJECT]", "[LOCATION]", "[PRODUCT_SET]");
1264       String product = "product-309474065";
1265       client.addProductToProductSet(name, product);
1266       Assert.fail("No exception raised");
1267     } catch (InvalidArgumentException e) {
1268       // Expected exception.
1269     }
1270   }
1271 
1272   @Test
addProductToProductSetTest3()1273   public void addProductToProductSetTest3() throws Exception {
1274     Empty expectedResponse = Empty.newBuilder().build();
1275     mockProductSearch.addResponse(expectedResponse);
1276 
1277     String name = "name3373707";
1278     ProductName product = ProductName.of("[PROJECT]", "[LOCATION]", "[PRODUCT]");
1279 
1280     client.addProductToProductSet(name, product);
1281 
1282     List<AbstractMessage> actualRequests = mockProductSearch.getRequests();
1283     Assert.assertEquals(1, actualRequests.size());
1284     AddProductToProductSetRequest actualRequest =
1285         ((AddProductToProductSetRequest) actualRequests.get(0));
1286 
1287     Assert.assertEquals(name, actualRequest.getName());
1288     Assert.assertEquals(product.toString(), actualRequest.getProduct());
1289     Assert.assertTrue(
1290         channelProvider.isHeaderSent(
1291             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
1292             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
1293   }
1294 
1295   @Test
addProductToProductSetExceptionTest3()1296   public void addProductToProductSetExceptionTest3() throws Exception {
1297     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
1298     mockProductSearch.addException(exception);
1299 
1300     try {
1301       String name = "name3373707";
1302       ProductName product = ProductName.of("[PROJECT]", "[LOCATION]", "[PRODUCT]");
1303       client.addProductToProductSet(name, product);
1304       Assert.fail("No exception raised");
1305     } catch (InvalidArgumentException e) {
1306       // Expected exception.
1307     }
1308   }
1309 
1310   @Test
addProductToProductSetTest4()1311   public void addProductToProductSetTest4() throws Exception {
1312     Empty expectedResponse = Empty.newBuilder().build();
1313     mockProductSearch.addResponse(expectedResponse);
1314 
1315     String name = "name3373707";
1316     String product = "product-309474065";
1317 
1318     client.addProductToProductSet(name, product);
1319 
1320     List<AbstractMessage> actualRequests = mockProductSearch.getRequests();
1321     Assert.assertEquals(1, actualRequests.size());
1322     AddProductToProductSetRequest actualRequest =
1323         ((AddProductToProductSetRequest) actualRequests.get(0));
1324 
1325     Assert.assertEquals(name, actualRequest.getName());
1326     Assert.assertEquals(product, actualRequest.getProduct());
1327     Assert.assertTrue(
1328         channelProvider.isHeaderSent(
1329             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
1330             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
1331   }
1332 
1333   @Test
addProductToProductSetExceptionTest4()1334   public void addProductToProductSetExceptionTest4() throws Exception {
1335     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
1336     mockProductSearch.addException(exception);
1337 
1338     try {
1339       String name = "name3373707";
1340       String product = "product-309474065";
1341       client.addProductToProductSet(name, product);
1342       Assert.fail("No exception raised");
1343     } catch (InvalidArgumentException e) {
1344       // Expected exception.
1345     }
1346   }
1347 
1348   @Test
removeProductFromProductSetTest()1349   public void removeProductFromProductSetTest() throws Exception {
1350     Empty expectedResponse = Empty.newBuilder().build();
1351     mockProductSearch.addResponse(expectedResponse);
1352 
1353     ProductSetName name = ProductSetName.of("[PROJECT]", "[LOCATION]", "[PRODUCT_SET]");
1354     ProductName product = ProductName.of("[PROJECT]", "[LOCATION]", "[PRODUCT]");
1355 
1356     client.removeProductFromProductSet(name, product);
1357 
1358     List<AbstractMessage> actualRequests = mockProductSearch.getRequests();
1359     Assert.assertEquals(1, actualRequests.size());
1360     RemoveProductFromProductSetRequest actualRequest =
1361         ((RemoveProductFromProductSetRequest) actualRequests.get(0));
1362 
1363     Assert.assertEquals(name.toString(), actualRequest.getName());
1364     Assert.assertEquals(product.toString(), actualRequest.getProduct());
1365     Assert.assertTrue(
1366         channelProvider.isHeaderSent(
1367             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
1368             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
1369   }
1370 
1371   @Test
removeProductFromProductSetExceptionTest()1372   public void removeProductFromProductSetExceptionTest() throws Exception {
1373     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
1374     mockProductSearch.addException(exception);
1375 
1376     try {
1377       ProductSetName name = ProductSetName.of("[PROJECT]", "[LOCATION]", "[PRODUCT_SET]");
1378       ProductName product = ProductName.of("[PROJECT]", "[LOCATION]", "[PRODUCT]");
1379       client.removeProductFromProductSet(name, product);
1380       Assert.fail("No exception raised");
1381     } catch (InvalidArgumentException e) {
1382       // Expected exception.
1383     }
1384   }
1385 
1386   @Test
removeProductFromProductSetTest2()1387   public void removeProductFromProductSetTest2() throws Exception {
1388     Empty expectedResponse = Empty.newBuilder().build();
1389     mockProductSearch.addResponse(expectedResponse);
1390 
1391     ProductSetName name = ProductSetName.of("[PROJECT]", "[LOCATION]", "[PRODUCT_SET]");
1392     String product = "product-309474065";
1393 
1394     client.removeProductFromProductSet(name, product);
1395 
1396     List<AbstractMessage> actualRequests = mockProductSearch.getRequests();
1397     Assert.assertEquals(1, actualRequests.size());
1398     RemoveProductFromProductSetRequest actualRequest =
1399         ((RemoveProductFromProductSetRequest) actualRequests.get(0));
1400 
1401     Assert.assertEquals(name.toString(), actualRequest.getName());
1402     Assert.assertEquals(product, actualRequest.getProduct());
1403     Assert.assertTrue(
1404         channelProvider.isHeaderSent(
1405             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
1406             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
1407   }
1408 
1409   @Test
removeProductFromProductSetExceptionTest2()1410   public void removeProductFromProductSetExceptionTest2() throws Exception {
1411     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
1412     mockProductSearch.addException(exception);
1413 
1414     try {
1415       ProductSetName name = ProductSetName.of("[PROJECT]", "[LOCATION]", "[PRODUCT_SET]");
1416       String product = "product-309474065";
1417       client.removeProductFromProductSet(name, product);
1418       Assert.fail("No exception raised");
1419     } catch (InvalidArgumentException e) {
1420       // Expected exception.
1421     }
1422   }
1423 
1424   @Test
removeProductFromProductSetTest3()1425   public void removeProductFromProductSetTest3() throws Exception {
1426     Empty expectedResponse = Empty.newBuilder().build();
1427     mockProductSearch.addResponse(expectedResponse);
1428 
1429     String name = "name3373707";
1430     ProductName product = ProductName.of("[PROJECT]", "[LOCATION]", "[PRODUCT]");
1431 
1432     client.removeProductFromProductSet(name, product);
1433 
1434     List<AbstractMessage> actualRequests = mockProductSearch.getRequests();
1435     Assert.assertEquals(1, actualRequests.size());
1436     RemoveProductFromProductSetRequest actualRequest =
1437         ((RemoveProductFromProductSetRequest) actualRequests.get(0));
1438 
1439     Assert.assertEquals(name, actualRequest.getName());
1440     Assert.assertEquals(product.toString(), actualRequest.getProduct());
1441     Assert.assertTrue(
1442         channelProvider.isHeaderSent(
1443             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
1444             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
1445   }
1446 
1447   @Test
removeProductFromProductSetExceptionTest3()1448   public void removeProductFromProductSetExceptionTest3() throws Exception {
1449     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
1450     mockProductSearch.addException(exception);
1451 
1452     try {
1453       String name = "name3373707";
1454       ProductName product = ProductName.of("[PROJECT]", "[LOCATION]", "[PRODUCT]");
1455       client.removeProductFromProductSet(name, product);
1456       Assert.fail("No exception raised");
1457     } catch (InvalidArgumentException e) {
1458       // Expected exception.
1459     }
1460   }
1461 
1462   @Test
removeProductFromProductSetTest4()1463   public void removeProductFromProductSetTest4() throws Exception {
1464     Empty expectedResponse = Empty.newBuilder().build();
1465     mockProductSearch.addResponse(expectedResponse);
1466 
1467     String name = "name3373707";
1468     String product = "product-309474065";
1469 
1470     client.removeProductFromProductSet(name, product);
1471 
1472     List<AbstractMessage> actualRequests = mockProductSearch.getRequests();
1473     Assert.assertEquals(1, actualRequests.size());
1474     RemoveProductFromProductSetRequest actualRequest =
1475         ((RemoveProductFromProductSetRequest) actualRequests.get(0));
1476 
1477     Assert.assertEquals(name, actualRequest.getName());
1478     Assert.assertEquals(product, actualRequest.getProduct());
1479     Assert.assertTrue(
1480         channelProvider.isHeaderSent(
1481             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
1482             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
1483   }
1484 
1485   @Test
removeProductFromProductSetExceptionTest4()1486   public void removeProductFromProductSetExceptionTest4() throws Exception {
1487     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
1488     mockProductSearch.addException(exception);
1489 
1490     try {
1491       String name = "name3373707";
1492       String product = "product-309474065";
1493       client.removeProductFromProductSet(name, product);
1494       Assert.fail("No exception raised");
1495     } catch (InvalidArgumentException e) {
1496       // Expected exception.
1497     }
1498   }
1499 
1500   @Test
listProductsInProductSetTest()1501   public void listProductsInProductSetTest() throws Exception {
1502     Product responsesElement = Product.newBuilder().build();
1503     ListProductsInProductSetResponse expectedResponse =
1504         ListProductsInProductSetResponse.newBuilder()
1505             .setNextPageToken("")
1506             .addAllProducts(Arrays.asList(responsesElement))
1507             .build();
1508     mockProductSearch.addResponse(expectedResponse);
1509 
1510     ProductSetName name = ProductSetName.of("[PROJECT]", "[LOCATION]", "[PRODUCT_SET]");
1511 
1512     ListProductsInProductSetPagedResponse pagedListResponse = client.listProductsInProductSet(name);
1513 
1514     List<Product> resources = Lists.newArrayList(pagedListResponse.iterateAll());
1515 
1516     Assert.assertEquals(1, resources.size());
1517     Assert.assertEquals(expectedResponse.getProductsList().get(0), resources.get(0));
1518 
1519     List<AbstractMessage> actualRequests = mockProductSearch.getRequests();
1520     Assert.assertEquals(1, actualRequests.size());
1521     ListProductsInProductSetRequest actualRequest =
1522         ((ListProductsInProductSetRequest) actualRequests.get(0));
1523 
1524     Assert.assertEquals(name.toString(), actualRequest.getName());
1525     Assert.assertTrue(
1526         channelProvider.isHeaderSent(
1527             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
1528             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
1529   }
1530 
1531   @Test
listProductsInProductSetExceptionTest()1532   public void listProductsInProductSetExceptionTest() throws Exception {
1533     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
1534     mockProductSearch.addException(exception);
1535 
1536     try {
1537       ProductSetName name = ProductSetName.of("[PROJECT]", "[LOCATION]", "[PRODUCT_SET]");
1538       client.listProductsInProductSet(name);
1539       Assert.fail("No exception raised");
1540     } catch (InvalidArgumentException e) {
1541       // Expected exception.
1542     }
1543   }
1544 
1545   @Test
listProductsInProductSetTest2()1546   public void listProductsInProductSetTest2() throws Exception {
1547     Product responsesElement = Product.newBuilder().build();
1548     ListProductsInProductSetResponse expectedResponse =
1549         ListProductsInProductSetResponse.newBuilder()
1550             .setNextPageToken("")
1551             .addAllProducts(Arrays.asList(responsesElement))
1552             .build();
1553     mockProductSearch.addResponse(expectedResponse);
1554 
1555     String name = "name3373707";
1556 
1557     ListProductsInProductSetPagedResponse pagedListResponse = client.listProductsInProductSet(name);
1558 
1559     List<Product> resources = Lists.newArrayList(pagedListResponse.iterateAll());
1560 
1561     Assert.assertEquals(1, resources.size());
1562     Assert.assertEquals(expectedResponse.getProductsList().get(0), resources.get(0));
1563 
1564     List<AbstractMessage> actualRequests = mockProductSearch.getRequests();
1565     Assert.assertEquals(1, actualRequests.size());
1566     ListProductsInProductSetRequest actualRequest =
1567         ((ListProductsInProductSetRequest) actualRequests.get(0));
1568 
1569     Assert.assertEquals(name, actualRequest.getName());
1570     Assert.assertTrue(
1571         channelProvider.isHeaderSent(
1572             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
1573             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
1574   }
1575 
1576   @Test
listProductsInProductSetExceptionTest2()1577   public void listProductsInProductSetExceptionTest2() throws Exception {
1578     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
1579     mockProductSearch.addException(exception);
1580 
1581     try {
1582       String name = "name3373707";
1583       client.listProductsInProductSet(name);
1584       Assert.fail("No exception raised");
1585     } catch (InvalidArgumentException e) {
1586       // Expected exception.
1587     }
1588   }
1589 
1590   @Test
importProductSetsTest()1591   public void importProductSetsTest() throws Exception {
1592     ImportProductSetsResponse expectedResponse =
1593         ImportProductSetsResponse.newBuilder()
1594             .addAllReferenceImages(new ArrayList<ReferenceImage>())
1595             .addAllStatuses(new ArrayList<Status>())
1596             .build();
1597     Operation resultOperation =
1598         Operation.newBuilder()
1599             .setName("importProductSetsTest")
1600             .setDone(true)
1601             .setResponse(Any.pack(expectedResponse))
1602             .build();
1603     mockProductSearch.addResponse(resultOperation);
1604 
1605     LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
1606     ImportProductSetsInputConfig inputConfig = ImportProductSetsInputConfig.newBuilder().build();
1607 
1608     ImportProductSetsResponse actualResponse =
1609         client.importProductSetsAsync(parent, inputConfig).get();
1610     Assert.assertEquals(expectedResponse, actualResponse);
1611 
1612     List<AbstractMessage> actualRequests = mockProductSearch.getRequests();
1613     Assert.assertEquals(1, actualRequests.size());
1614     ImportProductSetsRequest actualRequest = ((ImportProductSetsRequest) actualRequests.get(0));
1615 
1616     Assert.assertEquals(parent.toString(), actualRequest.getParent());
1617     Assert.assertEquals(inputConfig, actualRequest.getInputConfig());
1618     Assert.assertTrue(
1619         channelProvider.isHeaderSent(
1620             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
1621             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
1622   }
1623 
1624   @Test
importProductSetsExceptionTest()1625   public void importProductSetsExceptionTest() throws Exception {
1626     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
1627     mockProductSearch.addException(exception);
1628 
1629     try {
1630       LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
1631       ImportProductSetsInputConfig inputConfig = ImportProductSetsInputConfig.newBuilder().build();
1632       client.importProductSetsAsync(parent, inputConfig).get();
1633       Assert.fail("No exception raised");
1634     } catch (ExecutionException e) {
1635       Assert.assertEquals(InvalidArgumentException.class, e.getCause().getClass());
1636       InvalidArgumentException apiException = ((InvalidArgumentException) e.getCause());
1637       Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode());
1638     }
1639   }
1640 
1641   @Test
importProductSetsTest2()1642   public void importProductSetsTest2() throws Exception {
1643     ImportProductSetsResponse expectedResponse =
1644         ImportProductSetsResponse.newBuilder()
1645             .addAllReferenceImages(new ArrayList<ReferenceImage>())
1646             .addAllStatuses(new ArrayList<Status>())
1647             .build();
1648     Operation resultOperation =
1649         Operation.newBuilder()
1650             .setName("importProductSetsTest")
1651             .setDone(true)
1652             .setResponse(Any.pack(expectedResponse))
1653             .build();
1654     mockProductSearch.addResponse(resultOperation);
1655 
1656     String parent = "parent-995424086";
1657     ImportProductSetsInputConfig inputConfig = ImportProductSetsInputConfig.newBuilder().build();
1658 
1659     ImportProductSetsResponse actualResponse =
1660         client.importProductSetsAsync(parent, inputConfig).get();
1661     Assert.assertEquals(expectedResponse, actualResponse);
1662 
1663     List<AbstractMessage> actualRequests = mockProductSearch.getRequests();
1664     Assert.assertEquals(1, actualRequests.size());
1665     ImportProductSetsRequest actualRequest = ((ImportProductSetsRequest) actualRequests.get(0));
1666 
1667     Assert.assertEquals(parent, actualRequest.getParent());
1668     Assert.assertEquals(inputConfig, actualRequest.getInputConfig());
1669     Assert.assertTrue(
1670         channelProvider.isHeaderSent(
1671             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
1672             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
1673   }
1674 
1675   @Test
importProductSetsExceptionTest2()1676   public void importProductSetsExceptionTest2() throws Exception {
1677     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
1678     mockProductSearch.addException(exception);
1679 
1680     try {
1681       String parent = "parent-995424086";
1682       ImportProductSetsInputConfig inputConfig = ImportProductSetsInputConfig.newBuilder().build();
1683       client.importProductSetsAsync(parent, inputConfig).get();
1684       Assert.fail("No exception raised");
1685     } catch (ExecutionException e) {
1686       Assert.assertEquals(InvalidArgumentException.class, e.getCause().getClass());
1687       InvalidArgumentException apiException = ((InvalidArgumentException) e.getCause());
1688       Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode());
1689     }
1690   }
1691 
1692   @Test
purgeProductsTest()1693   public void purgeProductsTest() throws Exception {
1694     Empty expectedResponse = Empty.newBuilder().build();
1695     Operation resultOperation =
1696         Operation.newBuilder()
1697             .setName("purgeProductsTest")
1698             .setDone(true)
1699             .setResponse(Any.pack(expectedResponse))
1700             .build();
1701     mockProductSearch.addResponse(resultOperation);
1702 
1703     LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
1704 
1705     client.purgeProductsAsync(parent).get();
1706 
1707     List<AbstractMessage> actualRequests = mockProductSearch.getRequests();
1708     Assert.assertEquals(1, actualRequests.size());
1709     PurgeProductsRequest actualRequest = ((PurgeProductsRequest) actualRequests.get(0));
1710 
1711     Assert.assertEquals(parent.toString(), actualRequest.getParent());
1712     Assert.assertTrue(
1713         channelProvider.isHeaderSent(
1714             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
1715             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
1716   }
1717 
1718   @Test
purgeProductsExceptionTest()1719   public void purgeProductsExceptionTest() throws Exception {
1720     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
1721     mockProductSearch.addException(exception);
1722 
1723     try {
1724       LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
1725       client.purgeProductsAsync(parent).get();
1726       Assert.fail("No exception raised");
1727     } catch (ExecutionException e) {
1728       Assert.assertEquals(InvalidArgumentException.class, e.getCause().getClass());
1729       InvalidArgumentException apiException = ((InvalidArgumentException) e.getCause());
1730       Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode());
1731     }
1732   }
1733 
1734   @Test
purgeProductsTest2()1735   public void purgeProductsTest2() throws Exception {
1736     Empty expectedResponse = Empty.newBuilder().build();
1737     Operation resultOperation =
1738         Operation.newBuilder()
1739             .setName("purgeProductsTest")
1740             .setDone(true)
1741             .setResponse(Any.pack(expectedResponse))
1742             .build();
1743     mockProductSearch.addResponse(resultOperation);
1744 
1745     String parent = "parent-995424086";
1746 
1747     client.purgeProductsAsync(parent).get();
1748 
1749     List<AbstractMessage> actualRequests = mockProductSearch.getRequests();
1750     Assert.assertEquals(1, actualRequests.size());
1751     PurgeProductsRequest actualRequest = ((PurgeProductsRequest) actualRequests.get(0));
1752 
1753     Assert.assertEquals(parent, actualRequest.getParent());
1754     Assert.assertTrue(
1755         channelProvider.isHeaderSent(
1756             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
1757             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
1758   }
1759 
1760   @Test
purgeProductsExceptionTest2()1761   public void purgeProductsExceptionTest2() throws Exception {
1762     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
1763     mockProductSearch.addException(exception);
1764 
1765     try {
1766       String parent = "parent-995424086";
1767       client.purgeProductsAsync(parent).get();
1768       Assert.fail("No exception raised");
1769     } catch (ExecutionException e) {
1770       Assert.assertEquals(InvalidArgumentException.class, e.getCause().getClass());
1771       InvalidArgumentException apiException = ((InvalidArgumentException) e.getCause());
1772       Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode());
1773     }
1774   }
1775 }
1776