Catalog DB Adapter test cases 73/16873/1
authorArthur Martella <amartell@research.att.com>
Mon, 2 Oct 2017 15:03:02 +0000 (11:03 -0400)
committerArthur Martella <amartell@research.att.com>
Mon, 2 Oct 2017 15:05:54 +0000 (11:05 -0400)
Adding new test cases for Catalog DB Adapter

Change-Id: I1e809e39a9e41a26e87d1f7690ee46f42bccc076
Issue-ID: SO-171
Signed-off-by: Arthur Martella <amartell@research.att.com>
adapters/mso-catalog-db-adapter/pom.xml
adapters/mso-catalog-db-adapter/src/test/java/org/openecomp/mso/adapters/catalogdb/CatalogDbAdapterRestClassTest.java [new file with mode: 0644]
adapters/mso-catalog-db-adapter/src/test/java/org/openecomp/mso/adapters/catalogdb/CatalogDbAdapterRestHttpTest.java [new file with mode: 0644]
adapters/mso-catalog-db-adapter/src/test/java/org/openecomp/mso/adapters/catalogdb/catalogrest/CatalogQueryTest.java [new file with mode: 0644]
adapters/mso-catalog-db-adapter/src/test/java/org/openecomp/mso/adapters/catalogdb/catalogrest/QueryAllottedResourceCustomizationTest.java [new file with mode: 0644]
adapters/mso-catalog-db-adapter/src/test/java/org/openecomp/mso/adapters/catalogdb/catalogrest/QueryServiceMarcoHolderTest.java [new file with mode: 0644]
adapters/mso-catalog-db-adapter/src/test/java/org/openecomp/mso/adapters/catalogdb/catalogrest/QueryServiceNetworksTest.java [new file with mode: 0644]
adapters/mso-catalog-db-adapter/src/test/java/org/openecomp/mso/adapters/catalogdb/catalogrest/QueryServiceVnfsTest.java [new file with mode: 0644]

index 4459660..752d7f6 100644 (file)
                        <artifactId>status-control</artifactId>
                        <version>${project.version}</version>
                </dependency>-->
+               <dependency>
+                       <groupId>org.mockito</groupId>
+                       <artifactId>mockito-all</artifactId>
+                       <version>1.10.19</version>
+                       <scope>test</scope>
+               </dependency>
+               <dependency>
+                       <groupId>junit</groupId>
+                       <artifactId>junit</artifactId>
+                       <version>4.11</version>
+                       <scope>test</scope>
+               </dependency>
+               <dependency>
+                       <groupId>org.mockito</groupId>
+                       <artifactId>mockito-core</artifactId>
+                       <version>2.0.5-beta</version>
+                       <scope>test</scope>
+               </dependency>
+               <dependency>
+                       <groupId>org.powermock</groupId>
+                       <artifactId>powermock-api-mockito</artifactId>
+                       <version>1.6.2</version>
+                       <scope>test</scope>
+               </dependency>
+               <dependency>
+                       <groupId>org.powermock</groupId>
+                       <artifactId>powermock-module-junit4</artifactId>
+                       <version>1.6.2</version>
+                       <scope>test</scope>
+               </dependency>
+               <dependency>
+                   <groupId>javax.json</groupId>
+                   <artifactId>javax.json-api</artifactId>
+                   <version>1.0</version>
+                       <scope>test</scope>    
+               </dependency>
+               <dependency>
+                       <groupId>org.glassfish</groupId>
+                       <artifactId>javax.json</artifactId>
+                       <version>1.0.4</version>
+                       <scope>test</scope>
+               </dependency>
+               <dependency>
+                       <groupId>org.hamcrest</groupId>
+                       <artifactId>hamcrest-all</artifactId>
+                       <version>1.3</version>
+                       <scope>test</scope>
+               </dependency>
+               <dependency>
+                       <groupId>org.jboss.resteasy</groupId>
+                       <artifactId>resteasy-client</artifactId>
+                       <version>3.0.19.Final</version>
+                       <scope>test</scope>
+               </dependency>
+               <dependency>
+                       <groupId>javax.servlet</groupId>
+                       <artifactId>javax.servlet-api</artifactId>
+                       <version>3.1.0</version>
+                       <scope>test</scope>
+               </dependency>
+               <dependency>
+                       <groupId>org.jboss.resteasy</groupId>
+                       <artifactId>tjws</artifactId>
+                       <version>3.0.19.Final</version>
+                       <scope>test</scope>
+               </dependency>
        </dependencies>
 
 </project>
