Added New Junit Cases for APPC Design Services

Issue-ID: APPC-168
Change-Id: Ib321bb77af3cb47abfce80d96f50a6b75b34b34e
Signed-off-by: Anand Chaturvedi <ac204h@att.com>
diff --git a/appc-inbound/appc-design-services/provider/pom.xml b/appc-inbound/appc-design-services/provider/pom.xml
index 52878d8..9776ad8 100755
--- a/appc-inbound/appc-design-services/provider/pom.xml
+++ b/appc-inbound/appc-design-services/provider/pom.xml
@@ -28,6 +28,12 @@
 
 	<dependencies>
 		<dependency>
+		    <groupId>org.mockito</groupId>
+		    <artifactId>mockito-all</artifactId>
+		    <version>1.9.5</version>
+		    <scope>test</scope>
+		</dependency>
+		<dependency>
 			<groupId>org.openecomp.appc</groupId>
 			<artifactId>appc-design-services-model</artifactId>
 		</dependency>
@@ -124,5 +130,21 @@
 			<groupId>commons-io</groupId>
 			<artifactId>commons-io</artifactId>
 		</dependency>
+		<dependency>
+			<groupId>org.powermock</groupId>
+			<artifactId>powermock-module-javaagent</artifactId>
+			<version>1.6.5</version>
+		</dependency>
+		<dependency>
+			<groupId>org.powermock</groupId>
+			<artifactId>powermock-module-junit4-rule-agent</artifactId>
+			<version>1.6.5</version>
+			<scope>test</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.powermock</groupId>
+			<artifactId>powermock-api-mockito-common</artifactId>
+			<version>1.6.5</version>
+		</dependency>
 	</dependencies>
 </project>
diff --git a/appc-inbound/appc-design-services/provider/src/test/java/org/openecomp/appc/design/validator/TestArifactHandlerClient.java b/appc-inbound/appc-design-services/provider/src/test/java/org/openecomp/appc/design/validator/TestArifactHandlerClient.java
new file mode 100644
index 0000000..bc0720e
--- /dev/null
+++ b/appc-inbound/appc-design-services/provider/src/test/java/org/openecomp/appc/design/validator/TestArifactHandlerClient.java
@@ -0,0 +1,59 @@
+package org.openecomp.appc.design.validator;

+

+import org.junit.Before;

+import org.junit.Test;

+import org.openecomp.appc.design.services.util.ArtifactHandlerClient;

+

+import junit.framework.Assert;

+

+import static org.mockito.Mockito.*;

+

+import java.io.File;

+import java.io.IOException;

+import java.io.InputStream;

+import java.util.Enumeration;

+import java.util.Properties;

+

+import org.apache.commons.io.FileUtils;

+

+public class TestArifactHandlerClient {

+	

+	@Test

+	public void testCreateArtifactData(){

+		try{

+		String content = FileUtils.readFileToString(new File("src/test/resources/uploadArtifact"));

+		String payload = " { \"userID\": \"00000\", \"vnf-type\" : \"DesigTest-VNF\", \"action\" : \"Configure\", \"artifact-name\":\"DesignRestArtifact_reference\",\"artifact-version\" :\"0.01\",\"artifact-type\" :\"DESIGNTOOL-TEST\",\"artifact-contents\":  "  

+		+ content + 

+		 " } ";

+		String requestID ="0000";

+		ArtifactHandlerClient ahi = new ArtifactHandlerClient();

+		String value =  ahi.createArtifactData(payload, requestID);

+		System.out.println(value);

+		Assert.assertTrue(!value.isEmpty());;

+		

+		

+		}catch(Exception e)

+		{

+			e.printStackTrace();

+		}

+		

+	}

+	

+	

+	@Test

+	public void testExecute() throws Exception{

+		try{

+		String content = FileUtils.readFileToString(new File("src/test/resources/uploadArtifact"));

+		String payload = " { \"userID\": \"00000\", \"vnf-type\" : \"DesigTest-VNF\", \"action\" : \"Configure\", \"artifact-name\":\"DesignRestArtifact_reference\",\"artifact-version\" :\"0.01\",\"artifact-type\" :\"DESIGNTOOL-TEST\",\"artifact-contents\":  "  

+		+ content + 

+		 " } ";

+		String rpc = "Test_Configure";

+		

+			ArtifactHandlerClient ahi = new ArtifactHandlerClient();

+		 ahi.execute(payload, rpc);

+		}catch(Exception e)

+		{

+			e.printStackTrace();

+		}

+	}

+}

