Add Audit Data Quality Summary
[logging-analytics/pomba/pomba-context-aggregator.git] / src / test / java / org / onap / pomba / contextaggregator / datatypes / AggregatedModelsTest.java
index e0c9705..743b032 100644 (file)
 
 package org.onap.pomba.contextaggregator.datatypes;
 
+import java.nio.file.Files;
+import java.nio.file.Paths;
 import java.util.HashMap;
 import java.util.Map;
 
 import org.junit.Assert;
 import org.junit.Before;
 import org.junit.Test;
-import org.junit.runner.RunWith;
 import org.mockito.MockitoAnnotations;
 import org.onap.pomba.contextaggregator.config.EventHeaderConfig;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
 
-@RunWith(SpringJUnit4ClassRunner.class)
-@SpringBootTest
 public class AggregatedModelsTest {
 
     AggregatedModels aggregatedModels;
@@ -43,27 +40,55 @@ public class AggregatedModelsTest {
     private String topEntityType;
     private String topicName;
 
-    EventHeaderConfig eventHeaderConfig = new EventHeaderConfig(
-            domain, sourceName, eventType, entityType, topEntityType, topicName);
+    EventHeaderConfig eventHeaderConfig = new EventHeaderConfig(domain, sourceName, eventType, entityType,
+            topEntityType, topicName);
 
     Map<String, String> jsonContextMap = new HashMap<>();
 
-    POAEvent pOAEvent = new POAEvent();
+    POAEvent poaEvent = new POAEvent();
 
+    /**
+     * JUnit setup.
+     */
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
-        pOAEvent.setServiceInstanceId("a");
-        pOAEvent.setModelVersionId("b");
-        pOAEvent.setModelInvariantId("c");
-        pOAEvent.setxFromAppId("e");
-        pOAEvent.setxTransactionId("f");
+        poaEvent.setServiceInstanceId("a");
+        poaEvent.setModelVersionId("b");
+        poaEvent.setModelInvariantId("c");
+        poaEvent.setxFromAppId("e");
+        poaEvent.setxTransactionId("f");
     }
 
     @Test
     public void testGenerateJsonPayload() throws Exception {
-        aggregatedModels = new AggregatedModels(eventHeaderConfig,jsonContextMap,pOAEvent);
+        aggregatedModels = new AggregatedModels(eventHeaderConfig, jsonContextMap, poaEvent);
         Assert.assertNotNull(aggregatedModels.generateJsonPayload());
         Assert.assertNotNull(aggregatedModels.getEntityHeader());
     }
+
+    @Test
+    public void testDataQualitySummaryError() throws Exception {
+        String filename = "src/test/resources/modelContextAAI-input.json";
+        String fileContent = new String(Files.readAllBytes(Paths.get(filename)));
+
+        jsonContextMap.put("aai", fileContent);
+        jsonContextMap.put("sdnc", fileContent);
+        aggregatedModels = new AggregatedModels(eventHeaderConfig, jsonContextMap, poaEvent);
+        Assert.assertNotNull(aggregatedModels.generateJsonPayload());
+        Assert.assertNotNull(aggregatedModels.getEntityHeader());
+        Assert.assertNotNull(poaEvent.getDataQualitySummary());
+        System.err.println(poaEvent.getDataQualitySummary());
+        Assert.assertEquals(DataQualitySummary.Status.error, poaEvent.getDataQualitySummary().getStatus());
+    }
+    
+    @Test
+    public void testDataQualitySummaryOk() throws Exception {
+        jsonContextMap.put("aai", "{}");
+        aggregatedModels = new AggregatedModels(eventHeaderConfig, jsonContextMap, poaEvent);
+        Assert.assertNotNull(aggregatedModels.generateJsonPayload());
+        Assert.assertNotNull(aggregatedModels.getEntityHeader());
+        Assert.assertNotNull(poaEvent.getDataQualitySummary());
+        Assert.assertEquals(DataQualitySummary.Status.ok, poaEvent.getDataQualitySummary().getStatus());
+    }
 }