summaryrefslogtreecommitdiffstats
path: root/so-cnf-adapter-application/src/test/java/org/onap/so/adapters/cnf/service/aai/AaiResponseParserTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'so-cnf-adapter-application/src/test/java/org/onap/so/adapters/cnf/service/aai/AaiResponseParserTest.java')
-rw-r--r--so-cnf-adapter-application/src/test/java/org/onap/so/adapters/cnf/service/aai/AaiResponseParserTest.java101
1 files changed, 101 insertions, 0 deletions
diff --git a/so-cnf-adapter-application/src/test/java/org/onap/so/adapters/cnf/service/aai/AaiResponseParserTest.java b/so-cnf-adapter-application/src/test/java/org/onap/so/adapters/cnf/service/aai/AaiResponseParserTest.java
new file mode 100644
index 0000000..f3c0558
--- /dev/null
+++ b/so-cnf-adapter-application/src/test/java/org/onap/so/adapters/cnf/service/aai/AaiResponseParserTest.java
@@ -0,0 +1,101 @@
+package org.onap.so.adapters.cnf.service.aai;
+
+import org.junit.Assert;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.InjectMocks;
+import org.mockito.Mock;
+import org.onap.so.adapters.cnf.model.instantiation.AaiRequest;
+import org.onap.so.adapters.cnf.model.statuscheck.K8sRbInstanceGvk;
+import org.onap.so.adapters.cnf.model.statuscheck.K8sRbInstanceResourceStatus;
+import org.onap.so.adapters.cnf.model.statuscheck.K8sStatus;
+import org.onap.so.adapters.cnf.model.statuscheck.K8sStatusMetadata;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Map;
+
+import static org.junit.Assert.assertEquals;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+@RunWith(SpringRunner.class)
+public class AaiResponseParserTest {
+
+ @InjectMocks
+ private AaiResponseParser aaiResponseParser;
+
+ @Mock
+ private AaiIdGeneratorService aaiIdGeneratorService;
+
+
+ @Test
+ public void shouldParseAaiResponse() {
+ // given
+ String id = "id";
+ String name = "name";
+ String group = "group";
+ String version = "version";
+ String kind = "kind";
+ String namespace = "namespace";
+ Map<String, String> labelsMap = new HashMap<>();
+ labelsMap.put("key", "value");
+ K8sRbInstanceResourceStatus status = mock(K8sRbInstanceResourceStatus.class);
+ AaiRequest aaiRequest = mock(AaiRequest.class);
+ K8sRbInstanceGvk gvk = mock(K8sRbInstanceGvk.class);
+ K8sStatusMetadata metadata = mock(K8sStatusMetadata.class);
+ K8sStatus k8sStatus = mock(K8sStatus.class);
+
+ // when
+ when(status.getGvk()).thenReturn(gvk);
+ when(status.getStatus()).thenReturn(k8sStatus);
+ when(k8sStatus.getK8sStatusMetadata()).thenReturn(metadata);
+ when(aaiIdGeneratorService.generateId(status, aaiRequest)).thenReturn(id);
+ when(status.getName()).thenReturn(name);
+ when(gvk.getGroup()).thenReturn(group);
+ when(gvk.getVersion()).thenReturn(version);
+ when(gvk.getKind()).thenReturn(kind);
+ when(metadata.getNamespace()).thenReturn(namespace);
+ when(aaiRequest.getInstanceId()).thenReturn(id);
+
+ when(metadata.getLabels()).thenReturn(labelsMap);
+
+ // then
+ ParseResult actual = aaiResponseParser.parse(status, aaiRequest);
+
+ Assert.assertNotNull(actual);
+ assertEquals(id, actual.getId());
+ assertEquals(name, actual.getName());
+ assertEquals(group, actual.getGroup());
+ assertEquals(version, actual.getVersion());
+ assertEquals(kind, actual.getKind());
+ assertEquals(namespace, actual.getNamespace());
+ assertEquals(2, actual.getLabels().size());
+ assertEquals("http://so-cnf-adapter:8090/api/cnf-adapter/v1/instance/id/query", actual.getK8sResourceSelfLink());
+
+ }
+
+ ParseResult parse(K8sRbInstanceResourceStatus status, AaiRequest aaiRequest) {
+ ParseResult result = new ParseResult();
+ K8sRbInstanceGvk gvk = status.getGvk();
+ K8sStatus k8sStatus = status.getStatus();
+ K8sStatusMetadata metadata = k8sStatus.getK8sStatusMetadata();
+ String id = aaiIdGeneratorService.generateId(status, aaiRequest);
+ result.setId(id);
+ result.setName(status.getName());
+ result.setGroup(gvk.getGroup());
+ result.setVersion(gvk.getVersion());
+ result.setKind(gvk.getKind());
+ result.setNamespace(metadata.getNamespace());
+ Collection<String> labels = new ArrayList<>();
+ metadata.getLabels().forEach((key, value) -> {
+ labels.add(key);
+ labels.add(value);
+ });
+ result.setLabels(labels);
+ result.setK8sResourceSelfLink(String.format("http://so-cnf-adapter:8090/api/cnf-adapter/v1/instance/%s/query", aaiRequest.getInstanceId()));
+ return result;
+ }
+} \ No newline at end of file