diff --git a/appc-inbound/appc-design-services/provider/src/test/java/org/openecomp/appc/design/validator/TestDBService.java b/appc-inbound/appc-design-services/provider/src/test/java/org/openecomp/appc/design/validator/TestDBService.java
deleted file mode 100644
index 81a620a..0000000
--- a/appc-inbound/appc-design-services/provider/src/test/java/org/openecomp/appc/design/validator/TestDBService.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP : APPC
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * Copyright (C) 2017 Amdocs
- * =============================================================================
- * 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.
- * 
- * ECOMP is a trademark and service mark of AT&T Intellectual Property.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.appc.design.validator;
-
-import java.io.File;
-import java.io.InputStream;
-import java.util.Enumeration;
-import java.util.HashMap;
-import java.util.Properties;
-
-import org.apache.commons.io.FileUtils;
-import org.junit.Before;
-import org.junit.Test;
-import org.openecomp.appc.design.dbervices.DesignDBService;
-import org.openecomp.appc.design.services.util.DesignServiceConstants;
-import org.openecomp.appc.design.services.util.EscapeUtils;
-import org.openecomp.sdnc.sli.SvcLogicContext;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import junit.framework.Assert;
-
-public class TestDBService {
-
-//Onap Migration    
-}
diff --git a/appc-inbound/appc-design-services/provider/src/test/java/org/openecomp/appc/design/validator/TestDesigndata.java b/appc-inbound/appc-design-services/provider/src/test/java/org/openecomp/appc/design/validator/TestDesigndata.java
new file mode 100644
index 0000000..4d46a0e
--- /dev/null
+++ b/appc-inbound/appc-design-services/provider/src/test/java/org/openecomp/appc/design/validator/TestDesigndata.java
@@ -0,0 +1,116 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP : APPC
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Copyright (C) 2017 Amdocs
+ * =============================================================================
+ * 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.
+ * 
+ * ECOMP is a trademark and service mark of AT&T Intellectual Property.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.appc.design.validator;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.junit.Rule;
+import org.junit.Test;
+import org.mockito.Mock;
+import org.mockito.Mockito;
+import org.opendaylight.yang.gen.v1.org.openecomp.appc.rev170627.DbserviceInput;
+import org.openecomp.appc.design.data.ArtifactInfo;
+import org.openecomp.appc.design.data.DesignInfo;
+import org.openecomp.appc.design.data.DesignRequest;
+import org.openecomp.appc.design.data.DesignResponse;
+import org.openecomp.appc.design.data.StatusInfo;
+import org.openecomp.appc.design.dbervices.DbResponseProcessor;
+import org.openecomp.appc.design.dbervices.DbService;
+import org.openecomp.appc.design.services.impl.DesignServicesImpl;
+import org.openecomp.sdnc.sli.resource.dblib.DbLibService;
+
+public class TestDesigndata {
+	
+	
+		
+	DesignResponse dr = new DesignResponse();
+	
+	
+	
+	@Test
+	public void testSetUserID(){
+		
+		 dr.setUserId("00000");
+		 
+		 String str = dr.getUserId();
+		 System.out.println(str);
+	}
+	
+	@Test
+	public void testSetDesignInfoList(){
+		DesignInfo di = new DesignInfo();
+		List<DesignInfo> li = new ArrayList<DesignInfo>();
+		di.setAction("TestAction");
+		di.setArtifact_name("TestName");
+		di.setArtifact_type("TestType");
+		di.setInCart("TestCart");
+		di.setProtocol("TestProtocol");
+		di.setVnf_type("TestVNF");
+		di.setVnfc_type("TestVNFC");
+		li.add(di);
+		dr.setDesignInfoList(li);
+		System.out.println(dr.getDesignInfoList());
+	}
+	
+	@Test
+	public void testSetArtifactInfo(){
+		ArtifactInfo ai = new ArtifactInfo();
+		List<ArtifactInfo> li = new ArrayList<ArtifactInfo>();
+		ai.setArtifact_content("TestContent");
+		li.add(ai);
+		dr.setArtifactInfo(li);
+		System.out.println(dr.getArtifactInfo());
+		
+	}
+	@Test
+	public void testStatusInfo(){
+		StatusInfo si = new StatusInfo();
+		List<StatusInfo> li = new ArrayList<StatusInfo>();
+		si.setAction("TestAction");
+		si.setAction_status("TestActionStatus");
+		si.setArtifact_status("TestArtifactStatus");
+		si.setVnf_type("TestVNF");
+		si.setVnfc_type("TestVNFC");
+		li.add(si);
+		dr.setStatusInfoList(li);
+		System.out.println(dr.getStatusInfoList());
+	}
+	@Test
+	public void testDesignRequest(){
+		DesignRequest dreq = new DesignRequest();
+		dreq.setAction("TestAction");
+		dreq.setArtifact_contents("TestContent");
+		dreq.setArtifact_name("TestName");
+		dreq.setProtocol("TestProtocol");
+		dreq.setUserId("0000");
+		dreq.setVnf_type("testvnf");
+		dreq.setVnfc_type("testvnfc");
+		System.out.println(dreq.getAction() + dreq.getArtifact_contents() + dreq.getArtifact_name() + dreq.getProtocol() + dreq.getUserId() + dreq.getVnf_type()+ dreq.getVnfc_type());
+	System.out.println(dreq.toString());
+	}
+	
+
+}
diff --git a/appc-inbound/appc-design-services/provider/src/test/java/org/openecomp/appc/design/validator/TestEscapeUtils.java b/appc-inbound/appc-design-services/provider/src/test/java/org/openecomp/appc/design/validator/TestEscapeUtils.java
new file mode 100644
index 0000000..e3c5c17
--- /dev/null
+++ b/appc-inbound/appc-design-services/provider/src/test/java/org/openecomp/appc/design/validator/TestEscapeUtils.java
@@ -0,0 +1,19 @@
+package org.openecomp.appc.design.validator;

