2 * ============LICENSE_START======================================================================
3 * Copyright (C) 2023 Nordix Foundation. All rights reserved.
4 * ===============================================================================================
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
9 * http://www.apache.org/licenses/LICENSE-2.0
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 * ============LICENSE_END========================================================================
19 package com.oransc.rappmanager.sme.service;
21 import static org.junit.jupiter.api.Assertions.assertEquals;
22 import static org.junit.jupiter.api.Assertions.assertFalse;
23 import static org.junit.jupiter.api.Assertions.assertNull;
24 import static org.junit.jupiter.api.Assertions.assertTrue;
25 import static org.springframework.test.web.client.match.MockRestRequestMatchers.method;
26 import static org.springframework.test.web.client.match.MockRestRequestMatchers.requestTo;
27 import static org.springframework.test.web.client.response.MockRestResponseCreators.withStatus;
29 import com.fasterxml.jackson.core.JsonProcessingException;
30 import com.fasterxml.jackson.databind.ObjectMapper;
31 import com.oransc.rappmanager.models.rapp.Rapp;
32 import com.oransc.rappmanager.models.csar.RappCsarConfigurationHandler;
33 import com.oransc.rappmanager.models.rappinstance.RappInstance;
34 import com.oransc.rappmanager.models.rappinstance.RappSMEInstance;
35 import com.oransc.rappmanager.models.rapp.RappState;
36 import com.oransc.rappmanager.models.cache.RappCacheService;
37 import com.oransc.rappmanager.models.statemachine.RappInstanceStateMachine;
38 import com.oransc.rappmanager.models.statemachine.RappInstanceStateMachineConfig;
39 import com.oransc.rappmanager.sme.configuration.SmeConfiguration;
40 import com.oransc.rappmanager.sme.invoker.data.APIInvokerEnrolmentDetails;
41 import com.oransc.rappmanager.sme.provider.data.APIProviderEnrolmentDetails;
42 import com.oransc.rappmanager.sme.provider.data.APIProviderFunctionDetails;
43 import com.oransc.rappmanager.sme.provider.data.ApiProviderFuncRole;
44 import com.oransc.rappmanager.sme.publishservice.data.AefProfile;
45 import com.oransc.rappmanager.sme.publishservice.data.ServiceAPIDescription;
46 import java.util.List;
48 import java.util.UUID;
49 import org.junit.jupiter.api.BeforeAll;
50 import org.junit.jupiter.api.BeforeEach;
51 import org.junit.jupiter.api.Test;
52 import org.junit.jupiter.api.TestInstance;
53 import org.springframework.beans.factory.annotation.Autowired;
54 import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
55 import org.springframework.boot.test.context.SpringBootTest;
56 import org.springframework.boot.test.mock.mockito.SpyBean;
57 import org.springframework.http.HttpMethod;
58 import org.springframework.http.HttpStatus;
59 import org.springframework.http.MediaType;
60 import org.springframework.test.web.client.ExpectedCount;
61 import org.springframework.test.web.client.MockRestServiceServer;
62 import org.springframework.web.client.RestTemplate;
64 @SpringBootTest(classes = {SmeConfiguration.class, SmeDeployer.class, BeanTestConfiguration.class,
65 RappCsarConfigurationHandler.class, RappCacheService.class, RappInstanceStateMachineConfig.class,
66 RappInstanceStateMachine.class})
67 @TestInstance(TestInstance.Lifecycle.PER_CLASS)
69 class SmeDeployerTest {
71 MockRestServiceServer mockServer;
74 SmeDeployer smeDeployer;
76 RestTemplate restTemplate;
78 SmeConfiguration smeConfiguration;
79 String validCsarFileLocation = "src/test/resources/";
81 RappInstanceStateMachine rappInstanceStateMachine;
83 RappCacheService rappCacheService;
85 ObjectMapper objectMapper;
86 private final String validRappFile = "valid-rapp-package.csar";
87 String URI_PROVIDER_REGISTRATIONS, URI_PROVIDER_REGISTRATION, URI_PUBLISH_APIS, URI_PUBLISH_API, URI_INVOKERS,
92 URI_PROVIDER_REGISTRATIONS =
93 smeConfiguration.getBaseUrl() + smeConfiguration.getProviderBasePath() + "registrations";
94 URI_PROVIDER_REGISTRATION =
95 smeConfiguration.getBaseUrl() + smeConfiguration.getProviderBasePath() + "registrations/%s";
96 URI_PUBLISH_APIS = smeConfiguration.getBaseUrl() + smeConfiguration.getPublishApiBasePath() + "%s/service-apis";
98 smeConfiguration.getBaseUrl() + smeConfiguration.getPublishApiBasePath() + "%s/service-apis/%s";
99 URI_INVOKERS = smeConfiguration.getBaseUrl() + smeConfiguration.getInvokerBasePath() + "onboardedInvokers";
100 URI_INVOKER = smeConfiguration.getBaseUrl() + smeConfiguration.getInvokerBasePath() + "onboardedInvokers/%s";
105 mockServer = MockRestServiceServer.createServer(restTemplate);
109 void testCreateAMF() throws JsonProcessingException {
110 String apiProvDomId = UUID.randomUUID().toString();
111 APIProviderEnrolmentDetails apiProviderEnrolmentDetails = new APIProviderEnrolmentDetails(apiProvDomId);
112 mockServer.expect(ExpectedCount.once(), requestTo(URI_PROVIDER_REGISTRATIONS))
113 .andExpect(method(HttpMethod.POST)).andRespond(
114 withStatus(HttpStatus.OK).contentType(MediaType.APPLICATION_JSON)
115 .body(objectMapper.writeValueAsString(apiProviderEnrolmentDetails)));
116 APIProviderEnrolmentDetails apiProviderEnrolmentResponse = smeDeployer.createAMF();
118 assertEquals(apiProvDomId, apiProviderEnrolmentResponse.getApiProvDomId());
122 void testCreateAMFFailure() {
123 mockServer.expect(ExpectedCount.once(), requestTo(URI_PROVIDER_REGISTRATIONS))
124 .andExpect(method(HttpMethod.POST)).andRespond(withStatus(HttpStatus.INTERNAL_SERVER_ERROR));
125 APIProviderEnrolmentDetails apiProviderEnrolmentResponse = smeDeployer.createAMF();
127 assertNull(apiProviderEnrolmentResponse);
131 void testDeleteAMF() throws JsonProcessingException {
132 String apiProvDomId = UUID.randomUUID().toString();
133 APIProviderEnrolmentDetails apiProviderEnrolmentDetails = new APIProviderEnrolmentDetails(apiProvDomId);
134 mockServer.expect(ExpectedCount.once(), requestTo(URI_PROVIDER_REGISTRATIONS))
135 .andExpect(method(HttpMethod.POST)).andRespond(
136 withStatus(HttpStatus.OK).contentType(MediaType.APPLICATION_JSON)
137 .body(objectMapper.writeValueAsString(apiProviderEnrolmentDetails)));
138 mockServer.expect(ExpectedCount.once(), requestTo(String.format(URI_PROVIDER_REGISTRATION, apiProvDomId)))
139 .andExpect(method(HttpMethod.DELETE)).andRespond(withStatus(HttpStatus.NO_CONTENT));
140 smeDeployer.createAMF();
141 smeDeployer.deleteAMF();
146 void testCreateProviderDomain() throws Exception {
147 UUID rappId = UUID.randomUUID();
149 Rapp.builder().rappId(rappId).name("").packageName(validRappFile).packageLocation(validCsarFileLocation)
150 .state(RappState.COMMISSIONED).build();
151 APIProviderEnrolmentDetails apiProviderEnrolmentDetails = getProviderDomainApiEnrollmentDetails();
152 mockServer.expect(ExpectedCount.once(), requestTo(URI_PROVIDER_REGISTRATIONS))
153 .andExpect(method(HttpMethod.POST)).andRespond(
154 withStatus(HttpStatus.OK).contentType(MediaType.APPLICATION_JSON)
155 .body(objectMapper.writeValueAsString(apiProviderEnrolmentDetails)));
156 RappInstance rappInstance = getRappInstance();
157 boolean createProviderDomain = smeDeployer.createProviderDomain(rapp, rappInstance);
159 assertTrue(createProviderDomain);
163 void testCreateProviderDomainFailure() throws Exception {
164 UUID rappId = UUID.randomUUID();
166 Rapp.builder().rappId(rappId).name("").packageName(validRappFile).packageLocation(validCsarFileLocation)
167 .state(RappState.COMMISSIONED).build();
168 mockServer.expect(ExpectedCount.once(), requestTo(URI_PROVIDER_REGISTRATIONS))
169 .andExpect(method(HttpMethod.POST)).andRespond(withStatus(HttpStatus.INTERNAL_SERVER_ERROR));
170 RappInstance rappInstance = getRappInstance();
171 boolean createProviderDomain = smeDeployer.createProviderDomain(rapp, rappInstance);
173 assertFalse(createProviderDomain);
177 void testDeleteProviderFunc() {
178 UUID registrationId = UUID.randomUUID();
179 mockServer.expect(ExpectedCount.once(), requestTo(String.format(URI_PROVIDER_REGISTRATION, registrationId)))
180 .andExpect(method(HttpMethod.DELETE)).andRespond(withStatus(HttpStatus.NO_CONTENT));
181 smeDeployer.deleteProviderFunc(String.valueOf(registrationId));
186 void testCreatePublishApi() throws Exception {
187 UUID rappId = UUID.randomUUID();
188 UUID apfId = UUID.randomUUID();
190 Rapp.builder().rappId(rappId).name("").packageName(validRappFile).packageLocation(validCsarFileLocation)
191 .state(RappState.COMMISSIONED).build();
192 ServiceAPIDescription serviceAPIDescription = getServiceApiDescription();
193 mockServer.expect(ExpectedCount.once(), requestTo(String.format(URI_PUBLISH_APIS, apfId)))
194 .andExpect(method(HttpMethod.POST)).andRespond(
195 withStatus(HttpStatus.OK).contentType(MediaType.APPLICATION_JSON)
196 .body(objectMapper.writeValueAsString(serviceAPIDescription)));
197 RappInstance rappInstance = getRappInstance();
198 rappInstance.getSme().setApfId(String.valueOf(apfId));
199 boolean publishApi = smeDeployer.createPublishApi(rapp, rappInstance);
201 assertTrue(publishApi);
206 void testCreatePublishApiFailure() throws Exception {
207 UUID rappId = UUID.randomUUID();
208 UUID apfId = UUID.randomUUID();
210 Rapp.builder().rappId(rappId).name("").packageName(validRappFile).packageLocation(validCsarFileLocation)
211 .state(RappState.COMMISSIONED).build();
212 mockServer.expect(ExpectedCount.once(), requestTo(String.format(URI_PUBLISH_APIS, apfId)))
213 .andExpect(method(HttpMethod.POST)).andRespond(withStatus(HttpStatus.INTERNAL_SERVER_ERROR));
214 RappInstance rappInstance = getRappInstance();
215 rappInstance.getSme().setApfId(String.valueOf(apfId));
216 boolean publishApi = smeDeployer.createPublishApi(rapp, rappInstance);
218 assertFalse(publishApi);
222 void testDeletePublishApi() {
223 String serviceApiId = String.valueOf(UUID.randomUUID());
224 String apfId = String.valueOf(UUID.randomUUID());
225 mockServer.expect(ExpectedCount.once(), requestTo(String.format(URI_PUBLISH_API, apfId, serviceApiId)))
226 .andExpect(method(HttpMethod.DELETE)).andRespond(withStatus(HttpStatus.NO_CONTENT));
227 smeDeployer.deletePublishApi(serviceApiId, apfId);
232 void testCreateInvoker() throws Exception {
233 UUID rappId = UUID.randomUUID();
235 Rapp.builder().rappId(rappId).name("").packageName(validRappFile).packageLocation(validCsarFileLocation)
236 .state(RappState.COMMISSIONED).build();
237 APIInvokerEnrolmentDetails apiInvokerEnrolmentDetails = getApiInvokerEnrollmentDetails();
238 mockServer.expect(ExpectedCount.once(), requestTo(URI_INVOKERS)).andExpect(method(HttpMethod.POST)).andRespond(
239 withStatus(HttpStatus.OK).contentType(MediaType.APPLICATION_JSON)
240 .body(objectMapper.writeValueAsString(apiInvokerEnrolmentDetails)));
241 RappInstance rappInstance = getRappInstance();
242 boolean createInvoker = smeDeployer.createInvoker(rapp, rappInstance);
244 assertTrue(createInvoker);
248 void testCreateInvokerFailure() throws Exception {
249 UUID rappId = UUID.randomUUID();
251 Rapp.builder().rappId(rappId).name("").packageName(validRappFile).packageLocation(validCsarFileLocation)
252 .state(RappState.COMMISSIONED).build();
253 mockServer.expect(ExpectedCount.once(), requestTo(URI_INVOKERS)).andExpect(method(HttpMethod.POST))
254 .andRespond(withStatus(HttpStatus.INTERNAL_SERVER_ERROR));
255 RappInstance rappInstance = getRappInstance();
256 boolean createInvoker = smeDeployer.createInvoker(rapp, rappInstance);
258 assertFalse(createInvoker);
262 void testDeleteInvoker() {
263 String invokerId = String.valueOf(UUID.randomUUID());
264 mockServer.expect(ExpectedCount.once(), requestTo(String.format(URI_INVOKER, invokerId)))
265 .andExpect(method(HttpMethod.DELETE)).andRespond(withStatus(HttpStatus.NO_CONTENT));
266 smeDeployer.deleteInvoker(invokerId);
271 void testDeployRappInstance() throws Exception {
272 UUID rappId = UUID.randomUUID();
273 APIProviderEnrolmentDetails apiProviderEnrolmentDetails = getProviderDomainApiEnrollmentDetails();
274 APIProviderFunctionDetails apfProviderFunctionDetails = apiProviderEnrolmentDetails.getApiProvFuncs().stream()
275 .filter(apiProviderFunctionDetails -> apiProviderFunctionDetails.getApiProvFuncRole()
276 .equals(ApiProviderFuncRole.APF))
279 Rapp.builder().rappId(rappId).name("").packageName(validRappFile).packageLocation(validCsarFileLocation)
280 .state(RappState.COMMISSIONED).build();
281 mockServer.expect(ExpectedCount.once(), requestTo(URI_PROVIDER_REGISTRATIONS))
282 .andExpect(method(HttpMethod.POST)).andRespond(
283 withStatus(HttpStatus.OK).contentType(MediaType.APPLICATION_JSON)
284 .body(objectMapper.writeValueAsString(apiProviderEnrolmentDetails)));
285 ServiceAPIDescription serviceAPIDescription = getServiceApiDescription();
286 mockServer.expect(ExpectedCount.once(),
287 requestTo(String.format(URI_PUBLISH_APIS, apfProviderFunctionDetails.getApiProvFuncId())))
288 .andExpect(method(HttpMethod.POST)).andRespond(
289 withStatus(HttpStatus.OK).contentType(MediaType.APPLICATION_JSON)
290 .body(objectMapper.writeValueAsString(serviceAPIDescription)));
291 APIInvokerEnrolmentDetails apiInvokerEnrolmentDetails = getApiInvokerEnrollmentDetails();
292 mockServer.expect(ExpectedCount.once(), requestTo(URI_INVOKERS)).andExpect(method(HttpMethod.POST)).andRespond(
293 withStatus(HttpStatus.OK).contentType(MediaType.APPLICATION_JSON)
294 .body(objectMapper.writeValueAsString(apiInvokerEnrolmentDetails)));
295 RappInstance rappInstance = getRappInstance();
296 rappInstanceStateMachine.onboardRappInstance(rappInstance.getRappInstanceId());
297 boolean deployRapp = smeDeployer.deployRappInstance(rapp, rappInstance);
299 assertTrue(deployRapp);
303 void testDeployRappFailure() throws Exception {
304 UUID rappId = UUID.randomUUID();
305 APIProviderEnrolmentDetails apiProviderEnrolmentDetails = getProviderDomainApiEnrollmentDetails();
306 APIProviderFunctionDetails apfProviderFunctionDetails = apiProviderEnrolmentDetails.getApiProvFuncs().stream()
307 .filter(apiProviderFunctionDetails -> apiProviderFunctionDetails.getApiProvFuncRole()
308 .equals(ApiProviderFuncRole.APF))
311 Rapp.builder().rappId(rappId).name("").packageName(validRappFile).packageLocation(validCsarFileLocation)
312 .state(RappState.COMMISSIONED).build();
313 mockServer.expect(ExpectedCount.once(), requestTo(URI_PROVIDER_REGISTRATIONS))
314 .andExpect(method(HttpMethod.POST)).andRespond(
315 withStatus(HttpStatus.OK).contentType(MediaType.APPLICATION_JSON)
316 .body(objectMapper.writeValueAsString(apiProviderEnrolmentDetails)));
317 ServiceAPIDescription serviceAPIDescription = getServiceApiDescription();
318 mockServer.expect(ExpectedCount.once(),
319 requestTo(String.format(URI_PUBLISH_APIS, apfProviderFunctionDetails.getApiProvFuncId())))
320 .andExpect(method(HttpMethod.POST)).andRespond(
321 withStatus(HttpStatus.OK).contentType(MediaType.APPLICATION_JSON)
322 .body(objectMapper.writeValueAsString(serviceAPIDescription)));
323 mockServer.expect(ExpectedCount.once(), requestTo(URI_INVOKERS)).andExpect(method(HttpMethod.POST))
324 .andRespond(withStatus(HttpStatus.INTERNAL_SERVER_ERROR));
325 RappInstance rappInstance = getRappInstance();
326 rappInstanceStateMachine.onboardRappInstance(rappInstance.getRappInstanceId());
327 boolean deployRapp = smeDeployer.deployRappInstance(rapp, rappInstance);
329 assertFalse(deployRapp);
333 void testUndeployRappInstance() {
334 UUID rappId = UUID.randomUUID();
335 UUID apfId = UUID.randomUUID();
336 List<String> invokers = List.of(String.valueOf(UUID.randomUUID()), String.valueOf(UUID.randomUUID()));
337 List<String> serviceApis = List.of(String.valueOf(UUID.randomUUID()), String.valueOf(UUID.randomUUID()));
338 Map<String, String> providerFuncs = Map.of(String.valueOf(UUID.randomUUID()), String.valueOf(UUID.randomUUID()),
339 String.valueOf(UUID.randomUUID()), String.valueOf(UUID.randomUUID()));
340 Rapp rapp = Rapp.builder().rappId(rappId).name(rappId.toString()).packageName(validRappFile)
341 .packageLocation(validCsarFileLocation).state(RappState.COMMISSIONED).build();
342 mockServer.expect(ExpectedCount.once(), requestTo(String.format(URI_INVOKER, invokers.get(0))))
343 .andExpect(method(HttpMethod.DELETE)).andRespond(withStatus(HttpStatus.NO_CONTENT));
344 mockServer.expect(ExpectedCount.once(), requestTo(String.format(URI_INVOKER, invokers.get(1))))
345 .andExpect(method(HttpMethod.DELETE)).andRespond(withStatus(HttpStatus.NO_CONTENT));
346 mockServer.expect(ExpectedCount.once(), requestTo(String.format(URI_PUBLISH_API, apfId, serviceApis.get(0))))
347 .andExpect(method(HttpMethod.DELETE)).andRespond(withStatus(HttpStatus.NO_CONTENT));
348 mockServer.expect(ExpectedCount.once(), requestTo(String.format(URI_PUBLISH_API, apfId, serviceApis.get(1))))
349 .andExpect(method(HttpMethod.DELETE)).andRespond(withStatus(HttpStatus.NO_CONTENT));
350 mockServer.expect(ExpectedCount.once(),
351 requestTo(String.format(URI_PROVIDER_REGISTRATION, providerFuncs.values().toArray()[0])))
352 .andExpect(method(HttpMethod.DELETE)).andRespond(withStatus(HttpStatus.NO_CONTENT));
353 mockServer.expect(ExpectedCount.once(),
354 requestTo(String.format(URI_PROVIDER_REGISTRATION, providerFuncs.values().toArray()[1])))
355 .andExpect(method(HttpMethod.DELETE)).andRespond(withStatus(HttpStatus.NO_CONTENT));
356 RappInstance rappInstance = getRappInstance();
357 rappInstance.getSme().setApfId(String.valueOf(apfId));
358 rappInstance.getSme().setProviderFunctionIds(providerFuncs.values().stream().toList());
359 rappInstance.getSme().setServiceApiIds(serviceApis);
360 rappInstance.getSme().setInvokerIds(invokers);
361 rappInstanceStateMachine.onboardRappInstance(rappInstance.getRappInstanceId());
362 boolean undeployRapp = smeDeployer.undeployRappInstance(rapp, rappInstance);
364 assertTrue(undeployRapp);
368 void testUndeployRappInstanceFailure() throws Exception {
369 UUID rappId = UUID.randomUUID();
370 UUID apfId = UUID.randomUUID();
371 List<String> invokers = List.of(String.valueOf(UUID.randomUUID()), String.valueOf(UUID.randomUUID()));
372 List<String> serviceApis = List.of(String.valueOf(UUID.randomUUID()), String.valueOf(UUID.randomUUID()));
373 Map<String, String> providerFuncs = Map.of(String.valueOf(UUID.randomUUID()), String.valueOf(UUID.randomUUID()),
374 String.valueOf(UUID.randomUUID()), String.valueOf(UUID.randomUUID()));
375 Rapp rapp = Rapp.builder().rappId(rappId).name(rappId.toString()).packageName(validRappFile)
376 .packageLocation(validCsarFileLocation).state(RappState.COMMISSIONED).build();
377 mockServer.expect(ExpectedCount.once(), requestTo(String.format(URI_INVOKER, invokers.get(0))))
378 .andExpect(method(HttpMethod.DELETE)).andRespond(withStatus(HttpStatus.NO_CONTENT));
379 mockServer.expect(ExpectedCount.once(), requestTo(String.format(URI_INVOKER, invokers.get(1))))
380 .andExpect(method(HttpMethod.DELETE)).andRespond(withStatus(HttpStatus.NO_CONTENT));
381 mockServer.expect(ExpectedCount.once(), requestTo(String.format(URI_PUBLISH_API, apfId, serviceApis.get(0))))
382 .andExpect(method(HttpMethod.DELETE)).andRespond(withStatus(HttpStatus.NO_CONTENT));
383 mockServer.expect(ExpectedCount.once(), requestTo(String.format(URI_PUBLISH_API, apfId, serviceApis.get(1))))
384 .andExpect(method(HttpMethod.DELETE)).andRespond(withStatus(HttpStatus.NO_CONTENT));
385 mockServer.expect(ExpectedCount.once(),
386 requestTo(String.format(URI_PROVIDER_REGISTRATION, providerFuncs.values().toArray()[0])))
387 .andExpect(method(HttpMethod.DELETE)).andRespond(withStatus(HttpStatus.NO_CONTENT));
388 mockServer.expect(ExpectedCount.once(),
389 requestTo(String.format(URI_PROVIDER_REGISTRATION, providerFuncs.values().toArray()[1])))
390 .andExpect(method(HttpMethod.DELETE)).andRespond(withStatus(HttpStatus.INTERNAL_SERVER_ERROR));
391 RappInstance rappInstance = getRappInstance();
392 rappInstance.getSme().setApfId(String.valueOf(apfId));
393 rappInstance.getSme().setProviderFunctionIds(providerFuncs.values().stream().toList());
394 rappInstance.getSme().setServiceApiIds(serviceApis);
395 rappInstance.getSme().setInvokerIds(invokers);
396 boolean undeployRapp = smeDeployer.undeployRappInstance(rapp, rappInstance);
398 assertFalse(undeployRapp);
401 RappInstance getRappInstance() {
402 RappSMEInstance rappSMEInstance = new RappSMEInstance();
403 rappSMEInstance.setInvokers("invoker-app1");
404 rappSMEInstance.setServiceApis("api-set-1");
405 rappSMEInstance.setAefId("TEST_AEF_ID");
406 rappSMEInstance.setApfId(String.valueOf(UUID.randomUUID()));
407 rappSMEInstance.setProviderFunction("aef-provider-function");
408 RappInstance rappInstance = new RappInstance();
409 rappInstance.setSme(rappSMEInstance);
413 APIProviderEnrolmentDetails getProviderDomainApiEnrollmentDetails() {
414 APIProviderEnrolmentDetails apiProviderEnrolmentDetails =
415 new APIProviderEnrolmentDetails(UUID.randomUUID().toString());
416 APIProviderFunctionDetails apiProviderFunctionDetailsAEF = new APIProviderFunctionDetails();
417 apiProviderFunctionDetailsAEF.setApiProvFuncInfo("AEF");
418 apiProviderFunctionDetailsAEF.setApiProvFuncRole(ApiProviderFuncRole.AEF);
419 apiProviderFunctionDetailsAEF.setApiProvFuncId(String.valueOf(UUID.randomUUID()));
420 APIProviderFunctionDetails apiProviderFunctionDetailsAPF = new APIProviderFunctionDetails();
421 apiProviderFunctionDetailsAPF.setApiProvFuncInfo("APF");
422 apiProviderFunctionDetailsAPF.setApiProvFuncRole(ApiProviderFuncRole.APF);
423 apiProviderFunctionDetailsAPF.setApiProvFuncId(String.valueOf(UUID.randomUUID()));
424 apiProviderEnrolmentDetails.setApiProvFuncs(
425 List.of(apiProviderFunctionDetailsAEF, apiProviderFunctionDetailsAPF));
426 return apiProviderEnrolmentDetails;
430 ServiceAPIDescription getServiceApiDescription() {
431 ServiceAPIDescription serviceAPIDescription = new ServiceAPIDescription();
432 serviceAPIDescription.setApiId(String.valueOf(UUID.randomUUID()));
433 AefProfile aefProfile = new AefProfile();
434 aefProfile.setAefId(String.valueOf(UUID.randomUUID()));
435 serviceAPIDescription.setAefProfiles(List.of(aefProfile));
436 return serviceAPIDescription;
439 APIInvokerEnrolmentDetails getApiInvokerEnrollmentDetails() {
440 APIInvokerEnrolmentDetails apiInvokerEnrolmentDetails =
441 new APIInvokerEnrolmentDetails(String.valueOf(UUID.randomUUID()));
442 com.oransc.rappmanager.sme.invoker.data.ServiceAPIDescription serviceAPIDescription =
443 new com.oransc.rappmanager.sme.invoker.data.ServiceAPIDescription();
444 serviceAPIDescription.setApiId(String.valueOf(UUID.randomUUID()));
445 apiInvokerEnrolmentDetails.setApiList(List.of(serviceAPIDescription));
446 return apiInvokerEnrolmentDetails;