• 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.assuredworkloads.v1beta1;
18 
19 import com.google.api.gax.core.NoCredentialsProvider;
20 import com.google.api.gax.httpjson.GaxHttpJsonProperties;
21 import com.google.api.gax.httpjson.testing.MockHttpService;
22 import com.google.api.gax.rpc.ApiClientHeaderProvider;
23 import com.google.api.gax.rpc.ApiException;
24 import com.google.api.gax.rpc.ApiExceptionFactory;
25 import com.google.api.gax.rpc.InvalidArgumentException;
26 import com.google.api.gax.rpc.StatusCode;
27 import com.google.api.gax.rpc.testing.FakeStatusCode;
28 import com.google.cloud.assuredworkloads.v1beta1.stub.HttpJsonAssuredWorkloadsServiceStub;
29 import com.google.longrunning.Operation;
30 import com.google.protobuf.Any;
31 import com.google.protobuf.Empty;
32 import com.google.protobuf.Timestamp;
33 import java.io.IOException;
34 import java.util.ArrayList;
35 import java.util.HashMap;
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 AssuredWorkloadsServiceClientHttpJsonTest {
48   private static MockHttpService mockService;
49   private static AssuredWorkloadsServiceClient client;
50 
51   @BeforeClass
startStaticServer()52   public static void startStaticServer() throws IOException {
53     mockService =
54         new MockHttpService(
55             HttpJsonAssuredWorkloadsServiceStub.getMethodDescriptors(),
56             AssuredWorkloadsServiceSettings.getDefaultEndpoint());
57     AssuredWorkloadsServiceSettings settings =
58         AssuredWorkloadsServiceSettings.newHttpJsonBuilder()
59             .setTransportChannelProvider(
60                 AssuredWorkloadsServiceSettings.defaultHttpJsonTransportProviderBuilder()
61                     .setHttpTransport(mockService)
62                     .build())
63             .setCredentialsProvider(NoCredentialsProvider.create())
64             .build();
65     client = AssuredWorkloadsServiceClient.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
createWorkloadTest()82   public void createWorkloadTest() throws Exception {
83     Workload expectedResponse =
84         Workload.newBuilder()
85             .setName(WorkloadName.of("[ORGANIZATION]", "[LOCATION]", "[WORKLOAD]").toString())
86             .setDisplayName("displayName1714148973")
87             .addAllResources(new ArrayList<Workload.ResourceInfo>())
88             .setCreateTime(Timestamp.newBuilder().build())
89             .setBillingAccount("billingAccount708726578")
90             .setEtag("etag3123477")
91             .putAllLabels(new HashMap<String, String>())
92             .setProvisionedResourcesParent("provisionedResourcesParent1733249115")
93             .setKmsSettings(Workload.KMSSettings.newBuilder().build())
94             .addAllResourceSettings(new ArrayList<Workload.ResourceSettings>())
95             .setEnableSovereignControls(true)
96             .setSaaEnrollmentResponse(Workload.SaaEnrollmentResponse.newBuilder().build())
97             .addAllCompliantButDisallowedServices(new ArrayList<String>())
98             .build();
99     Operation resultOperation =
100         Operation.newBuilder()
101             .setName("createWorkloadTest")
102             .setDone(true)
103             .setResponse(Any.pack(expectedResponse))
104             .build();
105     mockService.addResponse(resultOperation);
106 
107     LocationName parent = LocationName.of("[ORGANIZATION]", "[LOCATION]");
108     Workload workload = Workload.newBuilder().build();
109 
110     Workload actualResponse = client.createWorkloadAsync(parent, workload).get();
111     Assert.assertEquals(expectedResponse, actualResponse);
112 
113     List<String> actualRequests = mockService.getRequestPaths();
114     Assert.assertEquals(1, actualRequests.size());
115 
116     String apiClientHeaderKey =
117         mockService
118             .getRequestHeaders()
119             .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
120             .iterator()
121             .next();
122     Assert.assertTrue(
123         GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
124             .matcher(apiClientHeaderKey)
125             .matches());
126   }
127 
128   @Test
createWorkloadExceptionTest()129   public void createWorkloadExceptionTest() throws Exception {
130     ApiException exception =
131         ApiExceptionFactory.createException(
132             new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
133     mockService.addException(exception);
134 
135     try {
136       LocationName parent = LocationName.of("[ORGANIZATION]", "[LOCATION]");
137       Workload workload = Workload.newBuilder().build();
138       client.createWorkloadAsync(parent, workload).get();
139       Assert.fail("No exception raised");
140     } catch (ExecutionException e) {
141     }
142   }
143 
144   @Test
createWorkloadTest2()145   public void createWorkloadTest2() throws Exception {
146     Workload expectedResponse =
147         Workload.newBuilder()
148             .setName(WorkloadName.of("[ORGANIZATION]", "[LOCATION]", "[WORKLOAD]").toString())
149             .setDisplayName("displayName1714148973")
150             .addAllResources(new ArrayList<Workload.ResourceInfo>())
151             .setCreateTime(Timestamp.newBuilder().build())
152             .setBillingAccount("billingAccount708726578")
153             .setEtag("etag3123477")
154             .putAllLabels(new HashMap<String, String>())
155             .setProvisionedResourcesParent("provisionedResourcesParent1733249115")
156             .setKmsSettings(Workload.KMSSettings.newBuilder().build())
157             .addAllResourceSettings(new ArrayList<Workload.ResourceSettings>())
158             .setEnableSovereignControls(true)
159             .setSaaEnrollmentResponse(Workload.SaaEnrollmentResponse.newBuilder().build())
160             .addAllCompliantButDisallowedServices(new ArrayList<String>())
161             .build();
162     Operation resultOperation =
163         Operation.newBuilder()
164             .setName("createWorkloadTest")
165             .setDone(true)
166             .setResponse(Any.pack(expectedResponse))
167             .build();
168     mockService.addResponse(resultOperation);
169 
170     String parent = "organizations/organization-9365/locations/location-9365";
171     Workload workload = Workload.newBuilder().build();
172 
173     Workload actualResponse = client.createWorkloadAsync(parent, workload).get();
174     Assert.assertEquals(expectedResponse, actualResponse);
175 
176     List<String> actualRequests = mockService.getRequestPaths();
177     Assert.assertEquals(1, actualRequests.size());
178 
179     String apiClientHeaderKey =
180         mockService
181             .getRequestHeaders()
182             .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
183             .iterator()
184             .next();
185     Assert.assertTrue(
186         GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
187             .matcher(apiClientHeaderKey)
188             .matches());
189   }
190 
191   @Test
createWorkloadExceptionTest2()192   public void createWorkloadExceptionTest2() throws Exception {
193     ApiException exception =
194         ApiExceptionFactory.createException(
195             new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
196     mockService.addException(exception);
197 
198     try {
199       String parent = "organizations/organization-9365/locations/location-9365";
200       Workload workload = Workload.newBuilder().build();
201       client.createWorkloadAsync(parent, workload).get();
202       Assert.fail("No exception raised");
203     } catch (ExecutionException e) {
204     }
205   }
206 
207   @Test
updateWorkloadUnsupportedMethodTest()208   public void updateWorkloadUnsupportedMethodTest() throws Exception {
209     // The updateWorkload() method is not supported in REST transport.
210     // This empty test is generated for technical reasons.
211   }
212 
213   @Test
restrictAllowedResourcesTest()214   public void restrictAllowedResourcesTest() throws Exception {
215     RestrictAllowedResourcesResponse expectedResponse =
216         RestrictAllowedResourcesResponse.newBuilder().build();
217     mockService.addResponse(expectedResponse);
218 
219     RestrictAllowedResourcesRequest request =
220         RestrictAllowedResourcesRequest.newBuilder()
221             .setName(
222                 "organizations/organization-4962/locations/location-4962/workloads/workload-4962")
223             .build();
224 
225     RestrictAllowedResourcesResponse actualResponse = client.restrictAllowedResources(request);
226     Assert.assertEquals(expectedResponse, actualResponse);
227 
228     List<String> actualRequests = mockService.getRequestPaths();
229     Assert.assertEquals(1, actualRequests.size());
230 
231     String apiClientHeaderKey =
232         mockService
233             .getRequestHeaders()
234             .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
235             .iterator()
236             .next();
237     Assert.assertTrue(
238         GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
239             .matcher(apiClientHeaderKey)
240             .matches());
241   }
242 
243   @Test
restrictAllowedResourcesExceptionTest()244   public void restrictAllowedResourcesExceptionTest() throws Exception {
245     ApiException exception =
246         ApiExceptionFactory.createException(
247             new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
248     mockService.addException(exception);
249 
250     try {
251       RestrictAllowedResourcesRequest request =
252           RestrictAllowedResourcesRequest.newBuilder()
253               .setName(
254                   "organizations/organization-4962/locations/location-4962/workloads/workload-4962")
255               .build();
256       client.restrictAllowedResources(request);
257       Assert.fail("No exception raised");
258     } catch (InvalidArgumentException e) {
259       // Expected exception.
260     }
261   }
262 
263   @Test
deleteWorkloadTest()264   public void deleteWorkloadTest() throws Exception {
265     Empty expectedResponse = Empty.newBuilder().build();
266     mockService.addResponse(expectedResponse);
267 
268     WorkloadName name = WorkloadName.of("[ORGANIZATION]", "[LOCATION]", "[WORKLOAD]");
269 
270     client.deleteWorkload(name);
271 
272     List<String> actualRequests = mockService.getRequestPaths();
273     Assert.assertEquals(1, actualRequests.size());
274 
275     String apiClientHeaderKey =
276         mockService
277             .getRequestHeaders()
278             .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
279             .iterator()
280             .next();
281     Assert.assertTrue(
282         GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
283             .matcher(apiClientHeaderKey)
284             .matches());
285   }
286 
287   @Test
deleteWorkloadExceptionTest()288   public void deleteWorkloadExceptionTest() throws Exception {
289     ApiException exception =
290         ApiExceptionFactory.createException(
291             new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
292     mockService.addException(exception);
293 
294     try {
295       WorkloadName name = WorkloadName.of("[ORGANIZATION]", "[LOCATION]", "[WORKLOAD]");
296       client.deleteWorkload(name);
297       Assert.fail("No exception raised");
298     } catch (InvalidArgumentException e) {
299       // Expected exception.
300     }
301   }
302 
303   @Test
deleteWorkloadTest2()304   public void deleteWorkloadTest2() throws Exception {
305     Empty expectedResponse = Empty.newBuilder().build();
306     mockService.addResponse(expectedResponse);
307 
308     String name = "organizations/organization-4962/locations/location-4962/workloads/workload-4962";
309 
310     client.deleteWorkload(name);
311 
312     List<String> actualRequests = mockService.getRequestPaths();
313     Assert.assertEquals(1, actualRequests.size());
314 
315     String apiClientHeaderKey =
316         mockService
317             .getRequestHeaders()
318             .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
319             .iterator()
320             .next();
321     Assert.assertTrue(
322         GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
323             .matcher(apiClientHeaderKey)
324             .matches());
325   }
326 
327   @Test
deleteWorkloadExceptionTest2()328   public void deleteWorkloadExceptionTest2() throws Exception {
329     ApiException exception =
330         ApiExceptionFactory.createException(
331             new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
332     mockService.addException(exception);
333 
334     try {
335       String name =
336           "organizations/organization-4962/locations/location-4962/workloads/workload-4962";
337       client.deleteWorkload(name);
338       Assert.fail("No exception raised");
339     } catch (InvalidArgumentException e) {
340       // Expected exception.
341     }
342   }
343 
344   @Test
getWorkloadUnsupportedMethodTest()345   public void getWorkloadUnsupportedMethodTest() throws Exception {
346     // The getWorkload() method is not supported in REST transport.
347     // This empty test is generated for technical reasons.
348   }
349 
350   @Test
analyzeWorkloadMoveUnsupportedMethodTest()351   public void analyzeWorkloadMoveUnsupportedMethodTest() throws Exception {
352     // The analyzeWorkloadMove() method is not supported in REST transport.
353     // This empty test is generated for technical reasons.
354   }
355 
356   @Test
listWorkloadsUnsupportedMethodTest()357   public void listWorkloadsUnsupportedMethodTest() throws Exception {
358     // The listWorkloads() method is not supported in REST transport.
359     // This empty test is generated for technical reasons.
360   }
361 }
362