• 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.compute.v1;
18 
19 import static com.google.cloud.compute.v1.RegionNetworkEndpointGroupsClient.ListPagedResponse;
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.compute.v1.Operation.Status;
31 import com.google.cloud.compute.v1.stub.HttpJsonRegionNetworkEndpointGroupsStub;
32 import com.google.common.collect.Lists;
33 import java.io.IOException;
34 import java.util.ArrayList;
35 import java.util.Arrays;
36 import java.util.HashMap;
37 import java.util.List;
38 import java.util.concurrent.ExecutionException;
39 import javax.annotation.Generated;
40 import org.junit.After;
41 import org.junit.AfterClass;
42 import org.junit.Assert;
43 import org.junit.Before;
44 import org.junit.BeforeClass;
45 import org.junit.Test;
46 
47 @Generated("by gapic-generator-java")
48 public class RegionNetworkEndpointGroupsClientTest {
49   private static MockHttpService mockService;
50   private static RegionNetworkEndpointGroupsClient client;
51 
52   @BeforeClass
startStaticServer()53   public static void startStaticServer() throws IOException {
54     mockService =
55         new MockHttpService(
56             HttpJsonRegionNetworkEndpointGroupsStub.getMethodDescriptors(),
57             RegionNetworkEndpointGroupsSettings.getDefaultEndpoint());
58     RegionNetworkEndpointGroupsSettings settings =
59         RegionNetworkEndpointGroupsSettings.newBuilder()
60             .setTransportChannelProvider(
61                 RegionNetworkEndpointGroupsSettings.defaultHttpJsonTransportProviderBuilder()
62                     .setHttpTransport(mockService)
63                     .build())
64             .setCredentialsProvider(NoCredentialsProvider.create())
65             .build();
66     client = RegionNetworkEndpointGroupsClient.create(settings);
67   }
68 
69   @AfterClass
stopServer()70   public static void stopServer() {
71     client.close();
72   }
73 
74   @Before
setUp()75   public void setUp() {}
76 
77   @After
tearDown()78   public void tearDown() throws Exception {
79     mockService.reset();
80   }
81 
82   @Test
deleteTest()83   public void deleteTest() throws Exception {
84     Operation expectedResponse =
85         Operation.newBuilder()
86             .setClientOperationId("clientOperationId-1230366697")
87             .setCreationTimestamp("creationTimestamp-370203401")
88             .setDescription("description-1724546052")
89             .setEndTime("endTime-1607243192")
90             .setError(Error.newBuilder().build())
91             .setHttpErrorMessage("httpErrorMessage1577303431")
92             .setHttpErrorStatusCode(0)
93             .setId(3355)
94             .setInsertTime("insertTime966165798")
95             .setKind("kind3292052")
96             .setName("name3373707")
97             .setOperationGroupId("operationGroupId1716161683")
98             .setOperationType("operationType91999553")
99             .setProgress(-1001078227)
100             .setRegion("region-934795532")
101             .setSelfLink("selfLink1191800166")
102             .setStartTime("startTime-2129294769")
103             .setStatus(Status.DONE)
104             .setStatusMessage("statusMessage-958704715")
105             .setTargetId(-815576439)
106             .setTargetLink("targetLink486368555")
107             .setUser("user3599307")
108             .addAllWarnings(new ArrayList<Warnings>())
109             .setZone("zone3744684")
110             .build();
111     mockService.addResponse(expectedResponse);
112 
113     String project = "project-6911";
114     String region = "region-9622";
115     String networkEndpointGroup = "networkEndpointGroup-386";
116 
117     Operation actualResponse = client.deleteAsync(project, region, networkEndpointGroup).get();
118     Assert.assertEquals(expectedResponse, actualResponse);
119 
120     List<String> actualRequests = mockService.getRequestPaths();
121     Assert.assertEquals(1, actualRequests.size());
122 
123     String apiClientHeaderKey =
124         mockService
125             .getRequestHeaders()
126             .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
127             .iterator()
128             .next();
129     Assert.assertTrue(
130         GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
131             .matcher(apiClientHeaderKey)
132             .matches());
133   }
134 
135   @Test
deleteExceptionTest()136   public void deleteExceptionTest() throws Exception {
137     ApiException exception =
138         ApiExceptionFactory.createException(
139             new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
140     mockService.addException(exception);
141 
142     try {
143       String project = "project-6911";
144       String region = "region-9622";
145       String networkEndpointGroup = "networkEndpointGroup-386";
146       client.deleteAsync(project, region, networkEndpointGroup).get();
147       Assert.fail("No exception raised");
148     } catch (ExecutionException e) {
149     }
150   }
151 
152   @Test
getTest()153   public void getTest() throws Exception {
154     NetworkEndpointGroup expectedResponse =
155         NetworkEndpointGroup.newBuilder()
156             .putAllAnnotations(new HashMap<String, String>())
157             .setAppEngine(NetworkEndpointGroupAppEngine.newBuilder().build())
158             .setCloudFunction(NetworkEndpointGroupCloudFunction.newBuilder().build())
159             .setCloudRun(NetworkEndpointGroupCloudRun.newBuilder().build())
160             .setCreationTimestamp("creationTimestamp-370203401")
161             .setDefaultPort(-650363969)
162             .setDescription("description-1724546052")
163             .setId(3355)
164             .setKind("kind3292052")
165             .setName("name3373707")
166             .setNetwork("network1843485230")
167             .setNetworkEndpointType("networkEndpointType1733109693")
168             .setPscData(NetworkEndpointGroupPscData.newBuilder().build())
169             .setPscTargetService("pscTargetService-1789055740")
170             .setRegion("region-934795532")
171             .setSelfLink("selfLink1191800166")
172             .setSize(3530753)
173             .setSubnetwork("subnetwork-1302785042")
174             .setZone("zone3744684")
175             .build();
176     mockService.addResponse(expectedResponse);
177 
178     String project = "project-6911";
179     String region = "region-9622";
180     String networkEndpointGroup = "networkEndpointGroup-386";
181 
182     NetworkEndpointGroup actualResponse = client.get(project, region, networkEndpointGroup);
183     Assert.assertEquals(expectedResponse, actualResponse);
184 
185     List<String> actualRequests = mockService.getRequestPaths();
186     Assert.assertEquals(1, actualRequests.size());
187 
188     String apiClientHeaderKey =
189         mockService
190             .getRequestHeaders()
191             .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
192             .iterator()
193             .next();
194     Assert.assertTrue(
195         GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
196             .matcher(apiClientHeaderKey)
197             .matches());
198   }
199 
200   @Test
getExceptionTest()201   public void getExceptionTest() throws Exception {
202     ApiException exception =
203         ApiExceptionFactory.createException(
204             new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
205     mockService.addException(exception);
206 
207     try {
208       String project = "project-6911";
209       String region = "region-9622";
210       String networkEndpointGroup = "networkEndpointGroup-386";
211       client.get(project, region, networkEndpointGroup);
212       Assert.fail("No exception raised");
213     } catch (InvalidArgumentException e) {
214       // Expected exception.
215     }
216   }
217 
218   @Test
insertTest()219   public void insertTest() throws Exception {
220     Operation expectedResponse =
221         Operation.newBuilder()
222             .setClientOperationId("clientOperationId-1230366697")
223             .setCreationTimestamp("creationTimestamp-370203401")
224             .setDescription("description-1724546052")
225             .setEndTime("endTime-1607243192")
226             .setError(Error.newBuilder().build())
227             .setHttpErrorMessage("httpErrorMessage1577303431")
228             .setHttpErrorStatusCode(0)
229             .setId(3355)
230             .setInsertTime("insertTime966165798")
231             .setKind("kind3292052")
232             .setName("name3373707")
233             .setOperationGroupId("operationGroupId1716161683")
234             .setOperationType("operationType91999553")
235             .setProgress(-1001078227)
236             .setRegion("region-934795532")
237             .setSelfLink("selfLink1191800166")
238             .setStartTime("startTime-2129294769")
239             .setStatus(Status.DONE)
240             .setStatusMessage("statusMessage-958704715")
241             .setTargetId(-815576439)
242             .setTargetLink("targetLink486368555")
243             .setUser("user3599307")
244             .addAllWarnings(new ArrayList<Warnings>())
245             .setZone("zone3744684")
246             .build();
247     mockService.addResponse(expectedResponse);
248 
249     String project = "project-6911";
250     String region = "region-9622";
251     NetworkEndpointGroup networkEndpointGroupResource = NetworkEndpointGroup.newBuilder().build();
252 
253     Operation actualResponse =
254         client.insertAsync(project, region, networkEndpointGroupResource).get();
255     Assert.assertEquals(expectedResponse, actualResponse);
256 
257     List<String> actualRequests = mockService.getRequestPaths();
258     Assert.assertEquals(1, actualRequests.size());
259 
260     String apiClientHeaderKey =
261         mockService
262             .getRequestHeaders()
263             .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
264             .iterator()
265             .next();
266     Assert.assertTrue(
267         GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
268             .matcher(apiClientHeaderKey)
269             .matches());
270   }
271 
272   @Test
insertExceptionTest()273   public void insertExceptionTest() throws Exception {
274     ApiException exception =
275         ApiExceptionFactory.createException(
276             new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
277     mockService.addException(exception);
278 
279     try {
280       String project = "project-6911";
281       String region = "region-9622";
282       NetworkEndpointGroup networkEndpointGroupResource = NetworkEndpointGroup.newBuilder().build();
283       client.insertAsync(project, region, networkEndpointGroupResource).get();
284       Assert.fail("No exception raised");
285     } catch (ExecutionException e) {
286     }
287   }
288 
289   @Test
listTest()290   public void listTest() throws Exception {
291     NetworkEndpointGroup responsesElement = NetworkEndpointGroup.newBuilder().build();
292     NetworkEndpointGroupList expectedResponse =
293         NetworkEndpointGroupList.newBuilder()
294             .setNextPageToken("")
295             .addAllItems(Arrays.asList(responsesElement))
296             .build();
297     mockService.addResponse(expectedResponse);
298 
299     String project = "project-6911";
300     String region = "region-9622";
301 
302     ListPagedResponse pagedListResponse = client.list(project, region);
303 
304     List<NetworkEndpointGroup> resources = Lists.newArrayList(pagedListResponse.iterateAll());
305 
306     Assert.assertEquals(1, resources.size());
307     Assert.assertEquals(expectedResponse.getItemsList().get(0), resources.get(0));
308 
309     List<String> actualRequests = mockService.getRequestPaths();
310     Assert.assertEquals(1, actualRequests.size());
311 
312     String apiClientHeaderKey =
313         mockService
314             .getRequestHeaders()
315             .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
316             .iterator()
317             .next();
318     Assert.assertTrue(
319         GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
320             .matcher(apiClientHeaderKey)
321             .matches());
322   }
323 
324   @Test
listExceptionTest()325   public void listExceptionTest() throws Exception {
326     ApiException exception =
327         ApiExceptionFactory.createException(
328             new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
329     mockService.addException(exception);
330 
331     try {
332       String project = "project-6911";
333       String region = "region-9622";
334       client.list(project, region);
335       Assert.fail("No exception raised");
336     } catch (InvalidArgumentException e) {
337       // Expected exception.
338     }
339   }
340 }
341