• 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 com.google.api.gax.core.NoCredentialsProvider;
20 import com.google.api.gax.grpc.GaxGrpcProperties;
21 import com.google.api.gax.grpc.testing.LocalChannelProvider;
22 import com.google.api.gax.grpc.testing.MockGrpcService;
23 import com.google.api.gax.grpc.testing.MockServiceHelper;
24 import com.google.api.gax.rpc.ApiClientHeaderProvider;
25 import com.google.api.gax.rpc.InvalidArgumentException;
26 import com.google.protobuf.AbstractMessage;
27 import io.grpc.StatusRuntimeException;
28 import java.io.IOException;
29 import java.util.ArrayList;
30 import java.util.Arrays;
31 import java.util.List;
32 import java.util.UUID;
33 import javax.annotation.Generated;
34 import org.junit.After;
35 import org.junit.AfterClass;
36 import org.junit.Assert;
37 import org.junit.Before;
38 import org.junit.BeforeClass;
39 import org.junit.Test;
40 
41 @Generated("by gapic-generator-java")
42 public class CompletionClientTest {
43   private static MockCompletion mockCompletion;
44   private static MockServiceHelper mockServiceHelper;
45   private LocalChannelProvider channelProvider;
46   private CompletionClient client;
47 
48   @BeforeClass
startStaticServer()49   public static void startStaticServer() {
50     mockCompletion = new MockCompletion();
51     mockServiceHelper =
52         new MockServiceHelper(
53             UUID.randomUUID().toString(), Arrays.<MockGrpcService>asList(mockCompletion));
54     mockServiceHelper.start();
55   }
56 
57   @AfterClass
stopServer()58   public static void stopServer() {
59     mockServiceHelper.stop();
60   }
61 
62   @Before
setUp()63   public void setUp() throws IOException {
64     mockServiceHelper.reset();
65     channelProvider = mockServiceHelper.createChannelProvider();
66     CompletionSettings settings =
67         CompletionSettings.newBuilder()
68             .setTransportChannelProvider(channelProvider)
69             .setCredentialsProvider(NoCredentialsProvider.create())
70             .build();
71     client = CompletionClient.create(settings);
72   }
73 
74   @After
tearDown()75   public void tearDown() throws Exception {
76     client.close();
77   }
78 
79   @Test
completeQueryTest()80   public void completeQueryTest() throws Exception {
81     CompleteQueryResponse expectedResponse =
82         CompleteQueryResponse.newBuilder()
83             .addAllCompletionResults(new ArrayList<CompleteQueryResponse.CompletionResult>())
84             .setMetadata(ResponseMetadata.newBuilder().build())
85             .build();
86     mockCompletion.addResponse(expectedResponse);
87 
88     CompleteQueryRequest request =
89         CompleteQueryRequest.newBuilder()
90             .setParent(TenantName.of("[PROJECT]", "[TENANT]").toString())
91             .setQuery("query107944136")
92             .addAllLanguageCodes(new ArrayList<String>())
93             .setPageSize(883849137)
94             .setCompany(
95                 CompanyName.ofProjectTenantCompanyName("[PROJECT]", "[TENANT]", "[COMPANY]")
96                     .toString())
97             .build();
98 
99     CompleteQueryResponse actualResponse = client.completeQuery(request);
100     Assert.assertEquals(expectedResponse, actualResponse);
101 
102     List<AbstractMessage> actualRequests = mockCompletion.getRequests();
103     Assert.assertEquals(1, actualRequests.size());
104     CompleteQueryRequest actualRequest = ((CompleteQueryRequest) actualRequests.get(0));
105 
106     Assert.assertEquals(request.getParent(), actualRequest.getParent());
107     Assert.assertEquals(request.getQuery(), actualRequest.getQuery());
108     Assert.assertEquals(request.getLanguageCodesList(), actualRequest.getLanguageCodesList());
109     Assert.assertEquals(request.getPageSize(), actualRequest.getPageSize());
110     Assert.assertEquals(request.getCompany(), actualRequest.getCompany());
111     Assert.assertEquals(request.getScope(), actualRequest.getScope());
112     Assert.assertEquals(request.getType(), actualRequest.getType());
113     Assert.assertTrue(
114         channelProvider.isHeaderSent(
115             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
116             GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
117   }
118 
119   @Test
completeQueryExceptionTest()120   public void completeQueryExceptionTest() throws Exception {
121     StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT);
122     mockCompletion.addException(exception);
123 
124     try {
125       CompleteQueryRequest request =
126           CompleteQueryRequest.newBuilder()
127               .setParent(TenantName.of("[PROJECT]", "[TENANT]").toString())
128               .setQuery("query107944136")
129               .addAllLanguageCodes(new ArrayList<String>())
130               .setPageSize(883849137)
131               .setCompany(
132                   CompanyName.ofProjectTenantCompanyName("[PROJECT]", "[TENANT]", "[COMPANY]")
133                       .toString())
134               .build();
135       client.completeQuery(request);
136       Assert.fail("No exception raised");
137     } catch (InvalidArgumentException e) {
138       // Expected exception.
139     }
140   }
141 }
142