summaryrefslogtreecommitdiffstats
path: root/components/slice-analysis-ms/src/test/java/org/onap/slice/analysis/ms/service/PmDataQueueTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'components/slice-analysis-ms/src/test/java/org/onap/slice/analysis/ms/service/PmDataQueueTest.java')
-rw-r--r--components/slice-analysis-ms/src/test/java/org/onap/slice/analysis/ms/service/PmDataQueueTest.java152
1 files changed, 152 insertions, 0 deletions
diff --git a/components/slice-analysis-ms/src/test/java/org/onap/slice/analysis/ms/service/PmDataQueueTest.java b/components/slice-analysis-ms/src/test/java/org/onap/slice/analysis/ms/service/PmDataQueueTest.java
new file mode 100644
index 00000000..b2c2243d
--- /dev/null
+++ b/components/slice-analysis-ms/src/test/java/org/onap/slice/analysis/ms/service/PmDataQueueTest.java
@@ -0,0 +1,152 @@
+/*******************************************************************************
+ * ============LICENSE_START=======================================================
+ * slice-analysis-ms
+ * ================================================================================
+ * Copyright (C) 2020 Wipro Limited.
+ * ==============================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ *
+ *******************************************************************************/
+package org.onap.slice.analysis.ms.service;
+
+import static org.junit.Assert.assertEquals;
+
+import java.io.IOException;
+import java.nio.file.Files;
+import java.nio.file.Paths;
+import java.util.Collections;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Queue;
+import java.util.concurrent.LinkedBlockingQueue;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.InjectMocks;
+import org.onap.slice.analysis.ms.models.MeasurementObject;
+import org.onap.slice.analysis.ms.models.SubCounter;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+import org.springframework.test.util.ReflectionTestUtils;
+
+import com.fasterxml.jackson.core.type.TypeReference;
+import com.fasterxml.jackson.databind.ObjectMapper;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = PmDataQueueTest.class)
+public class PmDataQueueTest {
+ ObjectMapper obj = new ObjectMapper();
+
+ @InjectMocks
+ PmDataQueue pmDataQueue;
+
+ @Before
+ public void setup() {
+ Queue<List<MeasurementObject>> measList = null;
+ try {
+ measList = obj.readValue(new String(Files.readAllBytes(Paths.get("src/test/resources/measurementObjectList.json"))), new TypeReference<Queue<List<MeasurementObject>>>(){});
+ }
+ catch (IOException e) {
+ e.printStackTrace();
+ }
+ SubCounter sub1 = new SubCounter("nf1", "nssai1");
+ Map<SubCounter, Queue<List<MeasurementObject>>> subCounterMap = Collections.synchronizedMap(new LinkedHashMap<SubCounter, Queue<List<MeasurementObject>>>());
+ subCounterMap.put(sub1, measList);
+ ReflectionTestUtils.setField(pmDataQueue, "subCounterMap", subCounterMap);
+
+ Queue<String> snssaiList = new LinkedBlockingQueue<>();
+ snssaiList.add("nssai1");
+ snssaiList.add("nssai2");
+ snssaiList.add("nssai3");
+ ReflectionTestUtils.setField(pmDataQueue, "snssaiList", snssaiList);
+
+ }
+
+ @Test
+ public void putDataToQueueSameNssaiTest() {
+ SubCounter sub1 = new SubCounter("nf1", "nssai1");
+ Map<SubCounter, Queue<List<MeasurementObject>>> subCounterMapExp = Collections.synchronizedMap(new LinkedHashMap<SubCounter, Queue<List<MeasurementObject>>>());
+ List<MeasurementObject> measObj = null;
+ Queue<List<MeasurementObject>> measObjExp = null;
+ try {
+ measObj = obj.readValue(new String(Files.readAllBytes(Paths.get("src/test/resources/average.json"))), new TypeReference<List<MeasurementObject>>(){});
+ measObjExp = obj.readValue(new String(Files.readAllBytes(Paths.get("src/test/resources/appendData.json"))), new TypeReference<Queue<List<MeasurementObject>>>(){});
+
+ }
+ catch (IOException e) {
+ e.printStackTrace();
+ }
+ subCounterMapExp.put(sub1, measObjExp);
+ pmDataQueue.putDataToQueue(sub1, measObj);
+ assertEquals(subCounterMapExp, ReflectionTestUtils.getField(pmDataQueue, "subCounterMap"));
+ }
+
+ @SuppressWarnings("unchecked")
+ @Test
+ public void putDataToQueueDiffNssaiTest() {
+ SubCounter sub = new SubCounter("nf1", "nssai1");
+ SubCounter sub1 = new SubCounter("nf1", "nssai2");
+ Map<SubCounter, Queue<List<MeasurementObject>>> subCounterMapExp = Collections.synchronizedMap(new LinkedHashMap<SubCounter, Queue<List<MeasurementObject>>>());
+ List<MeasurementObject> measObj = null;
+ Queue<List<MeasurementObject>> measObjExp = null;
+ Queue<List<MeasurementObject>> measObjExp1 = new LinkedBlockingQueue<>();
+ try {
+ measObj = obj.readValue(new String(Files.readAllBytes(Paths.get("src/test/resources/average.json"))), new TypeReference<List<MeasurementObject>>(){});
+ measObjExp = obj.readValue(new String(Files.readAllBytes(Paths.get("src/test/resources/measurementObjectList.json"))), new TypeReference<Queue<List<MeasurementObject>>>(){});
+ }
+ catch (IOException e) {
+ e.printStackTrace();
+ }
+ measObjExp1.add(measObj);
+ subCounterMapExp.put(sub, measObjExp);
+ subCounterMapExp.put(sub1, measObjExp1);
+ pmDataQueue.putDataToQueue(sub1, measObj);
+ assertEquals(subCounterMapExp.get(sub), ((Map<SubCounter,Queue<List<MeasurementObject>>>) ReflectionTestUtils.getField(pmDataQueue, "subCounterMap")).get(sub));
+ assertEquals(subCounterMapExp.get(sub1).contains(measObj), ((Map<SubCounter,Queue<List<MeasurementObject>>>) ReflectionTestUtils.getField(pmDataQueue, "subCounterMap")).get(sub1).contains(measObj));
+ }
+
+ @Test
+ public void getSamplesFromQueueTest() {
+ SubCounter sub = new SubCounter("nf1", "nssai1");
+ List<List<MeasurementObject>> measObj = null;
+ try {
+ measObj = obj.readValue(new String(Files.readAllBytes(Paths.get("src/test/resources/getResponse.json"))), new TypeReference<List<List<MeasurementObject>>>(){});
+ }
+ catch (IOException e) {
+ e.printStackTrace();
+ }
+ assertEquals(measObj, pmDataQueue.getSamplesFromQueue(sub, 1));
+ }
+
+ @SuppressWarnings("unchecked")
+ @Test
+ public void putSnssaiToQueueTest() {
+ pmDataQueue.putSnssaiToQueue("nssai1");
+ assertEquals(3, ((Queue<String>)ReflectionTestUtils.getField(pmDataQueue, "snssaiList")).size());
+ }
+
+ @SuppressWarnings("unchecked")
+ @Test
+ public void putNewSnssaiToQueueTest() {
+ pmDataQueue.putSnssaiToQueue("nssai9");
+ assertEquals(4, ((Queue<String>)ReflectionTestUtils.getField(pmDataQueue, "snssaiList")).size());
+ }
+
+ @Test
+ public void getSnnsaiFromQueueTest() {
+ assertEquals("nssai1", pmDataQueue.getSnnsaiFromQueue());
+ }
+}