+

+import org.junit.Test;

+import org.openecomp.appc.design.services.util.EscapeUtils;

+

+public class TestEscapeUtils {

+

+	@Test

+	public void EscapeUtils(){

+		

+		EscapeUtils escapeUtils = new EscapeUtils();

+		

+		String str = escapeUtils.escapeSql("\\'Test Data\\'");

+		

+		System.out.println(str);

+		

+		

+	}

+}

diff --git a/appc-inbound/appc-design-services/provider/src/test/java/org/openecomp/appc/design/validator/TestValidatorService.java b/appc-inbound/appc-design-services/provider/src/test/java/org/openecomp/appc/design/validator/TestValidatorService.java
index 1757c3c..05aeb30 100644
--- a/appc-inbound/appc-design-services/provider/src/test/java/org/openecomp/appc/design/validator/TestValidatorService.java
+++ b/appc-inbound/appc-design-services/provider/src/test/java/org/openecomp/appc/design/validator/TestValidatorService.java
@@ -42,4 +42,140 @@
 
 //Onap Migration    
 
+    private final Logger logger = LoggerFactory.getLogger(TestValidatorService.class);
+@Test
+    public void testvalidXMLValidation() throws Exception {
+        String response = null;
+        String xmlString = "<xml><configure>"
+                + "<operation>create</operation>"
+                + "<base>"
+                + "<request-information>"
+                + "<source>SDN-GP</source>"
+                + "</request-information>"
+                + "</base>" 
+                + "</configure>"
+                + "</xml>";
+        
+        ValidatorService vs = new ValidatorService();
+        try{
+         response = vs.execute("", xmlString, "XML");
+        }
+        catch(Exception e){
+            System.out.println(e.getMessage());
+        }
+            
+        Assert.assertEquals("success", response);
+        
+    }
+    @Test
+    public void testInvalidXMLValidation() throws Exception {
+        String response = null;
+        String xmlString = "<xml><configure>"
+                + "<operation>create</operation>"
+                + "<base>"
+                + "<request-information>"
+                + "<source>SDN-GP</source>"
+                + "</request-information>"
+                + "</configure>"
+                + "</xml>";
+        
+        ValidatorService vs = new ValidatorService();
+        try{
+         response = vs.execute("", xmlString, "XML");
+        }
+        catch(Exception e){
+            System.out.println(e.getMessage());
+        }
+            
+        Assert.assertEquals(null, response);
+        
+    }
+    @Test
+    public void testYAMLValidation() throws Exception {
+        String response = null;
+        String YAMLString = "en:";
+            
+        
+        ValidatorService vs = new ValidatorService();
+        try{
+         response = vs.execute("", YAMLString, "YAML");
+        }
+        catch(Exception e){
+            System.out.println(e.getMessage());
+            e.printStackTrace();
+        }
+            
+        Assert.assertEquals("success", response);
+        
+    }
+    @Test
+    public void testInvalidYAMLValidation() throws Exception {
+        String response = null;
+        String YAMLString = "Test \n A:";
+            
+        
+        ValidatorService vs = new ValidatorService();
+        try{
+         response = vs.execute("", YAMLString,"YAML");
+        }
+        catch(Exception e){
+            System.out.println(e.getMessage());
+        }
+            
+        Assert.assertEquals(null, response);
+        
+    }
+    
+@Test
+    public void testJSONValidation() throws Exception {
+        String response = null;
+        String YAMLString = "{\"Test\": \"Test1\" }";
+            
+        
+        ValidatorService vs = new ValidatorService();
+        try{
+         response = vs.execute("", YAMLString, "JSON");
+        }
+        catch(Exception e){
+            System.out.println(e.getMessage());
+        
+        }            
+        Assert.assertEquals("success", response);
+        
+    }
+    @Test
+    public void testInvalidJSONValidation() throws Exception {
+        String response = null;
+        String YAMLString = "{\"Test\" \"Test1\" }";
+            
+        
+        ValidatorService vs = new ValidatorService();
+        try{
+         response = vs.execute("", YAMLString, "JSON");
+        }
+        catch(Exception e){
+            System.out.println(e.getMessage());
+        
+        }            
+        Assert.assertEquals(null, response);
+        
+    }
+    
+    @Test
+    public void testainvalidvalidateVelocity() throws Exception {
+        String response = null;
+        String validateVelocity = "{\"Test\" \"Test1\" }";
+            
+        
+        ValidatorService vs = new ValidatorService();
+        try{
+         response = vs.execute("", validateVelocity, "Velocity");
+        }
+        catch(Exception e){
+            System.out.println(e.getMessage());
+        
+        }            
+        Assert.assertEquals(null, response);
+        
+    }
 }
diff --git a/appc-inbound/appc-design-services/provider/src/test/resources/transactionModel.json b/appc-inbound/appc-design-services/provider/src/test/resources/transactionModel.json
index e69de29..a82eaf0 100644
--- a/appc-inbound/appc-design-services/provider/src/test/resources/transactionModel.json
+++ b/appc-inbound/appc-design-services/provider/src/test/resources/transactionModel.json
@@ -0,0 +1,19 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP : APP-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property.  All rights reserved.
+ * ================================================================================
+ * 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=========================================================
+ */