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