2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
6 * ================================================================================
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
18 * ============LICENSE_END=========================================================
21 package org.onap.so.client.aai;
23 import static org.junit.Assert.assertEquals;
24 import static org.mockito.ArgumentMatchers.isA;
25 import static org.mockito.Mockito.doNothing;
26 import static org.mockito.Mockito.doReturn;
27 import static org.mockito.Mockito.times;
28 import static org.mockito.Mockito.verify;
29 import java.util.Optional;
30 import java.util.UUID;
31 import org.junit.Test;
32 import org.junit.runner.RunWith;
33 import org.mockito.InjectMocks;
34 import org.mockito.Mock;
35 import org.mockito.junit.MockitoJUnitRunner;
36 import org.onap.so.client.aai.entities.Configuration;
37 import org.onap.so.client.aai.entities.uri.AAIResourceUri;
38 import org.onap.so.client.aai.entities.uri.AAIUriFactory;
39 import org.onap.so.serviceinstancebeans.ModelInfo;
40 import org.onap.so.serviceinstancebeans.RequestDetails;
42 @RunWith(MockitoJUnitRunner.class)
43 public class AAIConfigurationClientTest {
46 AAIResourcesClient aaiClient;
49 AAIConfigurationClient aaiConfigurationClient = new AAIConfigurationClient();
52 public void verifyCreate() {
53 ModelInfo modelInfo = new ModelInfo();
54 modelInfo.setModelInvariantId("testInvariantID");
55 modelInfo.setModelVersionId("testVersionID");
56 modelInfo.setModelCustomizationId("testCustomizationID");
58 RequestDetails requestDetails = new RequestDetails();
59 requestDetails.setModelInfo(modelInfo);
61 String configurationId = UUID.randomUUID().toString();
62 String configurationType = "test";
63 String configurationSubType = "test";
65 // Test Create Configuration
66 doNothing().when(aaiClient).create(isA(AAIResourceUri.class), isA(Object.class));
67 aaiConfigurationClient.createConfiguration(requestDetails, configurationId, configurationType,
68 configurationSubType);
69 verify(aaiClient, times(1)).create(isA(AAIResourceUri.class), isA(Object.class));
73 public void verifyConfigurePayload() {
74 ModelInfo modelInfo = new ModelInfo();
75 modelInfo.setModelInvariantId("testInvariantID");
76 modelInfo.setModelVersionId("testVersionID");
77 modelInfo.setModelCustomizationId("testCustomizationID");
79 RequestDetails requestDetails = new RequestDetails();
80 requestDetails.setModelInfo(modelInfo);
82 String configurationId = UUID.randomUUID().toString();
83 String configurationType = "test";
84 String configurationSubType = "test";
85 AAIResourceUri uri = aaiConfigurationClient.getConfigurationURI(configurationId);
87 Configuration payload = aaiConfigurationClient.configurePayload(requestDetails, configurationId,
88 configurationType, configurationSubType);
90 assertEquals(configurationId, payload.getConfigurationId());
91 assertEquals(configurationType, payload.getConfigurationType());
92 assertEquals(configurationSubType, payload.getConfigurationSubType());
93 assertEquals(uri.build().getPath(), payload.getConfigurationSelflink());
94 assertEquals("PreCreated", payload.getOrchestrationStatus());
95 assertEquals("", payload.getOperationalStatus());
96 assertEquals(modelInfo.getModelVersionId(), payload.getModelVersionId());
97 assertEquals(modelInfo.getModelInvariantId(), payload.getModelInvariantId());
98 assertEquals(modelInfo.getModelCustomizationId(), payload.getModelCustomizationId());
102 public void testDeleteConfiguration() {
103 String uuid = UUID.randomUUID().toString();
104 doNothing().when(aaiClient).delete(isA(AAIResourceUri.class));
105 aaiConfigurationClient.deleteConfiguration(uuid);
106 verify(aaiClient, times(1)).delete(aaiConfigurationClient.getConfigurationURI(uuid));
110 public void testUpdateOrchestrationStatus() {
111 String uuid = UUID.randomUUID().toString();
112 doNothing().when(aaiClient).update(isA(AAIResourceUri.class), isA(Object.class));
113 aaiConfigurationClient.updateOrchestrationStatus(uuid, "testPayload");
114 verify(aaiClient, times(1)).update(aaiConfigurationClient.getConfigurationURI(uuid), "testPayload");
117 @SuppressWarnings("unchecked")
119 public void testGetConfiguration() {
120 String uuid = UUID.randomUUID().toString();
121 Optional<Configuration> expectedConfiguration = Optional.of(new Configuration());
122 expectedConfiguration.get().setConfigurationId(uuid);
124 doReturn(expectedConfiguration).when(aaiClient).get(isA(Class.class), isA(AAIResourceUri.class));
125 Configuration actualConfiguration = aaiConfigurationClient.getConfiguration(uuid);
126 verify(aaiClient, times(1)).get(Configuration.class, aaiConfigurationClient.getConfigurationURI(uuid));
127 assertEquals(expectedConfiguration.get(), actualConfiguration);
131 public void testConfigurationExists() {
132 String uuid = UUID.randomUUID().toString();
133 AAIResourceUri uri = aaiConfigurationClient.getConfigurationURI(uuid);
134 boolean expectedResult;
135 boolean actualResult;
137 expectedResult = true;
138 doReturn(expectedResult).when(aaiClient).exists(isA(AAIResourceUri.class));
139 actualResult = aaiConfigurationClient.configurationExists(uuid);
140 assertEquals(expectedResult, actualResult);
142 expectedResult = false;
143 doReturn(expectedResult).when(aaiClient).exists(isA(AAIResourceUri.class));
144 actualResult = aaiConfigurationClient.configurationExists(uuid);
145 assertEquals(expectedResult, actualResult);
147 verify(aaiClient, times(2)).exists(uri);
151 public void testGetConfigurationURI() {
152 String uuid = UUID.randomUUID().toString();
153 AAIResourceUri uri = AAIUriFactory.createResourceUri(AAIObjectType.CONFIGURATION, uuid);
154 assertEquals(uri, aaiConfigurationClient.getConfigurationURI(uuid));