aboutsummaryrefslogtreecommitdiffstats
path: root/UniversalVesAdapter/src
diff options
context:
space:
mode:
authorPooja03 <PM00501616@techmahindra.com>2018-03-27 19:44:23 +0530
committerPooja03 <PM00501616@techmahindra.com>2018-03-27 19:44:43 +0530
commit8297bd0760ff3c46ef36d5a6408a757cf36097fe (patch)
tree8436740e2c4039c4e5e93bcdf66792844a89ecbe /UniversalVesAdapter/src
parenta0cd2159e2dbfde7613ea7dda8db1eacced4ca69 (diff)
Added UniversalVesAdapter TestCases in the Mapper
Adding UniversalVesAdapter TestCases in Mapper Change-Id: I68023d84ada0104ecf46a74e129e104a398543ea Issue-ID: DCAEGEN2-335 Signed-off-by: Pooja03 <PM00501616@techmahindra.com>
Diffstat (limited to 'UniversalVesAdapter/src')
-rw-r--r--UniversalVesAdapter/src/main/java/org/onap/universalvesadapter/exception/ConfigFileReadException.java8
-rw-r--r--UniversalVesAdapter/src/main/java/org/onap/universalvesadapter/exception/ConfigFileSmooksConversionException.java6
-rw-r--r--UniversalVesAdapter/src/main/java/org/onap/universalvesadapter/exception/DMaapException.java5
-rw-r--r--UniversalVesAdapter/src/main/java/org/onap/universalvesadapter/exception/MapperConfigException.java12
-rw-r--r--UniversalVesAdapter/src/main/java/org/onap/universalvesadapter/exception/VesException.java4
-rw-r--r--UniversalVesAdapter/src/main/java/org/onap/universalvesadapter/service/AdapterService.java28
-rw-r--r--UniversalVesAdapter/src/main/java/org/onap/universalvesadapter/service/ConfigFileService.java22
-rw-r--r--UniversalVesAdapter/src/main/java/org/onap/universalvesadapter/service/DMaapService.java261
-rw-r--r--UniversalVesAdapter/src/main/java/org/onap/universalvesadapter/service/DiskRepoConfigFileService.java72
-rw-r--r--UniversalVesAdapter/src/main/java/org/onap/universalvesadapter/service/MongoDbConfigFileService.java10
-rw-r--r--UniversalVesAdapter/src/main/java/org/onap/universalvesadapter/service/VesService.java197
-rw-r--r--UniversalVesAdapter/src/test/java/org/onap/dcaegen2/ves/domain/AdditionalFieldTest.java51
-rw-r--r--UniversalVesAdapter/src/test/java/org/onap/dcaegen2/ves/domain/AlarmAdditionalInformationTest.java55
-rw-r--r--UniversalVesAdapter/src/test/java/org/onap/dcaegen2/ves/domain/ArrayOfField_Test.java52
-rw-r--r--UniversalVesAdapter/src/test/java/org/onap/dcaegen2/ves/domain/CommonEventHeaderTest.java89
-rw-r--r--UniversalVesAdapter/src/test/java/org/onap/dcaegen2/ves/domain/EventTest.java56
-rw-r--r--UniversalVesAdapter/src/test/java/org/onap/dcaegen2/ves/domain/FaultFieldsTest.java73
-rw-r--r--UniversalVesAdapter/src/test/java/org/onap/dcaegen2/ves/domain/HeartbeatFieldsTest.java63
-rw-r--r--UniversalVesAdapter/src/test/java/org/onap/dcaegen2/ves/domain/InternalHeaderFieldsTest.java48
-rw-r--r--UniversalVesAdapter/src/test/java/org/onap/dcaegen2/ves/domain/VesEventTest.java51
-rw-r--r--UniversalVesAdapter/src/test/java/org/onap/universalvesadapter/controller/VesControllerTest.java66
-rw-r--r--UniversalVesAdapter/src/test/java/org/onap/universalvesadapter/domain/ConfigFileDataTest.java40
-rw-r--r--UniversalVesAdapter/src/test/java/org/onap/universalvesadapter/mappingconfig/EntryTest.java59
-rw-r--r--UniversalVesAdapter/src/test/java/org/onap/universalvesadapter/mappingconfig/EvaluationTest.java70
-rw-r--r--UniversalVesAdapter/src/test/java/org/onap/universalvesadapter/mappingconfig/MapperConfigTest.java54
-rw-r--r--UniversalVesAdapter/src/test/java/org/onap/universalvesadapter/service/AdapterServiceTest.java91
-rw-r--r--UniversalVesAdapter/src/test/java/org/onap/universalvesadapter/service/ConfigFileServiceTest.java34
-rw-r--r--UniversalVesAdapter/src/test/java/org/onap/universalvesadapter/service/DMaapServiceTest.java143
-rw-r--r--UniversalVesAdapter/src/test/java/org/onap/universalvesadapter/service/DiskRepoConfigFileServiceTest.java67
-rw-r--r--UniversalVesAdapter/src/test/java/org/onap/universalvesadapter/service/MongoDbConfigFileServiceTest.java59
-rw-r--r--UniversalVesAdapter/src/test/java/org/onap/universalvesadapter/service/VesServiceTest.java143
31 files changed, 1764 insertions, 225 deletions
diff --git a/UniversalVesAdapter/src/main/java/org/onap/universalvesadapter/exception/ConfigFileReadException.java b/UniversalVesAdapter/src/main/java/org/onap/universalvesadapter/exception/ConfigFileReadException.java
index 3a64247..625b021 100644
--- a/UniversalVesAdapter/src/main/java/org/onap/universalvesadapter/exception/ConfigFileReadException.java
+++ b/UniversalVesAdapter/src/main/java/org/onap/universalvesadapter/exception/ConfigFileReadException.java
@@ -25,7 +25,7 @@ package org.onap.universalvesadapter.exception;
* @author kmalbari
*
*/
-public class ConfigFileReadException extends Exception {
+public class ConfigFileReadException extends VesException {
/**
*
@@ -35,4 +35,10 @@ public class ConfigFileReadException extends Exception {
public ConfigFileReadException(String exceptionMessage) {
super(exceptionMessage);
}
+
+ public ConfigFileReadException(String exceptionMessage, Exception exception) {
+ super(exceptionMessage, exception);
+ }
+
+
}
diff --git a/UniversalVesAdapter/src/main/java/org/onap/universalvesadapter/exception/ConfigFileSmooksConversionException.java b/UniversalVesAdapter/src/main/java/org/onap/universalvesadapter/exception/ConfigFileSmooksConversionException.java
index 1daa939..7055bc0 100644
--- a/UniversalVesAdapter/src/main/java/org/onap/universalvesadapter/exception/ConfigFileSmooksConversionException.java
+++ b/UniversalVesAdapter/src/main/java/org/onap/universalvesadapter/exception/ConfigFileSmooksConversionException.java
@@ -26,7 +26,7 @@ package org.onap.universalvesadapter.exception;
* @author kmalbari
*
*/
-public class ConfigFileSmooksConversionException extends Exception {
+public class ConfigFileSmooksConversionException extends VesException {
/**
*
@@ -36,5 +36,9 @@ public class ConfigFileSmooksConversionException extends Exception {
public ConfigFileSmooksConversionException(String string) {
super(string);
}
+
+ public ConfigFileSmooksConversionException(String string, Exception exception) {
+ super(string, exception);
+ }
}
diff --git a/UniversalVesAdapter/src/main/java/org/onap/universalvesadapter/exception/DMaapException.java b/UniversalVesAdapter/src/main/java/org/onap/universalvesadapter/exception/DMaapException.java
index 5af0205..7a35f83 100644
--- a/UniversalVesAdapter/src/main/java/org/onap/universalvesadapter/exception/DMaapException.java
+++ b/UniversalVesAdapter/src/main/java/org/onap/universalvesadapter/exception/DMaapException.java
@@ -25,7 +25,7 @@ package org.onap.universalvesadapter.exception;
* @author kmalbari
*
*/
-public class DMaapException extends Exception {
+public class DMaapException extends VesException {
/**
*
@@ -36,6 +36,9 @@ public class DMaapException extends Exception {
super(string);
}
+ public DMaapException(String string, Exception exception) {
+ super(string, exception);
+ }
}
diff --git a/UniversalVesAdapter/src/main/java/org/onap/universalvesadapter/exception/MapperConfigException.java b/UniversalVesAdapter/src/main/java/org/onap/universalvesadapter/exception/MapperConfigException.java
index a8414d8..3dfa034 100644
--- a/UniversalVesAdapter/src/main/java/org/onap/universalvesadapter/exception/MapperConfigException.java
+++ b/UniversalVesAdapter/src/main/java/org/onap/universalvesadapter/exception/MapperConfigException.java
@@ -19,15 +19,13 @@
*/
package org.onap.universalvesadapter.exception;
-import java.io.IOException;
-
/**
* Exception thrown during mapping config operations
*
* @author kmalbari
*
*/
-public class MapperConfigException extends Exception {
+public class MapperConfigException extends VesException {
/**
*
@@ -35,11 +33,11 @@ public class MapperConfigException extends Exception {
private static final long serialVersionUID = -7876042513908918292L;
public MapperConfigException(String string) {
- // TODO Auto-generated constructor stub
+ super(string);
}
-
- public MapperConfigException(String string, IOException exception) {
- // TODO Auto-generated constructor stub
+
+ public MapperConfigException(String string, Exception exception) {
+ super(string, exception);
}
}
diff --git a/UniversalVesAdapter/src/main/java/org/onap/universalvesadapter/exception/VesException.java b/UniversalVesAdapter/src/main/java/org/onap/universalvesadapter/exception/VesException.java
index 31134c8..fd11b89 100644
--- a/UniversalVesAdapter/src/main/java/org/onap/universalvesadapter/exception/VesException.java
+++ b/UniversalVesAdapter/src/main/java/org/onap/universalvesadapter/exception/VesException.java
@@ -37,4 +37,8 @@ public class VesException extends Exception {
public VesException(String string) {
super(string);
}
+
+ public VesException(String string, Exception exception) {
+ super(string, exception);
+ }
}
diff --git a/UniversalVesAdapter/src/main/java/org/onap/universalvesadapter/service/AdapterService.java b/UniversalVesAdapter/src/main/java/org/onap/universalvesadapter/service/AdapterService.java
index 14c5a83..1e6006a 100644
--- a/UniversalVesAdapter/src/main/java/org/onap/universalvesadapter/service/AdapterService.java
+++ b/UniversalVesAdapter/src/main/java/org/onap/universalvesadapter/service/AdapterService.java
@@ -17,16 +17,17 @@
* limitations under the License.
* ============LICENSE_END=========================================================
*/
+package org.onap.universalvesadapter.service;
-package org.onap.universalvesadapter.service;
-
+import org.onap.universalvesadapter.exception.MapperConfigException;
+import org.onap.universalvesadapter.utils.MapperConfigUtils;
//import org.onap.universalvesadapter.adapter.GenericAdapter;
//import org.onap.universalvesadapter.adapter.UniversalEventAdapter;
//import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
/**
- * This service is written to identify the different type of events
+ * This service is written to identify the different type of events
*
* @author kmalbari
*
@@ -34,12 +35,11 @@ import org.springframework.stereotype.Component;
@Component
public class AdapterService {
- /*@Autowired
- private UniversalEventAdapter snmpTrapEventAdapter;
- public GenericAdapter identifyIncomingJsonFormatAndReturnAdapter() {
- return snmpTrapEventAdapter;
- }*/
-
+ /*
+ * @Autowired private UniversalEventAdapter snmpTrapEventAdapter; public
+ * GenericAdapter identifyIncomingJsonFormatAndReturnAdapter() { return
+ * snmpTrapEventAdapter; }
+ */
/**
* Identifies eventype by parsing the incoming json file.
@@ -47,11 +47,13 @@ public class AdapterService {
* @param incomingJsonString
*
* @return the event type
+ * @throws MapperConfigException
+ * if mapper config did not perform correctly
*/
- public String identifyEventTypeFromIncomingJson(String incomingJsonString) {
-
- //TODO A proper logic to identify diffeent events is needed here
- return "snmp";
+ public String identifyEventTypeFromIncomingJson(String incomingJsonString) throws MapperConfigException {
+
+ // TODO A proper logic to identify diffeent events is needed here
+ return MapperConfigUtils.checkIncomingJsonForMatchingDomain(incomingJsonString);
}
}
diff --git a/UniversalVesAdapter/src/main/java/org/onap/universalvesadapter/service/ConfigFileService.java b/UniversalVesAdapter/src/main/java/org/onap/universalvesadapter/service/ConfigFileService.java
index 09e2592..bf45a1b 100644
--- a/UniversalVesAdapter/src/main/java/org/onap/universalvesadapter/service/ConfigFileService.java
+++ b/UniversalVesAdapter/src/main/java/org/onap/universalvesadapter/service/ConfigFileService.java
@@ -22,20 +22,20 @@ package org.onap.universalvesadapter.service;
import org.onap.universalvesadapter.exception.ConfigFileReadException;
/**
- * A contract defined for services that will handle the operations of config file
+ * A contract defined for services that will handle the operations of config file.
*
* @author kmalbari
*
*/
public interface ConfigFileService {
-
- /**
- * Returns the config file data
- *
- * @param fileName
- * @return config file content
- * @throws ConfigFileReadException if unable to read config file
- */
- String readConfigFile(String fileName) throws ConfigFileReadException;
-
+
+ /**
+ * Returns the config file data.
+ *
+ * @param fileName file name
+ * @return config file content
+ * @throws ConfigFileReadException if unable to read config file
+ */
+ String readConfigFile(String fileName) throws ConfigFileReadException;
+
}
diff --git a/UniversalVesAdapter/src/main/java/org/onap/universalvesadapter/service/DMaapService.java b/UniversalVesAdapter/src/main/java/org/onap/universalvesadapter/service/DMaapService.java
index 0b318eb..e463a28 100644
--- a/UniversalVesAdapter/src/main/java/org/onap/universalvesadapter/service/DMaapService.java
+++ b/UniversalVesAdapter/src/main/java/org/onap/universalvesadapter/service/DMaapService.java
@@ -25,15 +25,23 @@ import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
+import java.util.Collections;
import java.util.List;
import java.util.Map;
+import java.util.concurrent.CopyOnWriteArrayList;
+import java.util.concurrent.TimeUnit;
+
import org.onap.universalvesadapter.configs.DMaapMrUrlConfiguration;
+import org.onap.universalvesadapter.exception.DMaapException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
-//import com.att.nsa.mr.client.MRBatchingPublisher;
-//import com.att.nsa.mr.client.MRClientFactory;
-//import com.att.nsa.mr.client.MRConsumer;
+import com.att.nsa.mr.client.MRBatchingPublisher;
+import com.att.nsa.mr.client.MRClientFactory;
+import com.att.nsa.mr.client.MRConsumer;
+import com.att.nsa.mr.client.MRPublisher.message;
/**
*
@@ -46,12 +54,30 @@ import org.springframework.stereotype.Component;
@Component
public class DMaapService {
+ private final Logger eLOGGER = LoggerFactory.getLogger(this.getClass());
+
@Autowired
private DMaapMrUrlConfiguration dmaapMrUrlObject;
-
-// private MRConsumer cc;
-//
-// private MRBatchingPublisher pub;
+
+ private MRConsumer consumer;
+
+ private MRBatchingPublisher publisher;
+
+ private List<String> outgoingMessageQueue = new CopyOnWriteArrayList<>();
+
+ /**
+ * Adds message to outgoing queue that will be sent to DMaaP topic.
+ *
+ * @param message outbound message in VES format
+ */
+ public void addMessageInOutgoingQueue(String message) {
+ if (null != message && !"".equals(message)) {
+ outgoingMessageQueue.add(message);
+ eLOGGER.debug("Added message to outgoing queue " + message);
+ }
+ }
+
+
/**
* reads the messages on DMaap MR Topic
@@ -60,23 +86,25 @@ public class DMaapService {
*
* @throws DMaapException
*/
- /*public Iterable<String> consumeFromDMaap() throws DMaapException{
- if(null == cc){
- try {
- cc = MRClientFactory.createConsumer (dmaapMrUrlObject.getConsumerProperties());
- } catch (IOException exception) {
- throw new DMaapException("Problem creating consumer \nReason : " + exception.getMessage());
- }
-
- try {
- return cc.fetch();
- } catch (Exception exception) {
- throw new DMaapException("Problem while fetching messaged from consumer \nReason : " + exception.getMessage());
- }
- }
- return () -> Collections.emptyIterator();
-
- }*/
+ public Iterable<String> consumeFromDMaap() throws DMaapException{
+ if(null == consumer){
+ try {
+ consumer = MRClientFactory.createConsumer (dmaapMrUrlObject.getConsumerProperties());
+ eLOGGER.debug("Created consumer");
+ } catch (IOException exception) {
+ throw new DMaapException("Problem creating consumer \nReason : " + exception.getMessage(), exception);
+ }
+ }
+
+ try {
+ eLOGGER.debug("Returning result fetched by consumer");
+ return consumer.fetch();
+ } catch (Exception exception) {
+ throw new DMaapException("Problem while fetching messaged from consumer \nReason : " + exception.getMessage(), exception);
+ }
+// return () -> Collections.emptyIterator();
+
+ }
/**
@@ -85,71 +113,132 @@ public class DMaapService {
*
* @throws DMaapException
*/
- /*public void publishToDMaap() throws DMaapException{
- if(null == cc){
- try {
- pub = MRClientFactory.createBatchingPublisher (dmaapMrUrlObject.getPublisherProperties());
- } catch (IOException exception) {
- throw new DMaapException("Problem creating consumer \nReason : " + exception.getMessage());
- }
-
- }
-
+ public void publishToDMaap() throws DMaapException{
+ if(null == publisher){
+ try {
+ publisher = MRClientFactory.createBatchingPublisher (dmaapMrUrlObject.getPublisherProperties());
+ eLOGGER.debug("Create a publisher now.");
+ } catch (IOException exception) {
+ throw new DMaapException("Problem creating publisher \nReason : " + exception.getMessage(), exception);
+ }
+ }
+ for(String message : outgoingMessageQueue){
+ try {
+ publisher.send(message);
+ eLOGGER.debug("Sending message to DMaaP :-> " + message );
+ } catch (IOException exception) {
+ throw new DMaapException("Problem sending message to DMaaP topic \nReason : " + exception.getMessage(), exception);
+ }
+ }
+ List<message> stuck = null;
+ try {
+ stuck = publisher.close ( 20, TimeUnit.SECONDS );
+ } catch (IOException | InterruptedException exception) {
+ throw new DMaapException("Problem while closing publisher \nReason : " + exception.getMessage(), exception);
+ }
+ if (null != stuck) {
+ if (stuck.size() > 0) {
+ eLOGGER.debug(stuck.size() + " messages unsent");
+ } else {
+ eLOGGER.debug("Clean exit; all messages sent.");
+ }
+ }
+ else
+ throw new DMaapException("Problem while closing publisher, no messages were returned. ");
+
+ }
+
+ /**
+ * sends the messages to DMaap MR Topic
+ *
+ *
+ * @throws DMaapException
+ */
+ public void publishToDMaap(String outgoingMessage) throws DMaapException{
+ if(null == publisher){
+ synchronized(publisher){
+ if(null == publisher){
+ try {
+ publisher = MRClientFactory.createBatchingPublisher (dmaapMrUrlObject.getPublisherProperties());
+ eLOGGER.debug("Publisher created now.");
+ } catch (IOException exception) {
+ throw new DMaapException("Problem creating publisher \nReason : " + exception.getMessage(), exception);
+ }
+ }
+ }
+ }
+ try {
+ publisher.send(outgoingMessage);
+ eLOGGER.debug("Sent outgoing message " + outgoingMessage);
+ } catch (IOException exception) {
+ throw new DMaapException("Problem sending message to DMaaP topic \nReason : " + exception.getMessage(), exception);
+ }
+ List<message> stuck = null;
+ try {
+ stuck = publisher.close ( 20, TimeUnit.SECONDS );
+ } catch (IOException | InterruptedException exception) {
+ throw new DMaapException("Problem while closing publisher \nReason : " + exception.getMessage(), exception);
+ }
+ if (null != stuck) {
+ if (stuck.size() > 0) {
+ eLOGGER.debug(stuck.size() + " messages unsent");
+ } else {
+ eLOGGER.debug("Clean exit; all messages sent.");
+ }
+ } else{
+ throw new DMaapException("Problem while closing publisher, no messages were returned. ");
+ }
+
+ }
+
+
+ /**
+ * for local testing only
+ * @return
+ * @throws DMaapException
+ */
+ /*public String consume() throws DMaapException {
+
+ URL url;
+ StringBuffer incomingJson = null;
+ incomingJson = new StringBuffer();
+ try {
+ url = new URL(dmaapMrUrlObject.getUrl());
+
+ //open the connection to the above URL.
+ URLConnection urlcon = url.openConnection();
+
+ Map<String, List<String>> header = urlcon.getHeaderFields();
+
+ //print all the fields along with their value.
+ for (Map.Entry<String, List<String>> mp : header.entrySet()) {
+ eLOGGER.debug(mp.getKey() + " : ");
+ eLOGGER.debug(mp.getValue().toString());
+ }
+ eLOGGER.debug("Complete source code of the URL is-");
+ eLOGGER.debug("---------------------------------");
+
+ //get the inputstream of the open connection.
+ BufferedReader br = new BufferedReader(new InputStreamReader(urlcon.getInputStream()));
+ String tempString;
+ //print the source code line by line.
+ while ((tempString = br.readLine()) != null) {
+ eLOGGER.debug(tempString);
+ incomingJson.append(tempString);
+ }
+
+ } catch (MalformedURLException exception) {
+ throw new DMaapException("Problem consuming from url \nReason : " + exception.getMessage(), exception);
+ } catch (IOException exception) {
+ throw new DMaapException("Problem consuming \nReason : " + exception.getMessage(), exception);
+ }
+ return incomingJson.toString();
}*/
- /**
- * @return
- */
- public String consume(){
- URL url;
- StringBuffer incomingJson = null;
- incomingJson = new StringBuffer();
- try {
- url = new URL(dmaapMrUrlObject.getUrl());
-
- //open the connection to the above URL.
- URLConnection urlcon = url.openConnection();
-
- Map<String, List<String>> header = urlcon.getHeaderFields();
-
- //print all the fields along with their value.
- for (Map.Entry<String, List<String>> mp : header.entrySet())
- {
- System.out.print(mp.getKey() + " : ");
- System.out.println(mp.getValue().toString());
- }
- System.out.println();
- System.out.println("Complete source code of the URL is-");
- System.out.println("---------------------------------");
-
- //get the inputstream of the open connection.
- BufferedReader br = new BufferedReader(new InputStreamReader
- (urlcon.getInputStream()));
- String tempString;
- //print the source code line by line.
- while ((tempString = br.readLine()) != null)
- {
- System.out.println(tempString);
- incomingJson.append(tempString);
- }
-
- } catch (MalformedURLException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- return incomingJson.toString();
- }
-
-
-
-
-
-
-
+
+
+
}
diff --git a/UniversalVesAdapter/src/main/java/org/onap/universalvesadapter/service/DiskRepoConfigFileService.java b/UniversalVesAdapter/src/main/java/org/onap/universalvesadapter/service/DiskRepoConfigFileService.java
index c2a30f0..7c05ced 100644
--- a/UniversalVesAdapter/src/main/java/org/onap/universalvesadapter/service/DiskRepoConfigFileService.java
+++ b/UniversalVesAdapter/src/main/java/org/onap/universalvesadapter/service/DiskRepoConfigFileService.java
@@ -32,7 +32,7 @@ import org.springframework.stereotype.Component;
import org.springframework.web.client.RestTemplate;
/**
- * Implementation of {@code ConfigFileService} using disk repository
+ * Implementation of {@code ConfigFileService} using disk repository.
*
* @author kmalbari
*
@@ -40,34 +40,48 @@ import org.springframework.web.client.RestTemplate;
@Component
public class DiskRepoConfigFileService implements ConfigFileService {
- private final Logger LOGGER = LoggerFactory.getLogger(this.getClass());
-
- @Autowired
- private DiskRepoConfiguration diskRepoConfiguration;
-
- private RestTemplate restTemplate = new RestTemplate();
-
- private URI uri = null;
+ private final Logger logger = LoggerFactory.getLogger(this.getClass());
+
+ @Autowired
+ private DiskRepoConfiguration diskRepoConfiguration;
+
+ private RestTemplate restTemplate;
+
+ private URI uri = null;
- /* (non-Javadoc)
- * @see org.onap.universalvesadapter.service.ConfigFileService#readConfigFile(java.lang.String)
- */
- @Override
- public String readConfigFile(String fileName) throws ConfigFileReadException {
- LOGGER.debug("Reading config file for " + fileName);
- if(null == uri){
- try {
- uri = new URI(diskRepoConfiguration.getFileRepositoryUrl()+fileName);
- LOGGER.debug("Read URI for " + fileName);
- } catch (URISyntaxException exception) {
- throw new ConfigFileReadException("Unable to read config file for file "
- + fileName + "\n Reason : " + exception.getMessage());
- }
- }
- LOGGER.debug("Calling file repo service for URI" + uri);
- ResponseEntity<String> fileDataEntity = restTemplate.getForEntity(uri, String.class);
- LOGGER.debug("Call completed successfully");
- return fileDataEntity.getBody();
- }
+ /* (non-Javadoc)
+ * @see org.onap.universalvesadapter.service.ConfigFileService#readConfigFile(java.lang.String)
+ */
+ @Override
+ public String readConfigFile(String fileName) throws ConfigFileReadException {
+ logger.debug("Reading config file for " + fileName);
+ if (null == uri) {
+ try {
+ uri = new URI(diskRepoConfiguration.getFileRepositoryUrl() + fileName);
+ logger.debug("Read URI for " + fileName);
+ } catch (URISyntaxException exception) {
+ throw new ConfigFileReadException("Unable to read config file for file "
+ + fileName + "\n Reason : " + exception.getMessage(), exception);
+ }
+ }
+ logger.debug("Calling file repo service for URI" + uri);
+ ResponseEntity<String> fileDataEntity = getRestTemplate().getForEntity(uri, String.class);
+ logger.debug("Call completed successfully");
+ return fileDataEntity.getBody();
+ }
+
+ /**
+ * Instantiates the instance if null and returns it.
+ *
+ * @return {@code RestTemplate} instance
+ */
+ private RestTemplate getRestTemplate(){
+
+ if (null == restTemplate) {
+ restTemplate = new RestTemplate();
+ }
+
+ return restTemplate;
+ }
}
diff --git a/UniversalVesAdapter/src/main/java/org/onap/universalvesadapter/service/MongoDbConfigFileService.java b/UniversalVesAdapter/src/main/java/org/onap/universalvesadapter/service/MongoDbConfigFileService.java
index bab304a..77769f5 100644
--- a/UniversalVesAdapter/src/main/java/org/onap/universalvesadapter/service/MongoDbConfigFileService.java
+++ b/UniversalVesAdapter/src/main/java/org/onap/universalvesadapter/service/MongoDbConfigFileService.java
@@ -37,8 +37,14 @@ public class MongoDbConfigFileService implements ConfigFileService {
public String readConfigFile(String configFileName){
//HERE CONFIG FILE DATA WOULD COME FROM MONGO DB
ConfigFileData configFileData = new ConfigFileData();
- configFileData.setXmlFileName("");
- configFileData.setXmlContent("<?xml version=\"1.0\" encoding=\"UTF-8\"?> <smooks-resource-list xmlns=\"http://www.milyn.org/xsd/smooks-1.1.xsd\" xmlns:json=\"http://www.milyn.org/xsd/smooks/json-1.1.xsd\" xmlns:jb=\"http://www.milyn.org/xsd/smooks/javabean-1.2.xsd\"> <json:reader rootName=\"simple\" keyWhitspaceReplacement=\"-\"> </json:reader> <!-- <jb:bean class=\"com.example.demo.Simple\" beanId=\"simple\" createOnElement=\"simple\"> <jb:value property=\"orderId\" data=\"#/orderId\" /> <jb:value property=\"username\" data=\"#/username\" /> <jb:wiring property=\"customer\" beanIdRef=\"customer\"/> <jb:wiring property=\"orderItems\" beanIdRef=\"orderItems\"/> </jb:bean> --> <jb:bean class=\"org.onap.dcaegen2.ves.domain.VesEvent\" beanId=\"vesEvent\" createOnElement=\"simple\"> <jb:wiring property=\"event\" beanIdRef=\"event\"/> </jb:bean> <jb:bean class=\"org.onap.dcaegen2.ves.domain.Event\" beanId=\"event\" createOnElement=\"simple\"> <jb:wiring property=\"commonEventHeader\" beanIdRef=\"commonEventHeader\"/> <jb:wiring property=\"faultFields\" beanIdRef=\"faultFields\"/> <jb:wiring property=\"measurementsForVfScalingFields\" beanIdRef=\"measurementsForVfScalingFields\"/> </jb:bean> <jb:bean class=\"org.onap.dcaegen2.ves.domain.MeasurementsForVfScalingFields\" beanId=\"measurementsForVfScalingFields\" createOnElement=\"simple\"> <jb:wiring property=\"additionalMeasurements\" beanIdRef=\"additionalMeasurements\"/> </jb:bean> <jb:bean class=\"org.onap.dcaegen2.ves.domain.CommonEventHeader\" beanId=\"commonEventHeader\" createOnElement=\"simple\"> <jb:value property=\"eventId\" data=\"#/community\" /> <jb:value property=\"eventName\" data=\"#/protocol-version\" /> <jb:value property=\"domain\" data=\"#/trap-category\" /> <jb:value property=\"sequence\" data=\"#/time-received\" decoder=\"Long\"/> <jb:value property=\"lastEpochMicrosec\" data=\"#/community-len\" decoder=\"Double\" /> <jb:value property=\"startEpochMicrosec\" data=\"#/notify-OID-len\" /> </jb:bean> <jb:bean class=\"org.onap.dcaegen2.ves.domain.FaultFields\" beanId=\"faultFields\" createOnElement=\"simple\"> <jb:value property=\"alarmCondition\" data=\"#/cambria.partition\" /> <jb:value property=\"eventSeverity\" data=\"#/notify-OID\" /> <jb:value property=\"eventSourceType\" data=\"#/agent-name\" /> <jb:value property=\"specificProblem\" data=\"#/agent-address\" /> <jb:value property=\"faultFieldsVersion\" data=\"#/epoch_serno\" decoder=\"Double\" /> </jb:bean> <jb:bean class=\"java.util.ArrayList\" beanId=\"additionalMeasurements\" createOnElement=\"simple\"> <jb:wiring beanIdRef=\"additionalMeasurement\"/> </jb:bean> <jb:bean class=\"org.onap.dcaegen2.ves.domain.AdditionalMeasurement\" beanId=\"additionalMeasurement\" createOnElement=\"varbinds/element\"> <jb:value property=\"name\" data=\"#/varbind_value\" /> </jb:bean> </smooks-resource-list>");
+ configFileData.setXmlFileName(configFileName);
+ configFileData.setXmlContent("<?xml version=\"1.0\" encoding=\"UTF-8\"?> "
+ + "<smooks-resource-list xmlns=\"http://www.milyn.org/xsd/smooks-1.1.xsd\" "
+ + "xmlns:json=\"http://www.milyn.org/xsd/smooks/json-1.1.xsd\" "
+ + " xmlns:jb=\"http://www.milyn.org/xsd/smooks/javabean-1.2.xsd\"> "
+ + " <json:reader rootName=\"simple\" keyWhitspaceReplacement=\"-\"> "
+ + " </json:reader> "
+ + "</smooks-resource-list>");
return configFileData.getXmlContent();
}
diff --git a/UniversalVesAdapter/src/main/java/org/onap/universalvesadapter/service/VesService.java b/UniversalVesAdapter/src/main/java/org/onap/universalvesadapter/service/VesService.java
index 81cb4b8..112d1d6 100644
--- a/UniversalVesAdapter/src/main/java/org/onap/universalvesadapter/service/VesService.java
+++ b/UniversalVesAdapter/src/main/java/org/onap/universalvesadapter/service/VesService.java
@@ -19,16 +19,28 @@
*/
package org.onap.universalvesadapter.service;
+import java.io.FileNotFoundException;
+import java.io.FileReader;
+import java.io.IOException;
+
import javax.annotation.Resource;
+
+import org.milyn.io.FileUtils;
import org.onap.universalvesadapter.adapter.GenericAdapter;
import org.onap.universalvesadapter.exception.ConfigFileReadException;
import org.onap.universalvesadapter.exception.ConfigFileSmooksConversionException;
+import org.onap.universalvesadapter.exception.DMaapException;
+import org.onap.universalvesadapter.exception.MapperConfigException;
import org.onap.universalvesadapter.exception.VesException;
+import org.onap.universalvesadapter.utils.MapperConfigUtils;
+import org.onap.universalvesadapter.utils.ParallelTasks;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
+import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.stereotype.Component;
+import org.springframework.util.FileCopyUtils;
/**
* Service that starts the universal ves adapter module to listen for events
@@ -38,10 +50,13 @@ import org.springframework.stereotype.Component;
*/
@Component
public class VesService {
-
- private final Logger LOGGER = LoggerFactory.getLogger(this.getClass());
-
- private boolean isRunning = true;
+
+ private final Logger LOGGER = LoggerFactory.getLogger(this.getClass());
+
+ private boolean isRunning = true;
+
+ @Autowired
+ private ConfigurableApplicationContext ctx;
@Autowired
private DMaapService dmaapService;
@@ -49,80 +64,114 @@ public class VesService {
@Autowired
private AdapterService adapterService;
- @Resource(name="universalEventAdapter")
+ @Resource(name = "universalEventAdapter")
private GenericAdapter eventAdapter;
@Value("${messagesInBatch}")
- private int messagesInBatch;
-
- /*public void start(){
-
- String incomingJsonString = dmaapService.consume();
- if(!"".equals(incomingJsonString)){
- GenericAdapter eventAdapter = adapterService.identifyIncomingJsonFormatAndReturnAdapter();
- String outgoingJsonString = eventAdapter.transform(incomingJsonString);
- System.out.println(outgoingJsonString);
- }
- }*/
+ private int messagesInBatch;
+
+ @Value("${messagesInTimeInterval}")
+ private long messagesInTimeInverval;
+
+ @Value("${mapperConfig.file}")
+ private String mapperConfigFile;
+ /*public void start(){
+
+ String incomingJsonString = dmaapService.consume();
+ if(!"".equals(incomingJsonString)){
+ GenericAdapter eventAdapter = adapterService.identifyIncomingJsonFormatAndReturnAdapter();
+ String outgoingJsonString = eventAdapter.transform(incomingJsonString);
+ System.out.println(outgoingJsonString);
+ }
+ }*/
- /**
- * method triggers universal ves adapter module
- */
- public void start() {
- /*ParallelTasks parallelTasks = new ParallelTasks();
- int processingNumberOfMessage = 0;
- while (isRunning) {
- try {
- for(String incomingJsonString : dmaapService.consumeFromDMaap()){
- parallelTasks.add(() -> processReceivedJson(incomingJsonString));
- processingNumberOfMessage++;
- if(processingNumberOfMessage == messagesInBatch){
- parallelTasks.startParallelTasks();
- processingNumberOfMessage=0;
- parallelTasks = new ParallelTasks();
- try
- {
- Thread.sleep(1000);
- }
- catch (InterruptedException e)
- {
- }
- }
- }
- } catch (DMaapException e) {
- }
- }*/
- String incomingJsonString = dmaapService.consume();
- processReceivedJson(incomingJsonString);
- }
+
+ /**
+ * method triggers universal ves adapter module.
+ */
+ public void start() {
+
+ try {
+ String mappingConfigFileData = FileCopyUtils.copyToString(new FileReader(mapperConfigFile));
+ MapperConfigUtils.readMapperConfigFile(mappingConfigFileData);
+
+
+ ParallelTasks parallelTasks = new ParallelTasks();
+ while (isRunning) {
+ int processingNumberOfMessage = 0;
+ long start = System.currentTimeMillis();
+ for (String incomingJsonString : dmaapService.consumeFromDMaap()) {
+ parallelTasks.add(() -> processReceivedJson(incomingJsonString));
+ processingNumberOfMessage++;
+ if (processingNumberOfMessage == messagesInBatch
+ || (System.currentTimeMillis() - start) > messagesInTimeInverval) {
+ processingNumberOfMessage = 0;
+ start = System.currentTimeMillis();
+ try {
+ parallelTasks.startParallelTasks();
+ } catch (InterruptedException exception) {
+ LOGGER.error("Processing was interrupted due to :" + exception.getMessage());
+ }
+ parallelTasks = new ParallelTasks();
+ }
+ }
+ try {
+ parallelTasks.startParallelTasks();
+ } catch (InterruptedException exception) {
+ LOGGER.error("Processing was interrupted due to :" + exception.getMessage());
+ }
+ parallelTasks = new ParallelTasks();
+ }
+
+ /*String incomingJsonString = "";
+ incomingJsonString = dmaapService.consume();
+ processReceivedJson(incomingJsonString);*/
+ } catch (Exception exception) {
+ LOGGER.error("Reported exception : " + exception.getMessage(), exception);
+ }
+ }
- /**
- * It finds mapping file for received json, transforms json to VES format
- * and publishes it to outgoing DMaap MR Topic
- *
- * @param incomingJsonString
- */
- private void processReceivedJson(String incomingJsonString) {
- try {
- LOGGER.debug("Received incoming message" + incomingJsonString);
- if (!"".equals(incomingJsonString)) {
- String eventType = adapterService.identifyEventTypeFromIncomingJson(incomingJsonString);
- LOGGER.debug("Event identified as " + eventType);
- String outgoingJsonString;
- outgoingJsonString = eventAdapter.transform(incomingJsonString, eventType);
- LOGGER.debug("Output VES json to be sent " + outgoingJsonString);
- }
- } catch (ConfigFileReadException | ConfigFileSmooksConversionException | VesException exception) {
- LOGGER.error(exception.getMessage());
- }
- }
-
- /**
- * method stops universal ves adapter module
- */
- public void stop() {
-
- isRunning = false;
- }
+ /**
+ * It finds mapping file for received json, transforms json to VES format
+ * and publishes it to outgoing DMaap MR Topic
+ *
+ * @param incomingJsonString
+ */
+ private void processReceivedJson(String incomingJsonString){
+ LOGGER.debug("Received incoming message : " + incomingJsonString);
+ if (!"".equals(incomingJsonString)) {
+ String eventType;
+ try {
+ eventType = adapterService.identifyEventTypeFromIncomingJson(incomingJsonString);
+
+ LOGGER.debug("Event identified as " + eventType);
+ String outgoingJsonString;
+ outgoingJsonString = eventAdapter.transform(incomingJsonString, eventType);
+ LOGGER.debug("Output VES json to be sent " + outgoingJsonString);
+
+// dmaapService.addMessageInOutgoingQueue(outgoingJsonString);
+// LOGGER.debug("Added message in outgoing Queue ");
+
+ dmaapService.publishToDMaap(outgoingJsonString);
+ LOGGER.debug("Sent message in outgoing Queue ");
+
+
+ } catch (VesException exception) {
+ LOGGER.error("Received exception : " + exception.getMessage(), exception);
+
+ //TODO KKM : Do we wish to continue the application with same exception in every thread??
+ LOGGER.error("APPLICATION WILL BE SHUTDOWN UNTIL ABOVE ISSUE IS RESOLVED.");
+ ctx.close();
+ }
+ }
+ }
+
+ /**
+ * method stops universal ves adapter module
+ */
+ public void stop() {
+
+ isRunning = false;
+ }
}
diff --git a/UniversalVesAdapter/src/test/java/org/onap/dcaegen2/ves/domain/AdditionalFieldTest.java b/UniversalVesAdapter/src/test/java/org/onap/dcaegen2/ves/domain/AdditionalFieldTest.java
new file mode 100644
index 0000000..c7ba7e0
--- /dev/null
+++ b/UniversalVesAdapter/src/test/java/org/onap/dcaegen2/ves/domain/AdditionalFieldTest.java
@@ -0,0 +1,51 @@
+/*
+* ============LICENSE_START=======================================================
+* ONAP : DCAE
+* ================================================================================
+* Copyright 2018 TechMahindra
+*=================================================================================
+* 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.dcaegen2.ves.domain;
+
+import static org.junit.Assert.*;
+
+import java.util.HashMap;
+import java.util.Map;
+import org.onap.dcaegen2.ves.domain.AdditionalField;
+import org.junit.Test;
+import org.springframework.beans.factory.annotation.Autowired;
+
+public class AdditionalFieldTest {
+
+ @Autowired
+ AdditionalField additionalField = new AdditionalField();
+ Object value1 = new Object();
+ Map<String, Object> map = new HashMap<String, Object>();
+
+ @Test
+ public void test() {
+ additionalField.setAdditionalProperty("name", value1);
+ additionalField.setName("name2");
+ additionalField.setValue("value2");
+
+ map.put("name", value1);
+ assertEquals(additionalField.getName(),"name2");
+ assertEquals(additionalField.getValue(),"value2");
+ assertEquals(additionalField.getAdditionalProperties(),map);
+ assert (additionalField.toString() != null);
+ assert (additionalField.hashCode() != 0);
+ }
+
+}
diff --git a/UniversalVesAdapter/src/test/java/org/onap/dcaegen2/ves/domain/AlarmAdditionalInformationTest.java b/UniversalVesAdapter/src/test/java/org/onap/dcaegen2/ves/domain/AlarmAdditionalInformationTest.java
new file mode 100644
index 0000000..a481729
--- /dev/null
+++ b/UniversalVesAdapter/src/test/java/org/onap/dcaegen2/ves/domain/AlarmAdditionalInformationTest.java
@@ -0,0 +1,55 @@
+/*
+* ============LICENSE_START=======================================================
+* ONAP : DCAE
+* ================================================================================
+* Copyright 2018 TechMahindra
+*=================================================================================
+* 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.dcaegen2.ves.domain;
+
+import static org.junit.Assert.*;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.junit.Test;
+import org.springframework.beans.factory.annotation.Autowired;
+
+public class AlarmAdditionalInformationTest {
+
+ @Autowired
+ AlarmAdditionalInformation alarmAdditionalInformation = new AlarmAdditionalInformation();
+ Object value1 = new Object();
+ Map<String, Object> map = new HashMap<String, Object>();
+
+
+
+ @Test
+ public void test() {
+ alarmAdditionalInformation.setAdditionalProperty("name", value1);
+ alarmAdditionalInformation.setName("name2");
+ alarmAdditionalInformation.setValue("value2");
+
+ map.put("name", value1);
+ assertEquals(alarmAdditionalInformation.getName(),"name2");
+ assertEquals(alarmAdditionalInformation.getValue(),"value2");
+ assertEquals(alarmAdditionalInformation.getAdditionalProperties(),map);
+ assert (alarmAdditionalInformation.toString() != null);
+ assert (alarmAdditionalInformation.hashCode() != 0);
+
+
+ }
+
+}
diff --git a/UniversalVesAdapter/src/test/java/org/onap/dcaegen2/ves/domain/ArrayOfField_Test.java b/UniversalVesAdapter/src/test/java/org/onap/dcaegen2/ves/domain/ArrayOfField_Test.java
new file mode 100644
index 0000000..a4cd280
--- /dev/null
+++ b/UniversalVesAdapter/src/test/java/org/onap/dcaegen2/ves/domain/ArrayOfField_Test.java
@@ -0,0 +1,52 @@
+/*
+* ============LICENSE_START=======================================================
+* ONAP : DCAE
+* ================================================================================
+* Copyright 2018 TechMahindra
+*=================================================================================
+* 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.dcaegen2.ves.domain;
+
+import static org.junit.Assert.*;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.junit.Test;
+import org.springframework.beans.factory.annotation.Autowired;
+
+public class ArrayOfField_Test {
+ @Autowired
+ ArrayOfField_ arrayOfField = new ArrayOfField_();
+ Object value1 = new Object();
+ Map<String, Object> map = new HashMap<String, Object>();
+
+
+
+ @Test
+ public void test() {
+ arrayOfField.setAdditionalProperty("name", value1);
+ arrayOfField.setName("name2");
+ arrayOfField.setValue("value2");
+
+ map.put("name", value1);
+ assertEquals (arrayOfField.getName(),"name2");
+ assertEquals (arrayOfField.getValue(),"value2");
+ assertEquals (arrayOfField.getAdditionalProperties(),map);
+ assert (arrayOfField.toString() != null);
+ assert (arrayOfField.hashCode() != 0);
+
+}
+}
diff --git a/UniversalVesAdapter/src/test/java/org/onap/dcaegen2/ves/domain/CommonEventHeaderTest.java b/UniversalVesAdapter/src/test/java/org/onap/dcaegen2/ves/domain/CommonEventHeaderTest.java
new file mode 100644
index 0000000..b015d63
--- /dev/null
+++ b/UniversalVesAdapter/src/test/java/org/onap/dcaegen2/ves/domain/CommonEventHeaderTest.java
@@ -0,0 +1,89 @@
+/*
+* ============LICENSE_START=======================================================
+* ONAP : DCAE
+* ================================================================================
+* Copyright 2018 TechMahindra
+*=================================================================================
+* 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.dcaegen2.ves.domain;
+
+import static org.junit.Assert.*;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.junit.Test;
+import org.mockito.Mock;
+import org.springframework.beans.factory.annotation.Autowired;
+
+public class CommonEventHeaderTest {
+
+ @Autowired
+ CommonEventHeader commonEventHeader = new CommonEventHeader();
+ Object value =new Object();
+ private Map<String, Object> map = new HashMap<String, Object>();
+ @Mock
+ InternalHeaderFields internalHeaderFields = new InternalHeaderFields();
+
+ @Test
+ public void test() {
+
+ commonEventHeader.setDomain("Domain");
+ commonEventHeader.setEventId("EventID");
+ commonEventHeader.setEventName("EventName");
+ commonEventHeader.setEventType("EventType");
+ commonEventHeader.setLastEpochMicrosec(11.25);
+ commonEventHeader.setAdditionalProperty("name", value);
+ commonEventHeader.setInternalHeaderFields(internalHeaderFields);
+ commonEventHeader.setNfcNamingCode("nfcNamingCode");
+ commonEventHeader.setNfNamingCode("nfNamingCode");
+ commonEventHeader.setPriority("priority");
+ commonEventHeader.setReportingEntityId("reportingEntityId");
+ commonEventHeader.setReportingEntityName("reportingEntityName");
+ commonEventHeader.setSequence(1L);
+ commonEventHeader.setSourceId("sourceId");
+ commonEventHeader.setSourceName("sourceName");
+ commonEventHeader.setStartEpochMicrosec(11.1);
+ commonEventHeader.setVersion(1.2);
+ map.put("name", value);
+
+ assertEquals (commonEventHeader.getDomain(),"Domain");
+ assertEquals (commonEventHeader.getEventId(),"EventID");
+ assertEquals (commonEventHeader.getEventName(),"EventName");
+ assertEquals (commonEventHeader.getEventType(),"EventType");
+ assertEquals(commonEventHeader.getLastEpochMicrosec(), new Double(11.25));
+
+ assertEquals (commonEventHeader.getAdditionalProperties(),map);
+ assertEquals (commonEventHeader.getInternalHeaderFields(),internalHeaderFields);
+ assertEquals (commonEventHeader.getNfcNamingCode(),"nfcNamingCode");
+ assertEquals (commonEventHeader.getNfNamingCode(),"nfNamingCode");
+ assertEquals (commonEventHeader.getPriority(),"priority");
+ assertEquals (commonEventHeader.getReportingEntityId(),"reportingEntityId");
+ assertEquals (commonEventHeader.getReportingEntityName(),"reportingEntityName");
+ assertEquals (commonEventHeader.getSequence(),new Long(1L));
+ assertEquals (commonEventHeader.getSourceId(),"sourceId");
+ assertEquals (commonEventHeader.getSourceName(),"sourceName");
+ assertEquals (commonEventHeader.getStartEpochMicrosec(),new Double(11.1));
+ assertEquals (commonEventHeader.getVersion(),new Double(1.2));
+
+ assert (commonEventHeader.toString() != null);
+ assert (commonEventHeader.hashCode() != 0);
+
+
+
+
+ }
+
+}
diff --git a/UniversalVesAdapter/src/test/java/org/onap/dcaegen2/ves/domain/EventTest.java b/UniversalVesAdapter/src/test/java/org/onap/dcaegen2/ves/domain/EventTest.java
new file mode 100644
index 0000000..192abfb
--- /dev/null
+++ b/UniversalVesAdapter/src/test/java/org/onap/dcaegen2/ves/domain/EventTest.java
@@ -0,0 +1,56 @@
+/*
+* ============LICENSE_START=======================================================
+* ONAP : DCAE
+* ================================================================================
+* Copyright 2018 TechMahindra
+*=================================================================================
+* 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.dcaegen2.ves.domain;
+
+import static org.junit.Assert.*;
+
+import org.junit.Test;
+import org.mockito.Mock;
+import org.springframework.beans.factory.annotation.Autowired;
+
+public class EventTest {
+
+ @Autowired
+ Event event = new Event();
+ @Mock
+ CommonEventHeader commonEventHeader = new CommonEventHeader();
+ @Mock
+ FaultFields faultFields = new FaultFields();
+ @Mock
+ HeartbeatFields heartbeatFields = new HeartbeatFields();
+
+ @Test
+ public void test() {
+ event.setCommonEventHeader(commonEventHeader);
+ event.setFaultFields(faultFields);
+ event.setHeartbeatFields(heartbeatFields);
+
+ assertEquals (event.getCommonEventHeader(),commonEventHeader);
+ assertEquals (event.getFaultFields(),faultFields);
+ assertEquals (event.getHeartbeatFields(),heartbeatFields);
+
+ assert (event.toString() != null);
+ assert (event.hashCode() != 0);
+
+
+
+ }
+
+}
diff --git a/UniversalVesAdapter/src/test/java/org/onap/dcaegen2/ves/domain/FaultFieldsTest.java b/UniversalVesAdapter/src/test/java/org/onap/dcaegen2/ves/domain/FaultFieldsTest.java
new file mode 100644
index 0000000..b77480c
--- /dev/null
+++ b/UniversalVesAdapter/src/test/java/org/onap/dcaegen2/ves/domain/FaultFieldsTest.java
@@ -0,0 +1,73 @@
+/*
+* ============LICENSE_START=======================================================
+* ONAP : DCAE
+* ================================================================================
+* Copyright 2018 TechMahindra
+*=================================================================================
+* 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.dcaegen2.ves.domain;
+
+import static org.junit.Assert.*;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.antlr.grammar.v3.ANTLRParser.action_return;
+import org.apache.bcel.generic.NEW;
+import org.junit.Test;
+
+public class FaultFieldsTest {
+
+ FaultFields ff=new FaultFields();
+ Object o=new Object();
+ Object o2=new Object();
+ List<AlarmAdditionalInformation> alarmAdditionalInformation;
+ Map<String, Object> a = new HashMap<String, Object>();
+ @Test
+ public void test() {
+
+ ff.setAdditionalProperty("name",o);
+ ff.setAlarmAdditionalInformation(alarmAdditionalInformation);
+ ff.setAlarmCondition("alarmCondition");
+ ff.setAlarmInterfaceA("alarmInterfaceA");
+ ff.setEventCategory("eventCategory");
+ ff.setEventSeverity("eventSeverity");
+ ff.setEventSourceType("eventSourceType");
+ ff.setFaultFieldsVersion(11.25);
+ ff.setSpecificProblem("specificProblem");
+ ff.setVfStatus("vfStatus");
+ a.put("name",o);
+ assertEquals(ff.getAdditionalProperties(),a);
+ assertEquals(ff.getAlarmAdditionalInformation(),alarmAdditionalInformation);
+ assertEquals(ff.getAlarmCondition(), "alarmCondition");
+ assertEquals(ff.getAlarmInterfaceA(), "alarmInterfaceA");
+ assertEquals(ff.getEventCategory(), "eventCategory");
+ assertEquals(ff.getEventSeverity(), "eventSeverity");
+ assertEquals(ff.getEventSourceType(), "eventSourceType");
+ assertEquals(ff.getSpecificProblem(), "specificProblem");
+ assert(ff.getFaultFieldsVersion().equals(11.25));
+ assertEquals(ff.getVfStatus(), "vfStatus");
+ assert(ff.toString()!=null);
+ assert(ff.hashCode()!=0);
+ // assert(equals(ff));
+ //assert(ff.equals(o)!=false);
+ //ff.equals(o);
+ // assert(ff.equals(o));
+ //assert(ff.equals(o2));
+
+ }
+
+}
diff --git a/UniversalVesAdapter/src/test/java/org/onap/dcaegen2/ves/domain/HeartbeatFieldsTest.java b/UniversalVesAdapter/src/test/java/org/onap/dcaegen2/ves/domain/HeartbeatFieldsTest.java
new file mode 100644
index 0000000..3695281
--- /dev/null
+++ b/UniversalVesAdapter/src/test/java/org/onap/dcaegen2/ves/domain/HeartbeatFieldsTest.java
@@ -0,0 +1,63 @@
+/*
+* ============LICENSE_START=======================================================
+* ONAP : DCAE
+* ================================================================================
+* Copyright 2018 TechMahindra
+*=================================================================================
+* 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.dcaegen2.ves.domain;
+
+import static org.junit.Assert.*;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.junit.Test;
+import org.mockito.Mock;
+import org.springframework.beans.factory.annotation.Autowired;
+
+public class HeartbeatFieldsTest {
+
+ @Autowired
+ HeartbeatFields heartbeatFields = new HeartbeatFields();
+ Object value = new Object();
+
+ List<AdditionalField> additionalFields = null;
+ @Mock
+ AdditionalField field = new AdditionalField();
+
+ Map<String, Object> a = new HashMap<String, Object>();
+ @Test
+ public void test() {
+ //additionalFields.add(field);
+ heartbeatFields.setAdditionalFields(additionalFields);
+ heartbeatFields.setAdditionalProperty("name", value);
+ heartbeatFields.setHeartbeatFieldsVersion(11.1);
+ heartbeatFields.setHeartbeatInterval(1L);
+ a.put("name", value);
+ assertEquals (heartbeatFields.getAdditionalFields(),additionalFields);
+ assertEquals (heartbeatFields.getAdditionalProperties(),a);
+ assertEquals (heartbeatFields.getHeartbeatFieldsVersion(),new Double(11.1));
+ assertEquals (heartbeatFields.getHeartbeatInterval(),new Long(1L));
+ assert (heartbeatFields.toString() != null);
+ assert (heartbeatFields.hashCode() != 0);
+
+
+
+
+ }
+
+}
diff --git a/UniversalVesAdapter/src/test/java/org/onap/dcaegen2/ves/domain/InternalHeaderFieldsTest.java b/UniversalVesAdapter/src/test/java/org/onap/dcaegen2/ves/domain/InternalHeaderFieldsTest.java
new file mode 100644
index 0000000..c644ba1
--- /dev/null
+++ b/UniversalVesAdapter/src/test/java/org/onap/dcaegen2/ves/domain/InternalHeaderFieldsTest.java
@@ -0,0 +1,48 @@
+/*
+* ============LICENSE_START=======================================================
+* ONAP : DCAE
+* ================================================================================
+* Copyright 2018 TechMahindra
+*=================================================================================
+* 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.dcaegen2.ves.domain;
+
+import static org.junit.Assert.*;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.junit.Test;
+import org.springframework.beans.factory.annotation.Autowired;
+
+public class InternalHeaderFieldsTest {
+
+ @Autowired
+ InternalHeaderFields internalHeaderFields = new InternalHeaderFields();
+ Object value = new Object();
+ Map<String, Object> additionalProperties = new HashMap<String, Object>();
+ @Test
+ public void test() {
+ internalHeaderFields.setAdditionalProperty("name", value);
+ additionalProperties.put("name", value);
+
+ assertEquals (internalHeaderFields.getAdditionalProperties(),additionalProperties);
+ assert (internalHeaderFields.toString() != null);
+ assert (internalHeaderFields.hashCode() != 0);
+
+
+ }
+
+}
diff --git a/UniversalVesAdapter/src/test/java/org/onap/dcaegen2/ves/domain/VesEventTest.java b/UniversalVesAdapter/src/test/java/org/onap/dcaegen2/ves/domain/VesEventTest.java
new file mode 100644
index 0000000..97333ba
--- /dev/null
+++ b/UniversalVesAdapter/src/test/java/org/onap/dcaegen2/ves/domain/VesEventTest.java
@@ -0,0 +1,51 @@
+/*
+* ============LICENSE_START=======================================================
+* ONAP : DCAE
+* ================================================================================
+* Copyright 2018 TechMahindra
+*=================================================================================
+* 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.dcaegen2.ves.domain;
+
+import static org.junit.Assert.*;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.junit.Test;
+import org.mockito.Mock;
+import org.springframework.beans.factory.annotation.Autowired;
+
+public class VesEventTest {
+
+ @Autowired
+ VesEvent vesEvent = new VesEvent();
+ @Mock
+ Event event = new Event();
+ Object value = new Object();
+ Map<String, Object> additionalProperties = new HashMap<String, Object>();
+ @Test
+ public void test() {
+ vesEvent.setAdditionalProperty("name", value);
+ vesEvent.setEvent(event);
+ additionalProperties.put("name", value);
+ assertEquals(vesEvent.getAdditionalProperties(), additionalProperties);
+ assertEquals(vesEvent.getEvent(), event);
+ assert (vesEvent.toString() != null);
+ assert (vesEvent.hashCode() != 0);
+
+ }
+
+}
diff --git a/UniversalVesAdapter/src/test/java/org/onap/universalvesadapter/controller/VesControllerTest.java b/UniversalVesAdapter/src/test/java/org/onap/universalvesadapter/controller/VesControllerTest.java
new file mode 100644
index 0000000..786c22c
--- /dev/null
+++ b/UniversalVesAdapter/src/test/java/org/onap/universalvesadapter/controller/VesControllerTest.java
@@ -0,0 +1,66 @@
+/*
+* ============LICENSE_START=======================================================
+* ONAP : DCAE
+* ================================================================================
+* Copyright 2018 TechMahindra
+*=================================================================================
+* 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.universalvesadapter.controller;
+
+import static org.junit.Assert.assertEquals;
+import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
+import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print;
+import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath;
+import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.onap.universalvesadapter.Application;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+import org.springframework.test.web.servlet.MockMvc;
+import org.springframework.test.web.servlet.MvcResult;
+import org.springframework.test.web.servlet.ResultActions;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes=Application.class)
+@AutoConfigureMockMvc
+public class VesControllerTest {
+
+ @Autowired
+ private MockMvc mockMvc;
+
+ @Test
+ public void startShouldReturnApplicationStartedMessage() throws Exception {
+
+ MvcResult mvcResult = this.mockMvc.perform(get("/start")).andDo(print()).andExpect(status().isOk())
+ .andReturn();//Expect(jsonPath("$.content").value("Application started"));
+ assertEquals("Application started", mvcResult.getResponse().getContentAsString());
+ }
+
+ @Test
+ public void stopShouldReturnApplicationStoppingMessage() throws Exception {
+
+ MvcResult mvcResult = this.mockMvc.perform(get("/stop")).andDo(print()).andExpect(status().isOk())
+ .andReturn();//.andExpect(jsonPath("$.content").value("Application will be stopped soon"));
+ assertEquals("Application will be stopped soon", mvcResult.getResponse().getContentAsString());
+ }
+
+
+
+}
+*/ \ No newline at end of file
diff --git a/UniversalVesAdapter/src/test/java/org/onap/universalvesadapter/domain/ConfigFileDataTest.java b/UniversalVesAdapter/src/test/java/org/onap/universalvesadapter/domain/ConfigFileDataTest.java
new file mode 100644
index 0000000..9f51cae
--- /dev/null
+++ b/UniversalVesAdapter/src/test/java/org/onap/universalvesadapter/domain/ConfigFileDataTest.java
@@ -0,0 +1,40 @@
+/*
+* ============LICENSE_START=======================================================
+* ONAP : DCAE
+* ================================================================================
+* Copyright 2018 TechMahindra
+*=================================================================================
+* 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.universalvesadapter.domain;
+
+import static org.junit.Assert.*;
+
+import org.junit.Test;
+import org.springframework.beans.factory.annotation.Autowired;
+
+public class ConfigFileDataTest {
+
+ @Autowired
+ ConfigFileData configFileData = new ConfigFileData();
+ @Test
+ public void test() {
+ configFileData.setXmlContent("xmlContent");
+ configFileData.setXmlFileName("xmlFileName");
+
+ assertEquals(configFileData.getXmlContent(), "xmlContent");
+ assertEquals(configFileData.getXmlFileName(), "xmlFileName");
+ }
+
+}
diff --git a/UniversalVesAdapter/src/test/java/org/onap/universalvesadapter/mappingconfig/EntryTest.java b/UniversalVesAdapter/src/test/java/org/onap/universalvesadapter/mappingconfig/EntryTest.java
new file mode 100644
index 0000000..d72892b
--- /dev/null
+++ b/UniversalVesAdapter/src/test/java/org/onap/universalvesadapter/mappingconfig/EntryTest.java
@@ -0,0 +1,59 @@
+/*
+* ============LICENSE_START=======================================================
+* ONAP : DCAE
+* ================================================================================
+* Copyright 2018 TechMahindra
+*=================================================================================
+* 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.universalvesadapter.mappingconfig;
+
+import static org.junit.Assert.*;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.junit.Test;
+import org.mockito.Mock;
+import org.springframework.beans.factory.annotation.Autowired;
+
+public class EntryTest {
+
+ @Autowired
+ Entry entry = new Entry();
+ @Mock
+ Evaluation evaluation = new Evaluation();
+ Object value = new Object();
+ Map<String, Object> additionalProperties = new HashMap<String, Object>();
+
+ @Test
+ public void test() {
+ entry.setPriority(1);
+ entry.setEvaluation(evaluation);
+ entry.setResult("result");
+ entry.setAdditionalProperty("name", value);
+
+ additionalProperties.put("name", value);
+ assertEquals(entry.getEvaluation(), evaluation);
+ assertEquals(entry.getPriority(), new Integer(1));
+ assertEquals(entry.getResult(),"result");
+ assertEquals(entry.getAdditionalProperties(), additionalProperties);
+ assert (entry.toString() != null);
+ assert (entry.hashCode() != 0);
+
+ assert (entry.equals(entry));
+
+ }
+
+}
diff --git a/UniversalVesAdapter/src/test/java/org/onap/universalvesadapter/mappingconfig/EvaluationTest.java b/UniversalVesAdapter/src/test/java/org/onap/universalvesadapter/mappingconfig/EvaluationTest.java
new file mode 100644
index 0000000..a3b9db6
--- /dev/null
+++ b/UniversalVesAdapter/src/test/java/org/onap/universalvesadapter/mappingconfig/EvaluationTest.java
@@ -0,0 +1,70 @@
+/*
+* ============LICENSE_START=======================================================
+* ONAP : DCAE
+* ================================================================================
+* Copyright 2018 TechMahindra
+*=================================================================================
+* 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.universalvesadapter.mappingconfig;
+
+import static org.junit.Assert.*;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.junit.Test;
+import org.springframework.beans.factory.annotation.Autowired;
+
+public class EvaluationTest {
+
+ @Autowired
+ Evaluation evaluation =new Evaluation();
+ Evaluation lhs =new Evaluation();
+ Evaluation rhs =new Evaluation();
+ Object value = new Object();
+ Map<String, Object> additionalProperties = new HashMap<String, Object>();
+
+ @Test
+ public void test() {
+ evaluation.setAdditionalProperty("name", value);
+ evaluation.setDatatype("datatype");
+ evaluation.setField("field");
+ evaluation.setLhs(lhs);
+ evaluation.setOperand("operand");
+ evaluation.setRhs(rhs);
+ evaluation.setValue("value");
+ additionalProperties.put("name", value);
+
+ assertEquals(evaluation.getAdditionalProperties(), additionalProperties);
+ assertEquals(evaluation.getDatatype(),"datatype");
+ assertEquals(evaluation.getField(),"field");
+ assertEquals(evaluation.getLhs(),lhs);
+ assertEquals(evaluation.getOperand(),"operand");
+ assertEquals(evaluation.getRhs(),rhs);
+ assertEquals(evaluation.getValue(),"value");
+
+ assert (evaluation.toString() != null);
+ assert (evaluation.hashCode() != 0);
+
+ assert (evaluation.equals(evaluation));
+ assertEquals(evaluation.equals(value),false);
+ assertEquals(evaluation.equals(null),false);
+
+
+
+
+ }
+
+}
diff --git a/UniversalVesAdapter/src/test/java/org/onap/universalvesadapter/mappingconfig/MapperConfigTest.java b/UniversalVesAdapter/src/test/java/org/onap/universalvesadapter/mappingconfig/MapperConfigTest.java
new file mode 100644
index 0000000..474ba05
--- /dev/null
+++ b/UniversalVesAdapter/src/test/java/org/onap/universalvesadapter/mappingconfig/MapperConfigTest.java
@@ -0,0 +1,54 @@
+/*
+* ============LICENSE_START=======================================================
+* ONAP : DCAE
+* ================================================================================
+* Copyright 2018 TechMahindra
+*=================================================================================
+* 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.universalvesadapter.mappingconfig;
+
+import static org.junit.Assert.*;
+
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Set;
+
+import org.junit.Test;
+import org.springframework.beans.factory.annotation.Autowired;
+
+public class MapperConfigTest {
+
+ @Autowired
+ MapperConfig mapperConfig = new MapperConfig();
+ Map<String, Object> additionalProperties = new HashMap<String, Object>();
+ Object value = new Object();
+ Set<Entry> entries = null;
+
+ @Test
+ public void test() {
+ mapperConfig.setAdditionalProperty("name", value);
+ mapperConfig.setEntries(entries);
+ additionalProperties.put("name", value);
+
+ assertEquals(mapperConfig.getAdditionalProperties(),additionalProperties);
+ assertEquals(mapperConfig.getEntries(),entries);
+ assert (mapperConfig.toString() != null);
+ assert (mapperConfig.hashCode() != 0);
+
+ assert (mapperConfig.equals(mapperConfig));
+
+ }
+
+}
diff --git a/UniversalVesAdapter/src/test/java/org/onap/universalvesadapter/service/AdapterServiceTest.java b/UniversalVesAdapter/src/test/java/org/onap/universalvesadapter/service/AdapterServiceTest.java
new file mode 100644
index 0000000..4bdc7b5
--- /dev/null
+++ b/UniversalVesAdapter/src/test/java/org/onap/universalvesadapter/service/AdapterServiceTest.java
@@ -0,0 +1,91 @@
+/*
+* ============LICENSE_START=======================================================
+* ONAP : DCAE
+* ================================================================================
+* Copyright 2018 TechMahindra
+*=================================================================================
+* 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.universalvesadapter.service;
+
+import static org.junit.Assert.*;
+
+import java.io.FileReader;
+import java.io.IOException;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.onap.universalvesadapter.Application;
+import org.onap.universalvesadapter.exception.MapperConfigException;
+import org.onap.universalvesadapter.service.AdapterService;
+import org.onap.universalvesadapter.utils.MapperConfigUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+import org.springframework.util.FileCopyUtils;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes=Application.class)
+public class AdapterServiceTest {
+
+ private final Logger eLOGGER = LoggerFactory.getLogger(this.getClass());
+
+ @Autowired
+ private AdapterService adapterService;
+
+ @Value("${mapperConfig.file}")
+ private String mapperConfigFile;
+
+ @Test
+ public void identifyEventTypeFromIncomingJson() {
+
+ String inputJsonString = "{ "
+ + "\"protocol version\":\"v2c\", "
+ + "\"notify OID\":\".1.3.6.1.4.1.74.2.46.12.1.1AAA\", "
+ + "\"cambria.partition\":\"dcae-snmp.client.research.att.com\", "
+ + "\"trap category\":\"UCSNMP-HEARTBEAT\", "
+ + "\"epoch_serno\": 15161177410000, "
+ + "\"community\":\"public\", "
+ + "\"time received\": 1516117741, "
+ + "\"agent name\":\"localhost\", "
+ + "\"agent address\":\"127.0.0.1\", "
+ + "\"community len\": 6, "
+ + "\"notify OID len\": 12, "
+ + "\"varbinds\": [{ "
+ + " \"varbind_type\":\"octet\", "
+ + " \"varbind_oid\":\".1.3.6.1.4.1.74.2.46.12.1.1.1\", "
+ + " \"varbind_value\":\"ucsnmp heartbeat - ignore\" "
+ + " }, { "
+ + " \"varbind_type\":\"octet\", "
+ + " \"varbind_oid\":\".1.3.6.1.4.1.74.2.46.12.1.1.2\", "
+ + " \"varbind_value\":\"Tue Jan 16 10:49:01 EST 2018\" "
+ + " }] "
+ + "}";
+
+ String domain = "";
+ try {
+ String mappingConfigFileData = FileCopyUtils.copyToString(new FileReader(mapperConfigFile));
+ MapperConfigUtils.readMapperConfigFile(mappingConfigFileData);
+ domain = adapterService.identifyEventTypeFromIncomingJson(inputJsonString);
+ } catch (MapperConfigException | IOException exception) {
+ eLOGGER.error("Error occurred : ", exception );
+ }
+
+ assertEquals("snmp", domain);
+ }
+
+}*/
diff --git a/UniversalVesAdapter/src/test/java/org/onap/universalvesadapter/service/ConfigFileServiceTest.java b/UniversalVesAdapter/src/test/java/org/onap/universalvesadapter/service/ConfigFileServiceTest.java
new file mode 100644
index 0000000..0c7ff37
--- /dev/null
+++ b/UniversalVesAdapter/src/test/java/org/onap/universalvesadapter/service/ConfigFileServiceTest.java
@@ -0,0 +1,34 @@
+/*
+* ============LICENSE_START=======================================================
+* ONAP : DCAE
+* ================================================================================
+* Copyright 2018 TechMahindra
+*=================================================================================
+* 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.universalvesadapter.service;
+
+import static org.junit.Assert.*;
+
+import org.junit.Test;
+
+public class ConfigFileServiceTest {
+
+ @Test
+ public void test() {
+ fail("Not yet implemented");
+ }
+
+}
+*/ \ No newline at end of file
diff --git a/UniversalVesAdapter/src/test/java/org/onap/universalvesadapter/service/DMaapServiceTest.java b/UniversalVesAdapter/src/test/java/org/onap/universalvesadapter/service/DMaapServiceTest.java
new file mode 100644
index 0000000..7490dda
--- /dev/null
+++ b/UniversalVesAdapter/src/test/java/org/onap/universalvesadapter/service/DMaapServiceTest.java
@@ -0,0 +1,143 @@
+/*
+* ============LICENSE_START=======================================================
+* ONAP : DCAE
+* ================================================================================
+* Copyright 2018 TechMahindra
+*=================================================================================
+* 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.universalvesadapter.service;
+
+import static org.junit.Assert.*;
+import static org.mockito.Mockito.doNothing;
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.when;
+
+import java.io.IOException;
+import java.util.Arrays;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.ArgumentCaptor;
+import org.mockito.InjectMocks;
+import org.mockito.Mock;
+import org.mockito.Mockito;
+import org.mockito.MockitoAnnotations;
+import org.mockito.invocation.InvocationOnMock;
+import org.mockito.stubbing.Answer;
+import org.mockito.stubbing.OngoingStubbing;
+import org.onap.universalvesadapter.Application;
+import org.onap.universalvesadapter.exception.DMaapException;
+import org.onap.universalvesadapter.service.DMaapService;
+import org.onap.universalvesadapter.service.DiskRepoConfigFileService;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import com.att.nsa.mr.client.MRBatchingPublisher;
+import com.att.nsa.mr.client.MRConsumer;
+
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = Application.class)
+public class DMaapServiceTest {
+
+ @Autowired
+ @InjectMocks
+ DMaapService dmaapService;
+
+ @Mock
+ private MRConsumer consumer;
+
+ @Mock
+ private MRBatchingPublisher publisher;
+
+ private final Logger eLOGGER = LoggerFactory.getLogger(this.getClass());
+
+ @Before
+ public void init() {
+ MockitoAnnotations.initMocks(this);
+ }
+
+
+
+ @Test
+ public void testConsumeFromDMaap() {
+ String[] iter = {"this ", "is ", "just ", "a ", "test"};
+ try {
+ Mockito.when(consumer.fetch()).thenReturn(Arrays.asList(iter));
+ } catch (IOException e) {
+ eLOGGER.error("Error occurred : " + e.getMessage());
+ } catch (Exception e) {
+ eLOGGER.error("Error occurred : " + e.getMessage());
+ }
+
+ StringBuffer sb = new StringBuffer("");
+ try {
+ for (String string : dmaapService.consumeFromDMaap()) {
+ sb.append(string);
+ }
+ } catch (DMaapException e) {
+ eLOGGER.error("Error occurred : " + e.getMessage());
+ }
+
+ assertEquals("this is just a test", sb.toString());
+
+ }
+
+ @Test
+ public void testPublishToDMaap() {
+
+ dmaapService.addMessageInOutgoingQueue("test");
+
+ ArgumentCaptor<?> valueCapture = ArgumentCaptor.forClass(String.class);
+ try {
+ int toBeReturned = 1;
+ doReturn(toBeReturned).when(publisher).send((String) valueCapture.capture());
+ } catch (IOException e) {
+ eLOGGER.error("Error occurred : " + e.getMessage());
+ }
+ try {
+ dmaapService.publishToDMaap();
+ } catch (DMaapException e) {
+ eLOGGER.error("Error occurred : " + e.getMessage());
+ }
+ assertEquals("test", valueCapture.getValue());
+
+ }
+
+ @Test
+ public void testPublishToDMaapString() {
+ ArgumentCaptor<?> valueCapture = ArgumentCaptor.forClass(String.class);
+ try {
+ int toBeReturned = 1;
+ doReturn(toBeReturned).when(publisher).send((String) valueCapture.capture());
+ } catch (IOException e) {
+ eLOGGER.error("Error occurred : " + e.getMessage());
+ }
+ try {
+ dmaapService.publishToDMaap("test");
+ } catch (DMaapException e) {
+ eLOGGER.error("Error occurred : " + e.getMessage());
+ }
+ assertEquals("test", valueCapture.getValue());
+
+ }
+
+}
+
+*/ \ No newline at end of file
diff --git a/UniversalVesAdapter/src/test/java/org/onap/universalvesadapter/service/DiskRepoConfigFileServiceTest.java b/UniversalVesAdapter/src/test/java/org/onap/universalvesadapter/service/DiskRepoConfigFileServiceTest.java
new file mode 100644
index 0000000..93c9e2f
--- /dev/null
+++ b/UniversalVesAdapter/src/test/java/org/onap/universalvesadapter/service/DiskRepoConfigFileServiceTest.java
@@ -0,0 +1,67 @@
+/*
+* ============LICENSE_START=======================================================
+* ONAP : DCAE
+* ================================================================================
+* Copyright 2018 TechMahindra
+*=================================================================================
+* 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.universalvesadapter.service;
+
+import static org.junit.Assert.assertEquals;
+import static org.mockito.Mockito.when;
+
+import java.net.URI;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Matchers;
+import org.onap.universalvesadapter.Application;
+import org.onap.universalvesadapter.exception.ConfigFileReadException;
+import org.onap.universalvesadapter.service.DiskRepoConfigFileService;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.boot.test.mock.mockito.MockBean;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+import org.springframework.test.context.junit4.SpringRunner;
+import org.springframework.web.client.RestTemplate;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = Application.class)
+public class DiskRepoConfigFileServiceTest {
+
+ @Autowired
+ DiskRepoConfigFileService diskRepoConfigFileService;
+
+ private final Logger eLOGGER = LoggerFactory.getLogger(this.getClass());
+
+ @Test
+ public void testReadConfigFile() {
+
+ String result = "test file";
+
+
+ try {
+ String readConfigFile = diskRepoConfigFileService.readConfigFile("testCase.xml");
+ assertEquals(result, readConfigFile);
+ } catch (ConfigFileReadException exception) {
+ eLOGGER.error("Error occurred : ", exception );
+ }
+
+ }
+
+}*/
diff --git a/UniversalVesAdapter/src/test/java/org/onap/universalvesadapter/service/MongoDbConfigFileServiceTest.java b/UniversalVesAdapter/src/test/java/org/onap/universalvesadapter/service/MongoDbConfigFileServiceTest.java
new file mode 100644
index 0000000..ba70f05
--- /dev/null
+++ b/UniversalVesAdapter/src/test/java/org/onap/universalvesadapter/service/MongoDbConfigFileServiceTest.java
@@ -0,0 +1,59 @@
+/*
+* ============LICENSE_START=======================================================
+* ONAP : DCAE
+* ================================================================================
+* Copyright 2018 TechMahindra
+*=================================================================================
+* 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.universalvesadapter.service;
+
+import static org.junit.Assert.*;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.onap.universalvesadapter.Application;
+import org.onap.universalvesadapter.service.MongoDbConfigFileService;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes=Application.class)
+public class MongoDbConfigFileServiceTest {
+
+
+ private final Logger eLOGGER = LoggerFactory.getLogger(this.getClass());
+
+
+ @Autowired
+ private MongoDbConfigFileService mongoDbConfigFileService;
+
+ @Test
+ public void testReadConfigFile() {
+ String configContent = "<?xml version=\"1.0\" encoding=\"UTF-8\"?> "
+ + "<smooks-resource-list xmlns=\"http://www.milyn.org/xsd/smooks-1.1.xsd\" "
+ + "xmlns:json=\"http://www.milyn.org/xsd/smooks/json-1.1.xsd\" "
+ + " xmlns:jb=\"http://www.milyn.org/xsd/smooks/javabean-1.2.xsd\"> "
+ + " <json:reader rootName=\"simple\" keyWhitspaceReplacement=\"-\"> "
+ + " </json:reader> "
+ + "</smooks-resource-list>";
+
+ assertEquals(configContent, mongoDbConfigFileService.readConfigFile("sample.xml"));
+ }
+
+}
+*/ \ No newline at end of file
diff --git a/UniversalVesAdapter/src/test/java/org/onap/universalvesadapter/service/VesServiceTest.java b/UniversalVesAdapter/src/test/java/org/onap/universalvesadapter/service/VesServiceTest.java
new file mode 100644
index 0000000..bc71834
--- /dev/null
+++ b/UniversalVesAdapter/src/test/java/org/onap/universalvesadapter/service/VesServiceTest.java
@@ -0,0 +1,143 @@
+/*
+* ============LICENSE_START=======================================================
+* ONAP : DCAE
+* ================================================================================
+* Copyright 2018 TechMahindra
+*=================================================================================
+* 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.universalvesadapter.service;
+
+import static org.junit.Assert.*;
+import static org.mockito.Mockito.doNothing;
+import static org.mockito.Mockito.doReturn;
+
+import java.io.IOException;
+import java.util.Arrays;
+import java.util.Collections;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.ArgumentCaptor;
+import org.mockito.InjectMocks;
+import org.mockito.Mock;
+import org.mockito.Mockito;
+import org.mockito.MockitoAnnotations;
+import org.onap.universalvesadapter.Application;
+import org.onap.universalvesadapter.exception.DMaapException;
+import org.onap.universalvesadapter.service.DMaapService;
+import org.onap.universalvesadapter.service.VesService;
+import org.onap.universalvesadapter.utils.ParallelTasks;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import com.att.nsa.mr.client.MRConsumer;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = Application.class)
+public class VesServiceTest {
+
+ @InjectMocks
+ @Autowired
+ private VesService vesService;
+
+ @Mock
+ private DMaapService dmaapService;
+
+ private final Logger eLOGGER = LoggerFactory.getLogger(this.getClass());
+
+ @Before
+ public void init() {
+ MockitoAnnotations.initMocks(this);
+ }
+
+
+ @Test
+ public void testStart() {
+
+ String[] incomingMessages = {"{ "
+ + " \"protocol version \": \"v2c \", "
+ + " \"notify OID \": \".1.3.6.1.4.1.74.2.46.12.1.1AAA \", "
+ + " \"cambria.partition \": \"dcae-snmp.client.research.att.com \", "
+ + " \"trap category \": \"UCSNMP-HEARTBEAT \", "
+ + " \"epoch_serno \": 15161177410000, "
+ + " \"community \": \"public \", "
+ + " \"time received \": 1516117741, "
+ + " \"agent name \": \"localhost \", "
+ + " \"agent address \": \"127.0.0.1 \", "
+ + " \"community len \": 6, "
+ + " \"notify OID len \": 12, "
+ + " \"varbinds \": [{ "
+ + " \"varbind_type \": \"octet \", "
+ + " \"varbind_oid \": \".1.3.6.1.4.1.74.2.46.12.1.1.1 \", "
+ + " \"varbind_value \": \"ucsnmp heartbeat - ignore \" "
+ + " }, { "
+ + " \"varbind_type \": \"octet \", "
+ + " \"varbind_oid \": \".1.3.6.1.4.1.74.2.46.12.1.1.2 \", "
+ + " \"varbind_value \": \"Tue Jan 16 10:49:01 EST 2018 \" "
+ + " }] "
+ + "}"};
+ try {
+ Mockito.when(dmaapService.consumeFromDMaap()).thenReturn(Arrays.asList(incomingMessages)).thenReturn(() -> Collections.emptyIterator());
+ } catch (Exception e) {
+ eLOGGER.error("Error occurred : " + e.getMessage());
+ }
+
+ ArgumentCaptor<?> valueCapture = ArgumentCaptor.forClass(String.class);
+ try {
+ doNothing().when(dmaapService).publishToDMaap((String) valueCapture.capture());
+ } catch (DMaapException e) {
+ eLOGGER.error("Error occurred : " + e.getMessage());
+ }
+
+
+ new Thread(new Runnable() {
+
+ @Override
+ public void run() {
+ // TODO Auto-generated method stub
+ vesService.start();
+
+ }
+ }).start();
+ try {
+ Thread.sleep(5000);
+ } catch (InterruptedException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ new Thread(new Runnable() {
+
+ @Override
+ public void run() {
+ // TODO Auto-generated method stub
+ vesService.stop();
+
+ }
+ }).start();
+ String result = "{\"event\":{\"commonEventHeader\":{},\"faultFields\":{},\"measurementsForVfScalingFields\":{\"additionalMeasurements\":[]}}}";
+ assertEquals(result, valueCapture.getValue());
+ }
+
+ @Test
+ public void testStop() {
+ fail("Not yet implemented");
+ }
+
+}
+*/ \ No newline at end of file