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