\ No newline at end of file
diff --git a/adapters/mso-catalog-db-adapter/src/test/java/org/openecomp/mso/adapters/catalogdb/CatalogDbAdapterRestClassTest.java b/adapters/mso-catalog-db-adapter/src/test/java/org/openecomp/mso/adapters/catalogdb/CatalogDbAdapterRestClassTest.java
new file mode 100644 (file)
index 0000000..31a5832
--- /dev/null
@@ -0,0 +1,380 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * 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=========================================================
+ */
+
+package org.openecomp.mso.adapters.catalogdb;
+
+import java.io.StringReader;
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.ws.rs.core.HttpHeaders;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+
+import org.apache.http.HttpStatus;
+import javax.json.*;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.openecomp.mso.adapters.catalogdb.CatalogDbAdapterRest;
+import org.openecomp.mso.adapters.catalogdb.catalogrest.CatalogQueryException;
+import org.openecomp.mso.adapters.catalogdb.catalogrest.QueryServiceVnfs;
+import org.openecomp.mso.db.catalog.CatalogDatabase;
+import org.openecomp.mso.db.catalog.beans.VnfResourceCustomization;
+import org.mockito.Mock;
+import org.mockito.Mockito;
+import org.junit.Before;
+import org.powermock.api.mockito.PowerMockito;
+import org.powermock.core.classloader.annotations.PrepareForTest;
+import org.powermock.modules.junit4.PowerMockRunner;
+
+import static org.junit.Assert.*;
+import static org.mockito.Mockito.when;
+import static org.powermock.api.mockito.PowerMockito.mockStatic;
+import static org.powermock.api.mockito.PowerMockito.verifyStatic;
+import static org.hamcrest.CoreMatchers.instanceOf;
+
+@RunWith(PowerMockRunner.class)
+@PrepareForTest({CatalogDbAdapterRest.class, CatalogDatabase.class})
+public class CatalogDbAdapterRestClassTest {
+    @Mock
+    private static CatalogDatabase dbMock;
+    
+    private static List<VnfResourceCustomization> paramList;
+       
+    @Before
+    public void prepare () {
+               /*
+                * 1.  for non routing related methods/classes, use mockito
+                * 2. for routing methods, use TJWSEmbeddedJaxrsServer  
+                */
+               
+               /*
+                * in the setup portion, create a mock db object
+                * 
+                */
+       // set up mock return value
+        paramList = new ArrayList<VnfResourceCustomization>();
+        VnfResourceCustomization d1 = new VnfResourceCustomization();
+        d1.setModelCustomizationUuid("16ea3e56-a8ce-4ad7-8edd-4d2eae095391");
+        d1.setModelInstanceName("ciVFOnboarded-FNAT-aab06c41 1");
+        paramList.add(d1);
+        // end         
+        
+               PowerMockito.mockStatic(CatalogDatabase.class);
+               dbMock = PowerMockito.mock(CatalogDatabase.class);
+               PowerMockito.when(CatalogDatabase.getInstance()).thenReturn(dbMock);
+               try {
+                       
+                       PowerMockito.whenNew(CatalogDatabase.class).withAnyArguments().thenReturn(dbMock);
+                       PowerMockito.spy (dbMock);
+                       
+               } catch (Exception e) {
+                       e.printStackTrace();
+               }
+    }
+    
+    @Test
+    public void respond_Test(){
+       QueryServiceVnfs qryResp = new QueryServiceVnfs(paramList);
+               CatalogDbAdapterRest adapter = new CatalogDbAdapterRest();
+               CatalogDbAdapterRest spyAdapter = Mockito.spy(adapter);
+               
+               Response resp = spyAdapter.respond("v1", HttpStatus.SC_OK, false, qryResp);
+       Mockito.verify(spyAdapter,Mockito.times(1)).respond("v1", HttpStatus.SC_OK, false, qryResp);
+               
+        String s = resp.getEntity().toString();
+        // System.out.println(s);
+
+        // prepare to inspect response
+        JsonReader reader = Json.createReader(new StringReader(s.replaceAll("\r?\n", "")));
+        JsonObject respObj = reader.readObject();
+        reader.close();
+        // end
+        JsonArray jArray = respObj.getJsonArray("serviceVnfs");
+        
+               assertEquals(resp.getStatus(), HttpStatus.SC_OK);
+               assertEquals(jArray.size(), 1);
+               assertEquals(jArray.getJsonObject(0).getString("modelCustomizationUuid"), "16ea3e56-a8ce-4ad7-8edd-4d2eae095391");              
+    }
+    
+           
+       @Test
+    public void serviceVnfsImpl_vnfUuid_ver_Test()
+    {
+        PowerMockito.when(dbMock.getAllVnfsByVnfModelCustomizationUuid(Mockito.anyString())).thenReturn (paramList);
+               
+               try {
+                       CatalogDbAdapterRest adapter = new CatalogDbAdapterRest();
+                       
+               // Run
+               Response resp = adapter.serviceVnfsImpl("v1", true, "16ea3e56-a8ce-4ad7-8edd-4d2eae095391", null, null, null, null);
+               String s = resp.getEntity().toString();
+
+               // prepare to inspect response
+               JsonReader reader = Json.createReader(new StringReader(s.replaceAll("\r?\n", "")));
+               JsonObject respObj = reader.readObject();
+               reader.close();
+               // end
+               JsonArray jArray = respObj.getJsonArray("serviceVnfs");
+               
+                       assertEquals(resp.getStatus(), HttpStatus.SC_OK);
+                       assertEquals(jArray.size(), 1);
+                       assertEquals(jArray.getJsonObject(0).getString("modelCustomizationUuid"), "16ea3e56-a8ce-4ad7-8edd-4d2eae095391");
+                       //
+                       Mockito.verify(dbMock, Mockito.times(1)).getAllVnfsByVnfModelCustomizationUuid("16ea3e56-a8ce-4ad7-8edd-4d2eae095391");
+                       
+               } catch (Exception e) {
+                       e.printStackTrace();
+               }
+    }
+
+       @Test
+       public void serviceVnfsImpl_smiUuid_NoVer_Test()
+       {
+        PowerMockito.when(dbMock.getAllVnfsByServiceModelInvariantUuid(Mockito.anyString())).thenReturn (paramList);
+               
+               try {
+                       CatalogDbAdapterRest adapter = new CatalogDbAdapterRest();
+                       
+               // Run
+               Response resp = adapter.serviceVnfsImpl("v1", true, null, null, "16ea3e56-a8ce-4ad7-8edd-4d2eae095391", null, null);
+               String s = resp.getEntity().toString();
+
+               // prepare to inspect response
+               JsonReader reader = Json.createReader(new StringReader(s.replaceAll("\r?\n", "")));
+               JsonObject respObj = reader.readObject();
+               reader.close();
+               // end
+               JsonArray jArray = respObj.getJsonArray("serviceVnfs");
+               
+                       assertEquals(resp.getStatus(), HttpStatus.SC_OK);
+                       assertEquals(jArray.size(), 1);
+                       assertEquals(jArray.getJsonObject(0).getString("modelCustomizationUuid"), "16ea3e56-a8ce-4ad7-8edd-4d2eae095391");
+                       Mockito.verify(dbMock, Mockito.times(1)).getAllVnfsByServiceModelInvariantUuid("16ea3e56-a8ce-4ad7-8edd-4d2eae095391");
+                       
+               } catch (Exception e) {
+                       e.printStackTrace();
+               }               
+       }       
+       
+       @Test
+       public void serviceVnfsImpl_smUuid_ver_Test()
+       {
+        PowerMockito.when(dbMock.getAllVnfsByServiceModelUuid(Mockito.anyString())).thenReturn (paramList);
+               
+               try {
+                       CatalogDbAdapterRest adapter = new CatalogDbAdapterRest();
+                       
+               // Run
+               Response resp = adapter.serviceVnfsImpl("v1", true, null,"16ea3e56-a8ce-4ad7-8edd-4d2eae095391", null, null, null);
+               String s = resp.getEntity().toString();
+
+               // prepare to inspect response
+               JsonReader reader = Json.createReader(new StringReader(s.replaceAll("\r?\n", "")));
+               JsonObject respObj = reader.readObject();
+               reader.close();
+               // end
+               JsonArray jArray = respObj.getJsonArray("serviceVnfs");
+               
+                       assertEquals(resp.getStatus(), HttpStatus.SC_OK);
+                       assertEquals(jArray.size(), 1);
+                       assertEquals(jArray.getJsonObject(0).getString("modelCustomizationUuid"), "16ea3e56-a8ce-4ad7-8edd-4d2eae095391");
+                       Mockito.verify(dbMock, Mockito.times(1)).getAllVnfsByServiceModelUuid("16ea3e56-a8ce-4ad7-8edd-4d2eae095391");
+                       
+               } catch (Exception e) {
+                       e.printStackTrace();
+               }               
+       }
+       
+       @Test
+       public void serviceVnfsImpl_smiUuid_ver_Test()
+       {
+        PowerMockito.when(dbMock.getAllVnfsByServiceModelInvariantUuid(Mockito.anyString(),Mockito.anyString())).thenReturn (paramList);
+               
+               try {
+                       CatalogDbAdapterRest adapter = new CatalogDbAdapterRest();
+                       
+               // Run
+               Response resp = adapter.serviceVnfsImpl("v1", true, null, null, "16ea3e56-a8ce-4ad7-8edd-4d2eae095391", "v1", null);
+               String s = resp.getEntity().toString();
+
+               // prepare to inspect response
+               JsonReader reader = Json.createReader(new StringReader(s.replaceAll("\r?\n", "")));
+               JsonObject respObj = reader.readObject();
+               reader.close();
+               JsonArray jArray = respObj.getJsonArray("serviceVnfs");
+               // end
+               
+                       assertEquals(resp.getStatus(), HttpStatus.SC_OK);
+                       assertEquals(jArray.size(), 1);
+                       assertEquals(jArray.getJsonObject(0).getString("modelCustomizationUuid"), "16ea3e56-a8ce-4ad7-8edd-4d2eae095391");
+                       Mockito.verify(dbMock, Mockito.times(1)).getAllVnfsByServiceModelInvariantUuid("16ea3e56-a8ce-4ad7-8edd-4d2eae095391","v1");
+                       
+               } catch (Exception e) {
+                       e.printStackTrace();
+               }               
+       }       
+       
+       @Test
+       public void serviceVnfsImpl_smName_ver_Test()
+       {
+        PowerMockito.when(dbMock.getAllVnfsByServiceName(Mockito.anyString(),Mockito.anyString())).thenReturn (paramList);
+               
+               try {
+                       CatalogDbAdapterRest adapter = new CatalogDbAdapterRest();
+                       
+               // Run
+               Response resp = adapter.serviceVnfsImpl("v1", true, null, null, null, "v1", "16ea3e56-a8ce-4ad7-8edd-4d2eae095391");
+               String s = resp.getEntity().toString();
+
+               // prepare to inspect response
+               JsonReader reader = Json.createReader(new StringReader(s.replaceAll("\r?\n", "")));
+               JsonObject respObj = reader.readObject();
+               reader.close();
+               // end
+               JsonArray jArray = respObj.getJsonArray("serviceVnfs");
+               
+                       assertEquals(resp.getStatus(), HttpStatus.SC_OK);
+                       assertEquals(jArray.size(), 1);
+                       assertEquals(jArray.getJsonObject(0).getString("modelCustomizationUuid"), "16ea3e56-a8ce-4ad7-8edd-4d2eae095391");
+                       Mockito.verify(dbMock, Mockito.times(1)).getAllVnfsByServiceName("16ea3e56-a8ce-4ad7-8edd-4d2eae095391","v1");
+                       
+               } catch (Exception e) {
+                       e.printStackTrace();
+               }                       
+       }
+       
+       @Test
+       public void serviceVnfsImpl_smName_NoVer_Test()
+       {
+        PowerMockito.when(dbMock.getAllVnfsByServiceName(Mockito.anyString())).thenReturn (paramList);
+               
+               try {
+                       CatalogDbAdapterRest adapter = new CatalogDbAdapterRest();
+                       
+               // Run
+               Response resp = adapter.serviceVnfsImpl("v1", true, null, null, null, null, "16ea3e56-a8ce-4ad7-8edd-4d2eae095391");
+               String s = resp.getEntity().toString();
+
+               // prepare to inspect response
+               JsonReader reader = Json.createReader(new StringReader(s.replaceAll("\r?\n", "")));
+               JsonObject respObj = reader.readObject();
+               reader.close();
+               // end
+               JsonArray jArray = respObj.getJsonArray("serviceVnfs");
+               
+                       assertEquals(resp.getStatus(), HttpStatus.SC_OK);
+                       assertEquals(jArray.size(), 1);
+                       assertEquals(jArray.getJsonObject(0).getString("modelCustomizationUuid"), "16ea3e56-a8ce-4ad7-8edd-4d2eae095391");
+                       Mockito.verify(dbMock, Mockito.times(1)).getAllVnfsByServiceName("16ea3e56-a8ce-4ad7-8edd-4d2eae095391");
+                       
+               } catch (Exception e) {
+                       e.printStackTrace();
+               }                       
+       }       
+    
+       @Test
+       public void serviceVnfsImpl_Exception_Test()
+       {
+        PowerMockito.when(dbMock.getAllVnfsByServiceName(Mockito.anyString())).thenReturn (null);
+               
+               try {
+                       CatalogDbAdapterRest adapter = new CatalogDbAdapterRest();
+                       
+               // Run
+               Response resp = adapter.serviceVnfsImpl("v1", true, null, null, null, null, null);
+               
+                       assertEquals(resp.getStatus(), HttpStatus.SC_INTERNAL_SERVER_ERROR);
+                       assertThat(resp.getEntity(), instanceOf(CatalogQueryException.class));
+               } catch (Exception e) {
+                       e.printStackTrace();
+               }                       
+       }       
+        
+    @Test
+    public void serviceNetworksImpl_nUuid_ver_Test(){
+               CatalogDbAdapterRest adapter = new CatalogDbAdapterRest();
+               CatalogDbAdapterRest spyAdapter = Mockito.spy(adapter);
+               
+               Response resp = Response
+                               .status(HttpStatus.SC_OK)
+                               .entity("{\"serviceVnfs\":[{\"version\":\"v1\",\"modelCustomizationUuid\":\"16ea3e56-a8ce-4ad7-8edd-4d2eae095391\",\"modelInstanceName\":\"ciVFOnboarded-FNAT-aab06c41 1\",\"created\":null,\"vnfResourceModelUuid\":null,\"vnfResourceModelUUID\":null,\"minInstances\":null,\"maxInstances\":null,\"availabilityZoneMaxCount\":null,\"vnfResource\":null,\"nfFunction\":null,\"nfType\":null,\"nfRole\":null,\"nfNamingCode\":null,\"multiStageDesign\":null,\"vfModuleCustomizations\":null,\"serviceResourceCustomizations\":null,\"creationTimestamp\":null}]}")
+                               .header(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON)
+                               .build();
+               
+               Mockito.doReturn(resp).when(spyAdapter).serviceNetworksImpl(Mockito.anyString(), Mockito.anyBoolean(), Mockito.anyString(), Mockito.anyString(), Mockito.anyString(), Mockito.anyString(), Mockito.anyString());
+               
+               // Run
+               
+               Response ret = spyAdapter.serviceNetworksImpl("v1", false, "16ea3e56-a8ce-4ad7-8edd-4d2eae095391",null, null, null, null);
+       Mockito.verify(spyAdapter).serviceNetworksImpl("v1", false, "16ea3e56-a8ce-4ad7-8edd-4d2eae095391", null, null, null, null);
+               
+       assertTrue(ret.getStatus() == HttpStatus.SC_OK);
+        String s = resp.getEntity().toString();
+
+        // prepare to inspect response
+        JsonReader reader = Json.createReader(new StringReader(s.replaceAll("\r?\n", "")));
+        JsonObject respObj = reader.readObject();
+        reader.close();
+        // end
+        JsonArray jArray = respObj.getJsonArray("serviceVnfs");
+        
+               assertEquals(resp.getStatus(), HttpStatus.SC_OK);
+               assertEquals(jArray.size(), 1);
+               assertEquals(jArray.getJsonObject(0).getString("modelCustomizationUuid"), "16ea3e56-a8ce-4ad7-8edd-4d2eae095391");      
+       
+    }
+    
+    @Test
+    public void serviceAllottedResourcesImpl_Test()
+    {
+               CatalogDbAdapterRest adapter = new CatalogDbAdapterRest();
+               CatalogDbAdapterRest spyAdapter = Mockito.spy(adapter);
+               
+               Response resp = Response
+                               .status(HttpStatus.SC_OK)
+                               .entity("{\"serviceVnfs\":[{\"version\":\"v1\",\"modelCustomizationUuid\":\"16ea3e56-a8ce-4ad7-8edd-4d2eae095391\",\"modelInstanceName\":\"ciVFOnboarded-FNAT-aab06c41 1\",\"created\":null,\"vnfResourceModelUuid\":null,\"vnfResourceModelUUID\":null,\"minInstances\":null,\"maxInstances\":null,\"availabilityZoneMaxCount\":null,\"vnfResource\":null,\"nfFunction\":null,\"nfType\":null,\"nfRole\":null,\"nfNamingCode\":null,\"multiStageDesign\":null,\"vfModuleCustomizations\":null,\"serviceResourceCustomizations\":null,\"creationTimestamp\":null}]}")
+                               .header(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON)
+                               .build();
+               
+               Mockito.doReturn(resp).when(spyAdapter).serviceAllottedResourcesImpl(Mockito.anyString(), Mockito.anyBoolean(), Mockito.anyString(), Mockito.anyString(), Mockito.anyString(), Mockito.anyString());
+               
+               // Run
+               
+               Response ret = spyAdapter.serviceAllottedResourcesImpl("v1", false, "16ea3e56-a8ce-4ad7-8edd-4d2eae095391",null, null, null);
+       Mockito.verify(spyAdapter).serviceAllottedResourcesImpl("v1", false, "16ea3e56-a8ce-4ad7-8edd-4d2eae095391", null, null, null);
+               
+       assertTrue(ret.getStatus() == HttpStatus.SC_OK);
+        String s = resp.getEntity().toString();
+
+        // prepare to inspect response
+        JsonReader reader = Json.createReader(new StringReader(s.replaceAll("\r?\n", "")));
+        JsonObject respObj = reader.readObject();
+        reader.close();
+        // end
+        JsonArray jArray = respObj.getJsonArray("serviceVnfs");
+        
+               assertEquals(resp.getStatus(), HttpStatus.SC_OK);
+               assertEquals(jArray.size(), 1);
+               assertEquals(jArray.getJsonObject(0).getString("modelCustomizationUuid"), "16ea3e56-a8ce-4ad7-8edd-4d2eae095391");      
+               
+    }
+    
+}
diff --git a/adapters/mso-catalog-db-adapter/src/test/java/org/openecomp/mso/adapters/catalogdb/CatalogDbAdapterRestHttpTest.java b/adapters/mso-catalog-db-adapter/src/test/java/org/openecomp/mso/adapters/catalogdb/CatalogDbAdapterRestHttpTest.java
new file mode 100644 (file)
index 0000000..33f5553
--- /dev/null
@@ -0,0 +1,490 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * 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=========================================================
+ */
+
+package org.openecomp.mso.adapters.catalogdb;
+
+import javax.json.Json;
+import javax.json.JsonArray;
+import javax.json.JsonObject;
+import javax.json.JsonReader;
+import javax.ws.rs.core.HttpHeaders;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+
+import org.jboss.resteasy.plugins.server.tjws.TJWSEmbeddedJaxrsServer;
+import static org.junit.Assert.*;
+
+import java.io.StringReader;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.jboss.resteasy.spi.Registry;
+import org.jboss.resteasy.spi.ResteasyProviderFactory;
+import org.junit.AfterClass;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.Mockito;
+import org.mockito.runners.MockitoJUnitRunner;
+import org.openecomp.mso.adapters.catalogdb.CatalogDbAdapterRest;
+import org.openecomp.mso.db.catalog.CatalogDatabase;
+import org.openecomp.mso.db.catalog.beans.AllottedResourceCustomization;
+import org.openecomp.mso.db.catalog.beans.NetworkResourceCustomization;
+import org.openecomp.mso.db.catalog.beans.ServiceMacroHolder;
+import org.openecomp.mso.db.catalog.beans.VfModule;
+import org.openecomp.mso.db.catalog.beans.VfModuleCustomization;
+import org.openecomp.mso.db.catalog.beans.VnfResourceCustomization;
+import org.powermock.api.mockito.PowerMockito;
+import org.powermock.core.classloader.annotations.PowerMockIgnore;
+import org.powermock.core.classloader.annotations.PrepareForTest;
+import org.apache.http.HttpStatus;
+import org.jboss.resteasy.client.jaxrs.ResteasyClient;
+import org.jboss.resteasy.client.jaxrs.ResteasyClientBuilder;
+import org.jboss.resteasy.client.jaxrs.ResteasyWebTarget;
+import org.powermock.modules.junit4.PowerMockRunner;
+
+
+@RunWith(PowerMockRunner.class)
+@PrepareForTest({CatalogDatabase.class})
+@PowerMockIgnore("javax.net.ssl.*")
+public class CatalogDbAdapterRestHttpTest {
+    @Mock
+    private static CatalogDatabase dbMock;
+    private static TJWSEmbeddedJaxrsServer server;
+    private static final int PORT = 3099;
+    private static Registry registry;
+    private static ResteasyProviderFactory factory;
+    
+    @BeforeClass
+    public static void beforeClass() throws Exception {
+        server = new TJWSEmbeddedJaxrsServer();
+        server.setPort(PORT);
+        server.start();
+        registry = server.getDeployment().getRegistry();
+        factory = server.getDeployment().getDispatcher().getProviderFactory();
+        registry.addPerRequestResource(CatalogDbAdapterRest.class);
+        factory.registerProvider(CatalogDbAdapterRest.class);
+    }
+    
+    @Before
+    public void before(){
+               PowerMockito.mockStatic(CatalogDatabase.class);
+               dbMock = PowerMockito.mock(CatalogDatabase.class);
+               PowerMockito.when(CatalogDatabase.getInstance()).thenReturn(dbMock);
+               
+               try {
+                       PowerMockito.whenNew(CatalogDatabase.class).withAnyArguments().thenReturn(dbMock);
+
+               } catch (Exception e) {
+                       e.printStackTrace();
+               }
+    }
+    
+    @Test
+    public void healthCheck_Test(){
+        ResteasyClient client = new ResteasyClientBuilder().build();
+        ResteasyWebTarget target = client.target("http://localhost:3099/v1/healthcheck");
+        Response response = target.request().get();
+        String value = response.readEntity(String.class);
+        assertTrue(value.contains("Application v1 ready"));
+    }
+    
+    @Test
+    public void vnfResourcesUrl_Test()
+    {
+       try {
+           List<VnfResourceCustomization> paramList;                   
+               // set up mock return value
+            paramList = new ArrayList<VnfResourceCustomization>();
+            VnfResourceCustomization d1 = new VnfResourceCustomization();
+            d1.setModelCustomizationUuid("16ea3e56-a8ce-4ad7-8edd-4d2eae095391");
+            d1.setModelInstanceName("RG_6-26_mog11 0");
+            d1.setVersion("v1");
+            paramList.add(d1);
+               PowerMockito.when(dbMock.getAllVnfsByVnfModelCustomizationUuid(Mockito.anyString())).thenReturn (paramList);
+            // end
+                       
+               // Run
+               ResteasyClient client = new ResteasyClientBuilder().build();
+               ResteasyWebTarget target = client.target("http://localhost:3099/v1/vnfResources/16ea3e56-a8ce-4ad7-8edd-4d2eae095391");
+               Response response = target.request().get();
+               String value = response.readEntity(String.class);
+               
+               // prepare to inspect response
+               JsonReader reader = Json.createReader(new StringReader(value.replaceAll("\r?\n", "")));
+               JsonObject respObj = reader.readObject();
+               reader.close();
+               JsonArray jArray = respObj.getJsonArray("serviceVnfs");
+               assertTrue(jArray.size() == 1);
+               if(jArray.size() == 1){
+                       JsonObject rec = jArray.getJsonObject(0);
+                       String version = rec.getString("version");
+                       String uuid = rec.getString("modelCustomizationUuid");
+                       
+                       assertTrue(version.equals("v1"));
+                       assertTrue(uuid.equals("16ea3e56-a8ce-4ad7-8edd-4d2eae095391"));
+               }
+               // end
+               } catch (Exception e) {
+                       e.printStackTrace();
+               }
+    }
+    
+    @Test
+    public void serviceVnfsUrl_smiUuid_smVer_Test(){
+       try {
+           List<VnfResourceCustomization> paramList;                   
+               // set up mock return value
+            paramList = new ArrayList<VnfResourceCustomization>();
+            VnfResourceCustomization d1 = new VnfResourceCustomization();
+            d1.setVnfResourceModelUuid("16ea3e56-a8ce-4ad7-8edd-4d2eae095391");
+            d1.setModelInstanceName("RG_6-26_mog11 0");
+            d1.setVersion("v1");
+            d1.setMaxInstances(50);
+            paramList.add(d1);
+               PowerMockito.when(dbMock.getAllVnfsByServiceModelInvariantUuid(Mockito.anyString(),Mockito.anyString())).thenReturn (paramList);
+            // end
+                       
+               // Run
+               ResteasyClient client = new ResteasyClientBuilder().build();
+               ResteasyWebTarget target = client.target("http://localhost:3099/v1/serviceVnfs?serviceModelInvariantUuid=16ea3e56-a8ce-4ad7-8edd-4d2eae095391&serviceModelVersion=ver1");
+               Response response = target.request().get();
+               String value = response.readEntity(String.class);
+               
+               // prepare to inspect response
+               JsonReader reader = Json.createReader(new StringReader(value.replaceAll("\r?\n", "")));
+               JsonObject respObj = reader.readObject();
+               reader.close();
+               JsonArray jArray = respObj.getJsonArray("serviceVnfs");
+               assertTrue(jArray.size() == 1);
+               if(jArray.size() == 1){
+                       JsonObject rec = jArray.getJsonObject(0);
+                       String version = rec.getString("version");
+                       String uuid = rec.getString("vnfResourceModelUuid");
+                       int maxInstance = rec.getInt("maxInstances");
+                       
+                       assertTrue(version.equals("v1"));
+                       assertTrue(uuid.equals("16ea3e56-a8ce-4ad7-8edd-4d2eae095391"));
+                       assertTrue(maxInstance == 50);
+               }
+               // end
+               } catch (Exception e) {
+                       e.printStackTrace();
+                       fail(e.getMessage());
+               }       
+    }
+    
+    @Test
+    public void serviceVnfsUrl_vnfUuid_Test(){
+       try {
+           List<VnfResourceCustomization> paramList;                   
+               // set up mock return value
+            paramList = new ArrayList<VnfResourceCustomization>();
+            VnfResourceCustomization d1 = new VnfResourceCustomization();
+            d1.setModelCustomizationUuid("16ea3e56-a8ce-4ad7-8edd-4d2eae095391");
+            d1.setModelInstanceName("RG_6-26_mog11 0");
+            d1.setVersion("v1");
+            paramList.add(d1);
+               PowerMockito.when(dbMock.getAllVnfsByVnfModelCustomizationUuid(Mockito.anyString())).thenReturn (paramList);
+            // end
+                       
+               // Run
+               ResteasyClient client = new ResteasyClientBuilder().build();
+               ResteasyWebTarget target = client.target("http://localhost:3099/v1/serviceVnfs?vnfModelCustomizationUuid=16ea3e56-a8ce-4ad7-8edd-4d2eae095391");
+               Response response = target.request().get();
+               String value = response.readEntity(String.class);
+               
+               // System.out.println(value);
+               
+               // prepare to inspect response
+               JsonReader reader = Json.createReader(new StringReader(value.replaceAll("\r?\n", "")));
+               JsonObject respObj = reader.readObject();
+               reader.close();
+               JsonArray jArray = respObj.getJsonArray("serviceVnfs");
+               assertTrue(jArray.size() == 1);
+               if(jArray.size() == 1){
+                       JsonObject rec = jArray.getJsonObject(0);
+                       String version = rec.getString("version");
+                       String uuid = rec.getString("modelCustomizationUuid");
+                       
+                       assertTrue(version.equals("v1"));
+                       assertTrue(uuid.equals("16ea3e56-a8ce-4ad7-8edd-4d2eae095391"));
+               }
+               // end
+               
+               } catch (Exception e) {
+                       e.printStackTrace();
+                       fail(e.getMessage());
+               }       
+    }    
+    
+    @Test
+    public void networkResourcesUrl_nUuid_Ver_Test(){
+       try {
+           List<NetworkResourceCustomization> paramList;               
+               // set up mock return value
+            paramList = new ArrayList<NetworkResourceCustomization>();
+            NetworkResourceCustomization d1 = new NetworkResourceCustomization();
+            d1.setNetworkResourceModelUuid("0cb9b26a-9820-48a7-86e5-16c510e993d9");
+            paramList.add(d1);
+               PowerMockito.when(dbMock.getAllNetworksByNetworkModelCustomizationUuid(Mockito.anyString())).thenReturn (paramList);
+            // end
+                       
+               // Run
+               ResteasyClient client = new ResteasyClientBuilder().build();
+               ResteasyWebTarget target = client.target("http://localhost:3099/v1/networkResources/0cb9b26a-9820-48a7-86e5-16c510e993d9");
+               Response response = target.request().get();
+               String value = response.readEntity(String.class);
+               
+               // System.out.println(value);
+               
+               // prepare to inspect response
+               JsonReader reader = Json.createReader(new StringReader(value.replaceAll("\r?\n", "")));
+               JsonObject respObj = reader.readObject();
+               reader.close();
+               JsonArray jArray = respObj.getJsonArray("serviceNetworks");
+               assertTrue(jArray.size() == 1);
+               if(jArray.size() == 1){
+                       JsonObject rec = jArray.getJsonObject(0);
+                       String uuid = rec.getString("networkResourceModelUuid");
+                       
+                       assertTrue(uuid.equals("0cb9b26a-9820-48a7-86e5-16c510e993d9"));
+               }
+               // end
+               
+               } catch (Exception e) {
+                       e.printStackTrace();
+                       fail(e.getMessage());
+               }       
+    }
+    
+    @Test
+    public void serviceNetworksUrl_nType_Test(){
+       try {
+           List<NetworkResourceCustomization> paramList;               
+               // set up mock return value
+            paramList = new ArrayList<NetworkResourceCustomization>();
+            NetworkResourceCustomization d1 = new NetworkResourceCustomization();
+            d1.setNetworkResourceModelUuid("0cb9b26a-9820-48a7-86e5-16c510e993d9");
+            paramList.add(d1);
+               PowerMockito.when(dbMock.getAllNetworksByNetworkType(Mockito.anyString())).thenReturn (paramList);
+            // end
+                       
+               // Run
+               ResteasyClient client = new ResteasyClientBuilder().build();
+               ResteasyWebTarget target = client.target("http://localhost:3099/v1/serviceNetworks?networkModelName=0cb9b26a-9820-48a7-86e5-16c510e993d9");
+               Response response = target.request().get();
+               String value = response.readEntity(String.class);
+               
+               // System.out.println(value);
+               
+               // prepare to inspect response
+               JsonReader reader = Json.createReader(new StringReader(value.replaceAll("\r?\n", "")));
+               JsonObject respObj = reader.readObject();
+               reader.close();
+               JsonArray jArray = respObj.getJsonArray("serviceNetworks");
+               assertTrue(jArray.size() == 1);
+               if(jArray.size() == 1){
+                       JsonObject rec = jArray.getJsonObject(0);
+                       String uuid = rec.getString("networkResourceModelUuid");
+                       
+                       assertTrue(uuid.equals("0cb9b26a-9820-48a7-86e5-16c510e993d9"));
+               }
+               // end
+               
+               } catch (Exception e) {
+                       e.printStackTrace();
+                       fail(e.getMessage());
+               }       
+    }    
+    
+    @Test
+    public void serviceResourcesUrl_smiUuid_Ver_Test(){
+       try {
+           ArrayList<NetworkResourceCustomization> paramList;                  
+               // set up mock return value
+            paramList = new ArrayList<NetworkResourceCustomization>();
+            NetworkResourceCustomization d1 = new NetworkResourceCustomization();
+            d1.setNetworkResourceModelUuid("0cb9b26a-9820-48a7-86e5-16c510e993d9");
+            paramList.add(d1);
+               ServiceMacroHolder ret = new ServiceMacroHolder();
+               ret.setNetworkResourceCustomization(paramList);
+               PowerMockito.when(dbMock.getAllResourcesByServiceModelInvariantUuid(Mockito.anyString(),Mockito.anyString())).thenReturn (ret);
+            // end
+                       
+               // Run
+               ResteasyClient client = new ResteasyClientBuilder().build();
+               ResteasyWebTarget target = client.target("http://localhost:3099/v1/serviceResources?serviceModelInvariantUuid=0cb9b26a-9820-48a7-86e5-16c510e993d9&serviceModelVersion=ver1");
+               Response response = target.request().get();
+               String value = response.readEntity(String.class);
+               
+               // System.out.println(value);
+               
+               // prepare to inspect response
+               JsonReader reader = Json.createReader(new StringReader(value.replaceAll("\r?\n", "")));
+               JsonObject respObj = reader.readObject();
+               reader.close();
+               JsonObject obj = respObj.getJsonObject("serviceResources");
+               JsonArray jArray = obj.getJsonArray("networkResourceCustomization");
+               assertTrue(jArray.size() == 1);
+               
+               if(jArray.size() == 1){
+                       JsonObject rec = jArray.getJsonObject(0);
+                       String uuid = rec.getString("networkResourceModelUuid");
+                       
+                       assertTrue(uuid.equals("0cb9b26a-9820-48a7-86e5-16c510e993d9"));
+               }
+               // end
+               
+               } catch (Exception e) {
+                       e.printStackTrace();
+                       fail(e.getMessage());
+               }       
+    }    
+    
+    @Test
+    public void allottedResourcesUrl_aUuid_Test()
+    {
+       try {
+           List<AllottedResourceCustomization> paramList;              
+               // set up mock return value
+            paramList = new ArrayList<AllottedResourceCustomization>();
+            AllottedResourceCustomization d1 = new AllottedResourceCustomization();
+            d1.setArModelUuid("0cb9b26a-9820-48a7-86e5-16c510e993d9");
+            paramList.add(d1);
+               PowerMockito.when(dbMock.getAllAllottedResourcesByArModelCustomizationUuid(Mockito.anyString())).thenReturn (paramList);
+            // end
+                       
+               // Run
+               ResteasyClient client = new ResteasyClientBuilder().build();
+               ResteasyWebTarget target = client.target("http://localhost:3099/v1/allottedResources/0cb9b26a-9820-48a7-86e5-16c510e993d9");
+               Response response = target.request().get();
+               String value = response.readEntity(String.class);
+               
+               // System.out.println(value);
+               
+               // prepare to inspect response
+               JsonReader reader = Json.createReader(new StringReader(value.replaceAll("\r?\n", "")));
+               JsonObject respObj = reader.readObject();
+               reader.close();
+               JsonArray jArray = respObj.getJsonArray("serviceAllottedResources");
+               assertTrue(jArray.size() == 1);
+               if(jArray.size() == 1){
+                       JsonObject rec = jArray.getJsonObject(0);
+                       String uuid = rec.getString("arModelUuid");
+                       
+                       assertTrue(uuid.equals("0cb9b26a-9820-48a7-86e5-16c510e993d9"));
+               }
+               // end
+               
+               } catch (Exception e) {
+                       e.printStackTrace();
+                       fail(e.getMessage());
+               }       
+       
+    }
+    
+    @Test
+    public void serviceAllottedResourcesUrl_smiUuid_Test()
+    {
+       try {
+           List<AllottedResourceCustomization> paramList;              
+               // set up mock return value
+            paramList = new ArrayList<AllottedResourceCustomization>();
+            AllottedResourceCustomization d1 = new AllottedResourceCustomization();
+            d1.setArModelUuid("0cb9b26a-9820-48a7-86e5-16c510e993d9");
+            paramList.add(d1);
+               PowerMockito.when(dbMock.getAllAllottedResourcesByServiceModelInvariantUuid(Mockito.anyString(), Mockito.anyString())).thenReturn (paramList);
+            // end
+                       
+               // Run
+               ResteasyClient client = new ResteasyClientBuilder().build();
+               ResteasyWebTarget target = client.target("http://localhost:3099/v1/serviceAllottedResources?serviceModelInvariantUuid=0cb9b26a-9820-48a7-86e5-16c510e993d9&serviceModelVersion=ver1");
+               Response response = target.request().get();
+               String value = response.readEntity(String.class);
+               
+               // System.out.println(value);
+               
+               // prepare to inspect response
+               JsonReader reader = Json.createReader(new StringReader(value.replaceAll("\r?\n", "")));
+               JsonObject respObj = reader.readObject();
+               reader.close();
+               JsonArray jArray = respObj.getJsonArray("serviceAllottedResources");
+               assertTrue(jArray.size() == 1);
+               if(jArray.size() == 1){
+                       JsonObject rec = jArray.getJsonObject(0);
+                       String uuid = rec.getString("arModelUuid");
+                       
+                       assertTrue(uuid.equals("0cb9b26a-9820-48a7-86e5-16c510e993d9"));
+               }
+               // end
+               
+               } catch (Exception e) {
+                       e.printStackTrace();
+                       fail(e.getMessage());
+               }       
+    }
+
+    @Test
+    public void vfModulesUrl_modelName_Test()
+    {
+       try {
+               // set up mock return value
+               VfModule vfm = new VfModule();
+               vfm.setModelName("test Model");
+               vfm.setModelUUID("0cb9b26a-9820-48a7-86e5-16c510e993d9");
+               
+               VfModuleCustomization ret = new VfModuleCustomization();                
+               ret.setVfModule(vfm);
+               PowerMockito.when(dbMock.getVfModuleCustomizationByModelName(Mockito.anyString())).thenReturn (ret);
+            // end
+                       
+               // Run
+               ResteasyClient client = new ResteasyClientBuilder().build();
+               ResteasyWebTarget target = client.target("http://localhost:3099/v1/vfModules?vfModuleModelName=0cb9b26a-9820-48a7-86e5-16c510e993d9");
+               Response response = target.request().get();
+               String value = response.readEntity(String.class);
+               
+               // System.out.println(value);
+               
+               // prepare to inspect response
+               JsonReader reader = Json.createReader(new StringReader(value.replaceAll("\r?\n", "")));
+               JsonObject respObj = reader.readObject();
+               reader.close();
+               JsonObject jObj = respObj.getJsonObject("modelInfo");
+               String uuid = jObj.getString("modelUuid");
+               String name = jObj.getString("modelName");
+               assertTrue(uuid.equals("0cb9b26a-9820-48a7-86e5-16c510e993d9"));
+               assertTrue(name.equals("test Model"));
+               // end
+               
+               } catch (Exception e) {
+                       e.printStackTrace();
+                       fail(e.getMessage());
+               }       
+    }    
+    
+    @AfterClass
+    public static void afterClass() throws Exception {
+       server.stop();
+    }
+}
diff --git a/adapters/mso-catalog-db-adapter/src/test/java/org/openecomp/mso/adapters/catalogdb/catalogrest/CatalogQueryTest.java b/adapters/mso-catalog-db-adapter/src/test/java/org/openecomp/mso/adapters/catalogdb/catalogrest/CatalogQueryTest.java
new file mode 100644 (file)
index 0000000..31e828d
--- /dev/null
@@ -0,0 +1,112 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * 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=========================================================
+ */
+
+package org.openecomp.mso.adapters.catalogdb.catalogrest;
+
+import java.io.StringReader;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import javax.json.Json;
+import javax.json.JsonArray;
+import javax.json.JsonObject;
+import javax.json.JsonReader;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mockito;
+import org.mockito.runners.MockitoJUnitRunner;
+import org.openecomp.mso.db.catalog.beans.VnfResourceCustomization;
+
+import static org.junit.Assert.*;
+
+
+@RunWith(MockitoJUnitRunner.class)
+public class CatalogQueryTest {
+
+       
+       @Test
+       public void catalogQuerySetTemplateImpl_Test(){
+               CatalogQuery mockCatalogQuery = Mockito.mock(CatalogQuery.class);
+               Mockito.doCallRealMethod().when(mockCatalogQuery).setTemplate(Mockito.anyString(), Mockito.anyMapOf(String.class, String.class));
+               
+               Map<String,String> valueMap = new HashMap<String,String>();
+               valueMap.put("somekey", "somevalue");
+               
+               String ret = mockCatalogQuery.setTemplate("<somekey>", valueMap);
+               
+               assertTrue(ret.equalsIgnoreCase("somevalue"));
+       }
+       
+       @Test
+       public void smartToJson_Test()
+       {
+        List<VnfResourceCustomization> paramList = new ArrayList<VnfResourceCustomization>();
+        VnfResourceCustomization d1 = new VnfResourceCustomization();
+        d1.setModelCustomizationUuid("16ea3e56-a8ce-4ad7-8edd-4d2eae095391");
+        d1.setModelInstanceName("RG_6-26_mog11 0");
+        d1.setVersion("v1");
+        paramList.add(d1);
+        
+        QueryServiceVnfs qryResp = new QueryServiceVnfs(paramList);
+        QueryServiceVnfs mockCatalogQuery = Mockito.spy(qryResp);
+        Mockito.doCallRealMethod().when(mockCatalogQuery).smartToJSON();
+               String ret = qryResp.smartToJSON();
+               // System.out.println(ret);
+               
+        JsonReader reader = Json.createReader(new StringReader(ret.replaceAll("\r?\n", "")));
+        JsonObject respObj = reader.readObject();
+        reader.close();
+        JsonArray jArray = respObj.getJsonArray("serviceVnfs");
+               assertEquals(jArray.size(), 1);
+               assertEquals(jArray.getJsonObject(0).getString("modelCustomizationUuid"), "16ea3e56-a8ce-4ad7-8edd-4d2eae095391");
+       }       
+       
+       @Test
+       public void toJsonString_Test()
+       {
+               CatalogQueryExtendedTest mockCatalogQuery = Mockito.mock(CatalogQueryExtendedTest.class);
+               Mockito.doCallRealMethod().when(mockCatalogQuery).JSON2(Mockito.anyBoolean(), Mockito.anyBoolean());
+               String ret = mockCatalogQuery.JSON2(true, true);
+               
+               // System.out.println(ret);
+               
+        JsonReader reader = Json.createReader(new StringReader(ret.replaceAll("\r?\n", "")));
+        JsonObject respObj = reader.readObject();
+        reader.close();
+        JsonArray jArray = respObj.getJsonArray("serviceVnfs");
+               assertEquals(jArray.size(), 1);
+               assertEquals(jArray.getJsonObject(0).getString("modelCustomizationUuid"), "16ea3e56-a8ce-4ad7-8edd-4d2eae095391");
+               assertEquals(jArray.getJsonObject(0).getString("version"), "v2");
+       }       
+       
+       class CatalogQueryExtendedTest extends CatalogQuery{
+               @Override
+               public String JSON2(boolean isArray, boolean isEmbed) {
+                       return "{\"serviceVnfs\":[{\"version\":\"v2\",\"modelCustomizationUuid\":\"16ea3e56-a8ce-4ad7-8edd-4d2eae095391\",\"modelInstanceName\":\"ciVFOnboarded-FNAT-aab06c41 1\",\"created\":null,\"vnfResourceModelUuid\":null,\"vnfResourceModelUUID\":null,\"minInstances\":null,\"maxInstances\":null,\"availabilityZoneMaxCount\":null,\"vnfResource\":null,\"nfFunction\":null,\"nfType\":null,\"nfRole\":null,\"nfNamingCode\":null,\"multiStageDesign\":null,\"vfModuleCustomizations\":null,\"serviceResourceCustomizations\":null,\"creationTimestamp\":null}]}";
+               }
+               
+       }       
+       
+}
+
+
diff --git a/adapters/mso-catalog-db-adapter/src/test/java/org/openecomp/mso/adapters/catalogdb/catalogrest/QueryAllottedResourceCustomizationTest.java b/adapters/mso-catalog-db-adapter/src/test/java/org/openecomp/mso/adapters/catalogdb/catalogrest/QueryAllottedResourceCustomizationTest.java
new file mode 100644 (file)
index 0000000..71352b5
--- /dev/null
@@ -0,0 +1,67 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * 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=========================================================
+ */
+
+package org.openecomp.mso.adapters.catalogdb.catalogrest;
+
+import static org.junit.Assert.assertEquals;
+
+import java.io.StringReader;
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.json.Json;
+import javax.json.JsonArray;
+import javax.json.JsonObject;
+import javax.json.JsonReader;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.runners.MockitoJUnitRunner;
+import org.openecomp.mso.db.catalog.beans.AllottedResourceCustomization;
+
+@RunWith(MockitoJUnitRunner.class)
+public class QueryAllottedResourceCustomizationTest {
+
+       @Test
+       public void JSON2_Test()
+       {
+           List<AllottedResourceCustomization> paramList;              
+        paramList = new ArrayList<AllottedResourceCustomization>();
+        AllottedResourceCustomization d1 = new AllottedResourceCustomization();
+        d1.setModelInstanceName("0cb9b26a-9820-48a7-86e5-16c510e993d9");
+        d1.setModelCustomizationUuid("16ea3e56-a8ce-4ad7-8edd-4d2eae095391");
+        paramList.add(d1);
+        
+               QueryAllottedResourceCustomization qarcObj = new QueryAllottedResourceCustomization(paramList);
+               String ret = qarcObj.JSON2(true, true);
+               System.out.println(ret);
+               ret = "{" + ret + "}";
+               
+        JsonReader reader = Json.createReader(new StringReader(ret.replaceAll("\r?\n", "")));
+        JsonObject respObj = reader.readObject();
+        reader.close();
+        JsonArray jArray = respObj.getJsonArray("serviceAllottedResources");
+               assertEquals(jArray.size(), 1);
+               
+               assertEquals(jArray.getJsonObject(0).getJsonObject("modelInfo").getString("modelInstanceName"), "0cb9b26a-9820-48a7-86e5-16c510e993d9");
+               assertEquals(jArray.getJsonObject(0).getJsonObject("modelInfo").getString("modelCustomizationUuid"), "16ea3e56-a8ce-4ad7-8edd-4d2eae095391");
+       }
+       
+}
diff --git a/adapters/mso-catalog-db-adapter/src/test/java/org/openecomp/mso/adapters/catalogdb/catalogrest/QueryServiceMarcoHolderTest.java b/adapters/mso-catalog-db-adapter/src/test/java/org/openecomp/mso/adapters/catalogdb/catalogrest/QueryServiceMarcoHolderTest.java
new file mode 100644 (file)
index 0000000..dfbc2dc
--- /dev/null
@@ -0,0 +1,74 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * 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=========================================================
+ */
+
+package org.openecomp.mso.adapters.catalogdb.catalogrest;
+
+import static org.junit.Assert.assertTrue;
+
+import java.io.StringReader;
+import java.util.ArrayList;
+
+import javax.json.Json;
+import javax.json.JsonArray;
+import javax.json.JsonObject;
+import javax.json.JsonReader;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.runners.MockitoJUnitRunner;
+import org.openecomp.mso.db.catalog.beans.NetworkResourceCustomization;
+import org.openecomp.mso.db.catalog.beans.Service;
+import org.openecomp.mso.db.catalog.beans.ServiceMacroHolder;
+
+@RunWith(MockitoJUnitRunner.class)
+public class QueryServiceMarcoHolderTest {
+
+       @Test
+       public void JSON2_Test()
+       {
+               Service svc = new Service();
+               svc.setModelUUID("0cb9b26a-9820-48a7-86e5-16c510e993d9");
+               svc.setModelName("Testing Model One");
+           ArrayList<NetworkResourceCustomization> paramList;                  
+        paramList = new ArrayList<NetworkResourceCustomization>();
+        NetworkResourceCustomization d1 = new NetworkResourceCustomization();
+        d1.setNetworkResourceModelUuid("0cb9b26a-9820-48a7-86e5-16c510e993d9");
+        paramList.add(d1);
+               ServiceMacroHolder ret = new ServiceMacroHolder(svc);
+               ret.setNetworkResourceCustomization(paramList);
+               QueryServiceMacroHolder holder = new QueryServiceMacroHolder(ret);
+               String s = holder.JSON2(true, true); 
+               
+               // System.out.println(s);
+
+               // prepare to inspect response
+        JsonReader reader = Json.createReader(new StringReader(s.replaceAll("\r?\n", "")));
+        JsonObject respObj = reader.readObject();
+        reader.close();
+        JsonObject obj = respObj.getJsonObject("serviceResources");
+        JsonObject obj2 = obj.getJsonObject("modelInfo");
+        String modelName = obj2.getString("modelName");
+        String modelUuid = obj2.getString("modelUuid");
+        
+       assertTrue(modelName.equals("Testing Model One"));
+       assertTrue(modelUuid.equals("0cb9b26a-9820-48a7-86e5-16c510e993d9"));
+       // end          
+       }
+}
diff --git a/adapters/mso-catalog-db-adapter/src/test/java/org/openecomp/mso/adapters/catalogdb/catalogrest/QueryServiceNetworksTest.java b/adapters/mso-catalog-db-adapter/src/test/java/org/openecomp/mso/adapters/catalogdb/catalogrest/QueryServiceNetworksTest.java
new file mode 100644 (file)
index 0000000..b237dbe
--- /dev/null
@@ -0,0 +1,72 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * 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=========================================================
+ */
+
+package org.openecomp.mso.adapters.catalogdb.catalogrest;
+
+import static org.junit.Assert.assertTrue;
+
+import java.io.StringReader;
+import java.util.ArrayList;
+
+import javax.json.Json;
+import javax.json.JsonArray;
+import javax.json.JsonObject;
+import javax.json.JsonReader;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.runners.MockitoJUnitRunner;
+import org.openecomp.mso.db.catalog.beans.NetworkResourceCustomization;
+import org.openecomp.mso.db.catalog.beans.Service;
+import org.openecomp.mso.db.catalog.beans.ServiceMacroHolder;
+
+@RunWith(MockitoJUnitRunner.class)
+public class QueryServiceNetworksTest {
+
+       
+       @Test
+       public void JSON2_Test()
+       {
+           ArrayList<NetworkResourceCustomization> paramList;                  
+        paramList = new ArrayList<NetworkResourceCustomization>();
+        NetworkResourceCustomization d1 = new NetworkResourceCustomization();
+        d1.setModelInstanceName("0cb9b26a-9820-48a7-86e5-16c510e993d9");
+        paramList.add(d1);
+        QueryServiceNetworks qsn = new QueryServiceNetworks(paramList);
+        
+               String s = qsn.JSON2(true, true); 
+               s = "{" + s + "}";
+               System.out.println(s);
+               
+               // prepare to inspect response
+        JsonReader reader = Json.createReader(new StringReader(s.replaceAll("\r?\n", "")));
+        JsonObject respObj = reader.readObject();
+        reader.close();
+        JsonArray objArr = respObj.getJsonArray("serviceNetworks");
+        
+        assertTrue(objArr.size() == 1);
+        
+        JsonObject obj2 = objArr.getJsonObject(0).getJsonObject("modelInfo");
+        String modelName = obj2.getString("modelInstanceName");
+        
+       assertTrue(modelName.equals("0cb9b26a-9820-48a7-86e5-16c510e993d9"));
+       // end                  
+       }
+}
diff --git a/adapters/mso-catalog-db-adapter/src/test/java/org/openecomp/mso/adapters/catalogdb/catalogrest/QueryServiceVnfsTest.java b/adapters/mso-catalog-db-adapter/src/test/java/org/openecomp/mso/adapters/catalogdb/catalogrest/QueryServiceVnfsTest.java
new file mode 100644 (file)
index 0000000..262fe06
--- /dev/null
@@ -0,0 +1,73 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * 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=========================================================
+ */
+
+package org.openecomp.mso.adapters.catalogdb.catalogrest;
+
+import static org.junit.Assert.assertTrue;
+
+import java.io.StringReader;
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.json.Json;
+import javax.json.JsonArray;
+import javax.json.JsonObject;
+import javax.json.JsonReader;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.runners.MockitoJUnitRunner;
+import org.openecomp.mso.db.catalog.beans.NetworkResourceCustomization;
+import org.openecomp.mso.db.catalog.beans.VnfResourceCustomization;
+
+@RunWith(MockitoJUnitRunner.class)
+public class QueryServiceVnfsTest {
+
+       @Test
+       public void JSON2_Test()
+       {
+           List<VnfResourceCustomization> paramList;                   
+        paramList = new ArrayList<VnfResourceCustomization>();
+        VnfResourceCustomization d1 = new VnfResourceCustomization();
+        d1.setModelInstanceName("0cb9b26a-9820-48a7-86e5-16c510e993d9");
+        d1.setVnfResourceModelUuid("0cb9b26a-9820-48a7-86e5-16c510e993d9");
+        paramList.add(d1);
+        QueryServiceVnfs qsn = new QueryServiceVnfs(paramList);
+        
+               String s = qsn.JSON2(true, true); 
+               s = "{" + s + "}";
+               System.out.println(s);
+               
+               // prepare to inspect response
+        JsonReader reader = Json.createReader(new StringReader(s.replaceAll("\r?\n", "")));
+        JsonObject respObj = reader.readObject();
+        reader.close();
+        JsonArray objArr = respObj.getJsonArray("serviceVnfs");
+        
+        assertTrue(objArr.size() == 1);
+        
+        JsonObject obj2 = objArr.getJsonObject(0).getJsonObject("modelInfo");
+        String modelName = obj2.getString("modelInstanceName");
+        
+       assertTrue(modelName.equals("0cb9b26a-9820-48a7-86e5-16c510e993d9"));
+       // end                  
+               
+       }
+}