if audit fails write sub interface data to a ai
[so.git] / adapters / mso-openstack-adapters / src / test / java / org / onap / so / adapters / audit / AuditVServerTest.java
index 9176b58..f0fce4d 100644 (file)
@@ -13,7 +13,7 @@
  * 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
+ * See the License for the specific language governing perservice2sions and
  * limitations under the License.
  * ============LICENSE_END=========================================================
  */
@@ -27,6 +27,8 @@ import static org.mockito.Mockito.verify;
 
 import java.io.File;
 import java.io.IOException;
+import java.nio.file.Files;
+import java.nio.file.Paths;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Optional;
@@ -48,7 +50,9 @@ import org.onap.so.client.aai.AAIResourcesClient;
 import org.onap.so.client.aai.entities.AAIResultWrapper;
 import org.onap.so.client.aai.entities.uri.AAIResourceUri;
 import org.onap.so.client.aai.entities.uri.AAIUriFactory;
+import org.skyscreamer.jsonassert.JSONAssert;
 
+import com.fasterxml.jackson.annotation.JsonInclude.Include;
 import com.fasterxml.jackson.core.JsonParseException;
 import com.fasterxml.jackson.databind.JsonMappingException;
 import com.fasterxml.jackson.databind.ObjectMapper;
@@ -58,6 +62,8 @@ import com.woorea.openstack.heat.model.Resources;
 @RunWith(MockitoJUnitRunner.Silent.class)
 public class AuditVServerTest extends AuditVServer {
 
+       private ObjectMapper objectMapper = new ObjectMapper();
+
        @InjectMocks
        private AuditVServer auditNova = new AuditVServer();
 
@@ -74,46 +80,43 @@ public class AuditVServerTest extends AuditVServer {
        private AAIResourceUri vserverURI2 = AAIUriFactory.createResourceUri(AAIObjectType.VSERVER, cloudOwner, cloudRegion,
                        tenantId, "3a4c2ca5-27b3-4ecc-98c5-06804867c4dz");
 
-       private AAIResourceUri ssc_1_trusted_port_0_uri = AAIUriFactory.createResourceUri(AAIObjectPlurals.L_INTERFACE,
-                       cloudOwner, cloudRegion, tenantId, "3a4c2ca5-27b3-4ecc-98c5-06804867c4db").queryParam("interface-id", "dec8bdc7-5718-41dc-bfbb-561ff6eeb81c");
-
-       private AAIResourceUri ssc_1_service1_port_0_uri = AAIUriFactory.createResourceUri(AAIObjectPlurals.L_INTERFACE,
-                       cloudOwner, cloudRegion, tenantId, "3a4c2ca5-27b3-4ecc-98c5-06804867c4db").queryParam("interface-id", "1c56a24b-5f03-435a-850d-31cd4252de56");
+       private AAIResourceUri ssc_1_trusted_port_0_uri = AAIUriFactory.createResourceUri(AAIObjectType.L_INTERFACE,
+                       cloudOwner, cloudRegion, tenantId, "3a4c2ca5-27b3-4ecc-98c5-06804867c4db","ssc_1_trusted_port_0");
 
-       private AAIResourceUri ssc_1_mgmt_port_1_uri = AAIUriFactory.createResourceUri(AAIObjectPlurals.L_INTERFACE,
-                       cloudOwner, cloudRegion, tenantId, "3a4c2ca5-27b3-4ecc-98c5-06804867c4db").queryParam("interface-id", "12afcd28-929f-4d80-8a5a-0833bfd5e20b");
+       private AAIResourceUri ssc_1_service1_port_0_uri = AAIUriFactory.createResourceUri(AAIObjectType.L_INTERFACE,
+                       cloudOwner, cloudRegion, tenantId, "3a4c2ca5-27b3-4ecc-98c5-06804867c4db","ssc_1_service1_port_0");
 
-       private AAIResourceUri ssc_1_mgmt_port_0_uri = AAIUriFactory.createResourceUri(AAIObjectPlurals.L_INTERFACE,
-                       cloudOwner, cloudRegion, tenantId, "3a4c2ca5-27b3-4ecc-98c5-06804867c4db").queryParam("interface-id", "80baec42-ffae-425f-ad8c-3f7b2c24bfff");
+       private AAIResourceUri ssc_1_mgmt_port_1_uri = AAIUriFactory.createResourceUri(AAIObjectType.L_INTERFACE,
+                       cloudOwner, cloudRegion, tenantId, "3a4c2ca5-27b3-4ecc-98c5-06804867c4db","ssc_1_mgmt_port_1");
 
-       private AAIResourceUri ssc_1_service2_port_0_uri = AAIUriFactory.createResourceUri(AAIObjectPlurals.L_INTERFACE,
-                       cloudOwner, cloudRegion, tenantId, "3a4c2ca5-27b3-4ecc-98c5-06804867c4db").queryParam("interface-id", "13eddf95-4cf3-45f2-823a-2d890a6549b4");
+       private AAIResourceUri ssc_1_mgmt_port_0_uri = AAIUriFactory.createResourceUri(AAIObjectType.L_INTERFACE,
+                       cloudOwner, cloudRegion, tenantId, "3a4c2ca5-27b3-4ecc-98c5-06804867c4db","ssc_1_mgmt_port_0");
 
-       private AAIResourceUri ssc_1_int_ha_port_0_uri = AAIUriFactory.createResourceUri(AAIObjectPlurals.L_INTERFACE,
-                       cloudOwner, cloudRegion, tenantId, "3a4c2ca5-27b3-4ecc-98c5-06804867c4db").queryParam("interface-id", "9cab2903-70f7-44fd-b681-491d6ae2adb8");
+       private AAIResourceUri ssc_1_service2_port_0_uri = AAIUriFactory.createResourceUri(AAIObjectType.L_INTERFACE,
+                       cloudOwner, cloudRegion, tenantId, "3a4c2ca5-27b3-4ecc-98c5-06804867c4db","ssc_1_service2_port_0");
 
-       private AAIResourceUri test_port_1_uri = AAIUriFactory.createResourceUri(AAIObjectPlurals.L_INTERFACE,
-                       cloudOwner, cloudRegion, tenantId, "3a4c2ca5-27b3-4ecc-98c5-06804867c4dz").queryParam("interface-id", "9cab2903-70f7-44fd-b681-491d6ae2adz1");
+       private AAIResourceUri ssc_1_int_ha_port_0_uri = AAIUriFactory.createResourceUri(AAIObjectType.L_INTERFACE,
+                       cloudOwner, cloudRegion, tenantId, "3a4c2ca5-27b3-4ecc-98c5-06804867c4db","ssc_1_int_ha_port_0");
 
+       private AAIResourceUri test_port_1_uri = AAIUriFactory.createResourceUri(AAIObjectType.L_INTERFACE,
+                       cloudOwner, cloudRegion, tenantId, "3a4c2ca5-27b3-4ecc-98c5-06804867c4dz","test_port_1");
 
-       private AAIResourceUri test_port_2_uri = AAIUriFactory.createResourceUri(AAIObjectPlurals.L_INTERFACE,
-                       cloudOwner, cloudRegion, tenantId, "3a4c2ca5-27b3-4ecc-98c5-06804867c4dz").queryParam("interface-id", "9cab2903-70f7-44fd-b681-491d6ae2adz2");
-
-       
+       private AAIResourceUri test_port_2_uri = AAIUriFactory.createResourceUri(AAIObjectType.L_INTERFACE,
+                       cloudOwner, cloudRegion, tenantId, "3a4c2ca5-27b3-4ecc-98c5-06804867c4dz","test_port_2");       
        
-       private AAIResourceUri service2_sub_1_uri = AAIUriFactory.createResourceUri(AAIObjectPlurals.SUB_L_INTERFACE,
-                       cloudOwner, cloudRegion, tenantId, "3a4c2ca5-27b3-4ecc-98c5-06804867c4db","interface-name").queryParam("interface-id", "f711be16-2654-4a09-b89d-0511fda20e81");
+       private AAIResourceUri service2_sub_1_uri = AAIUriFactory.createResourceUri(AAIObjectType.SUB_L_INTERFACE,
+                       cloudOwner, cloudRegion, tenantId, "3a4c2ca5-27b3-4ecc-98c5-06804867c4db","ssc_1_service2_port_0","service2_sub_interface_1");
 
-       private AAIResourceUri service1_sub_0_uri = AAIUriFactory.createResourceUri(AAIObjectPlurals.SUB_L_INTERFACE,
-                       cloudOwner, cloudRegion, tenantId, "3a4c2ca5-27b3-4ecc-98c5-06804867c4db","interface-name").queryParam("interface-id", "0d9cd813-2ae1-46c0-9ebb-48081f6cffbb");
+       private AAIResourceUri service1_sub_0_uri = AAIUriFactory.createResourceUri(AAIObjectType.SUB_L_INTERFACE,
+                       cloudOwner, cloudRegion, tenantId, "3a4c2ca5-27b3-4ecc-98c5-06804867c4db","ssc_1_service1_port_0","service1_sub_interface_1");
 
-       private AAIResourceUri service1_sub_1_uri = AAIUriFactory.createResourceUri(AAIObjectPlurals.SUB_L_INTERFACE,
-                       cloudOwner, cloudRegion, tenantId, "3a4c2ca5-27b3-4ecc-98c5-06804867c4db","interface-name").queryParam("interface-id", "b7019dd0-2ee9-4447-bdef-ac25676b205a");
+       private AAIResourceUri service1_sub_1_uri = AAIUriFactory.createResourceUri(AAIObjectType.SUB_L_INTERFACE,
+                       cloudOwner, cloudRegion, tenantId, "3a4c2ca5-27b3-4ecc-98c5-06804867c4db","ssc_1_service1_port_0","service1_sub_interface_2");
 
        
 
-       private Set<Vserver> vserversToAudit = new HashSet<>();
        
+       private Set<Vserver> vserversToAudit = new HashSet<>();
        
        LInterface test_port_1 = new LInterface();
        LInterface test_port_2 = new LInterface();
@@ -126,22 +129,12 @@ public class AuditVServerTest extends AuditVServer {
        LInterface service1_sub_interface_1 = new LInterface();
        LInterface ssc_1_service1_port_0 = new LInterface();
        LInterface ssc_1_trusted_port_0 = new LInterface();
-       
-       LInterfaces test_port_1_plural = new LInterfaces();     
-       LInterfaces test_port_2_plural = new LInterfaces();
-       LInterfaces ssc_1_int_ha_port_0_plural = new LInterfaces();
-       LInterfaces service2_sub_interface_1_plural = new LInterfaces();
-       LInterfaces ssc_1_service2_port_0_plural = new LInterfaces();
-       LInterfaces ssc_1_mgmt_port_0_plural = new LInterfaces();
-       LInterfaces ssc_1_mgmt_port_1_plural = new LInterfaces();
-       LInterfaces service1_sub_interface_2_plural = new LInterfaces();
-       LInterfaces service1_sub_interface_1_plural = new LInterfaces();
-       LInterfaces ssc_1_service1_port_0_plural = new LInterfaces();
-       LInterfaces ssc_1_trusted_port_0_plural = new LInterfaces();
+
        
        
        @Before
        public void setup() {
+               objectMapper.setSerializationInclusion(Include.NON_NULL);
                auditNova.setAaiClient(aaiResourcesMock);
 
                Vserver vServer1= new Vserver();
@@ -150,109 +143,97 @@ public class AuditVServerTest extends AuditVServer {
                vServer1.setLInterfaces(vServer1Linterfaces);
                
                ssc_1_trusted_port_0.setInterfaceId("dec8bdc7-5718-41dc-bfbb-561ff6eeb81c");
-               ssc_1_trusted_port_0.setInterfaceName("interface-name");
+               ssc_1_trusted_port_0.setInterfaceName("ssc_1_trusted_port_0");
                vServer1.getLInterfaces().getLInterface().add(ssc_1_trusted_port_0);
                
                
                ssc_1_service1_port_0.setInterfaceId("1c56a24b-5f03-435a-850d-31cd4252de56");
-               ssc_1_service1_port_0.setInterfaceName("interface-name");
+               ssc_1_service1_port_0.setInterfaceName("ssc_1_service1_port_0");
                vServer1.getLInterfaces().getLInterface().add(ssc_1_service1_port_0);
                ssc_1_service1_port_0.setLInterfaces(new LInterfaces());        
                
                
                service1_sub_interface_1.setInterfaceId("0d9cd813-2ae1-46c0-9ebb-48081f6cffbb");
+               service1_sub_interface_1.setInterfaceName("service1_sub_interface_1");
                ssc_1_service1_port_0.getLInterfaces().getLInterface().add(service1_sub_interface_1);
                
                
                service1_sub_interface_2.setInterfaceId("b7019dd0-2ee9-4447-bdef-ac25676b205a");
+               service1_sub_interface_2.setInterfaceName("service1_sub_interface_2");
                ssc_1_service1_port_0.getLInterfaces().getLInterface().add(service1_sub_interface_2);
                
                
                ssc_1_mgmt_port_1.setInterfaceId("12afcd28-929f-4d80-8a5a-0833bfd5e20b");
-               ssc_1_mgmt_port_1.setInterfaceName("interface-name");
+               ssc_1_mgmt_port_1.setInterfaceName("ssc_1_mgmt_port_1");
                vServer1.getLInterfaces().getLInterface().add(ssc_1_mgmt_port_1);
 
                ssc_1_mgmt_port_0.setInterfaceId("80baec42-ffae-425f-ad8c-3f7b2c24bfff");
-               ssc_1_mgmt_port_0.setInterfaceName("interface-name");
+               ssc_1_mgmt_port_0.setInterfaceName("ssc_1_mgmt_port_0");
                vServer1.getLInterfaces().getLInterface().add(ssc_1_mgmt_port_0);
                
        
                ssc_1_service2_port_0.setLInterfaces(new LInterfaces());
                ssc_1_service2_port_0.setInterfaceId("13eddf95-4cf3-45f2-823a-2d890a6549b4");
-               ssc_1_service2_port_0.setInterfaceName("interface-name");
+               ssc_1_service2_port_0.setInterfaceName("ssc_1_service2_port_0");
                vServer1.getLInterfaces().getLInterface().add(ssc_1_service2_port_0);
                
 
-               service2_sub_interface_1.setInterfaceId("f711be16-2654-4a09-b89d-0511fda20e81");        
+               service2_sub_interface_1.setInterfaceId("f711be16-2654-4a09-b89d-0511fda20e81");
+               service2_sub_interface_1.setInterfaceName("service2_sub_interface_1");
                ssc_1_service2_port_0.getLInterfaces().getLInterface().add(service2_sub_interface_1);
                
 
                ssc_1_int_ha_port_0.setInterfaceId("9cab2903-70f7-44fd-b681-491d6ae2adb8");     
+               ssc_1_int_ha_port_0.setInterfaceName("ssc_1_int_ha_port_0");
                vServer1.getLInterfaces().getLInterface().add(ssc_1_int_ha_port_0);
                
-               
                Vserver vServer2= new Vserver();
                vServer2.setVserverId("3a4c2ca5-27b3-4ecc-98c5-06804867c4dz");
                LInterfaces vServer2Linterfaces = new LInterfaces();
                vServer2.setLInterfaces(vServer2Linterfaces);
        
                test_port_1.setInterfaceId("9cab2903-70f7-44fd-b681-491d6ae2adz1");
-               test_port_1.setInterfaceName("interface-name");
+               test_port_1.setInterfaceName("test_port_1");
                
 
                test_port_2.setInterfaceId("9cab2903-70f7-44fd-b681-491d6ae2adz2");
-               test_port_2.setInterfaceName("interface-name");
+               test_port_2.setInterfaceName("test_port_2");
                
                vServer2.getLInterfaces().getLInterface().add(test_port_1);
                vServer2.getLInterfaces().getLInterface().add(test_port_2);
                
                vserversToAudit.add(vServer1);
                vserversToAudit.add(vServer2);
-               
-               
-               test_port_1_plural.getLInterface().add(test_port_1);
-               test_port_2_plural.getLInterface().add(test_port_2);
-               ssc_1_int_ha_port_0_plural.getLInterface().add(ssc_1_int_ha_port_0);
-               ssc_1_service2_port_0_plural.getLInterface().add(ssc_1_service2_port_0);
-               ssc_1_mgmt_port_0_plural.getLInterface().add(ssc_1_mgmt_port_0);
-               ssc_1_mgmt_port_1_plural.getLInterface().add(ssc_1_mgmt_port_1);
-               ssc_1_service1_port_0_plural.getLInterface().add(ssc_1_service1_port_0);
-               ssc_1_trusted_port_0_plural.getLInterface().add(ssc_1_trusted_port_0);
-
        } 
        
        @Test
        public void audit_Vserver_Empty_HashSet() throws JsonParseException, JsonMappingException, IOException {
-               boolean exists = auditNova.auditAllVserversDoExist(new HashSet<Vserver>(), tenantId, cloudOwner, cloudRegion);
-               assertEquals(false, exists);
-               
-               boolean doNotExist = auditNova.auditAllVserversDoNotExist(new HashSet<Vserver>(), tenantId, cloudOwner, cloudRegion);
-               assertEquals(true, doNotExist);
+               Optional<AAIObjectAuditList> actual = auditNova.auditVservers(new HashSet<Vserver>(), tenantId, cloudOwner, cloudRegion);               
+               assertEquals(Optional.empty(), actual);
        }
-       
 
        @Test
        public void audit_Vserver_Found_Test() throws JsonParseException, JsonMappingException, IOException {
                doReturn(true).when(aaiResourcesMock).exists(vserverURI);
                doReturn(true).when(aaiResourcesMock).exists(vserverURI2);
-               doReturn(Optional.of(ssc_1_trusted_port_0_plural)).when(aaiResourcesMock).get(LInterfaces.class,ssc_1_trusted_port_0_uri);
-               doReturn(Optional.of(ssc_1_service1_port_0_plural)).when(aaiResourcesMock).get(LInterfaces.class,ssc_1_service1_port_0_uri);
-               doReturn(Optional.of(ssc_1_mgmt_port_1_plural)).when(aaiResourcesMock).get(LInterfaces.class,ssc_1_mgmt_port_1_uri);
-               doReturn(Optional.of(ssc_1_mgmt_port_0_plural)).when(aaiResourcesMock).get(LInterfaces.class,ssc_1_mgmt_port_0_uri);
-               doReturn(Optional.of(ssc_1_service2_port_0_plural)).when(aaiResourcesMock).get(LInterfaces.class,ssc_1_service2_port_0_uri);
-               doReturn(Optional.of(ssc_1_int_ha_port_0_plural)).when(aaiResourcesMock).get(LInterfaces.class,ssc_1_int_ha_port_0_uri);
-               doReturn(Optional.of(test_port_1_plural)).when(aaiResourcesMock).get(LInterfaces.class,test_port_1_uri);
-               doReturn(Optional.of(test_port_2_plural)).when(aaiResourcesMock).get(LInterfaces.class,test_port_2_uri);
+               doReturn(Optional.of(ssc_1_trusted_port_0)).when(aaiResourcesMock).get(LInterface.class,ssc_1_trusted_port_0_uri);
+               doReturn(Optional.of(ssc_1_service1_port_0)).when(aaiResourcesMock).get(LInterface.class,ssc_1_service1_port_0_uri);
+               doReturn(Optional.of(ssc_1_mgmt_port_1)).when(aaiResourcesMock).get(LInterface.class,ssc_1_mgmt_port_1_uri);
+               doReturn(Optional.of(ssc_1_mgmt_port_0)).when(aaiResourcesMock).get(LInterface.class,ssc_1_mgmt_port_0_uri);
+               doReturn(Optional.of(ssc_1_service2_port_0)).when(aaiResourcesMock).get(LInterface.class,ssc_1_service2_port_0_uri);
+               doReturn(Optional.of(service2_sub_interface_1)).when(aaiResourcesMock).get(LInterface.class,service1_sub_1_uri);
+               doReturn(Optional.of(ssc_1_int_ha_port_0)).when(aaiResourcesMock).get(LInterface.class,ssc_1_int_ha_port_0_uri);
+               doReturn(Optional.of(test_port_1)).when(aaiResourcesMock).get(LInterface.class,test_port_1_uri);
+               doReturn(Optional.of(test_port_2)).when(aaiResourcesMock).get(LInterface.class,test_port_2_uri);
                
                doReturn(true).when(aaiResourcesMock).exists(service2_sub_1_uri);
                doReturn(true).when(aaiResourcesMock).exists(service1_sub_0_uri);
                doReturn(true).when(aaiResourcesMock).exists(service1_sub_1_uri);
 
-               boolean exists = auditNova.auditAllVserversDoExist(vserversToAudit, tenantId, cloudOwner, cloudRegion);         
-               assertEquals(true, exists);
-               
-               boolean doNotExist = auditNova.auditAllVserversDoNotExist(vserversToAudit, tenantId, cloudOwner, cloudRegion);          
-               assertEquals(false, doNotExist);
+               Optional<AAIObjectAuditList> actual = auditNova.auditVservers(vserversToAudit, tenantId, cloudOwner, cloudRegion);
+               String actualString = objectMapper.writeValueAsString(actual.get());
+               String expected = getJson("ExpectedVServerFound.json"); 
+               JSONAssert.assertEquals(expected,actualString, false);
        }
 
        @Test
@@ -260,24 +241,23 @@ public class AuditVServerTest extends AuditVServer {
                        throws JsonParseException, JsonMappingException, IOException {
                doReturn(true).when(aaiResourcesMock).exists(vserverURI);
                doReturn(true).when(aaiResourcesMock).exists(vserverURI2);
-               doReturn(Optional.of(ssc_1_trusted_port_0_plural)).when(aaiResourcesMock).get(LInterfaces.class,ssc_1_trusted_port_0_uri);
-               doReturn(Optional.of(ssc_1_service1_port_0_plural)).when(aaiResourcesMock).get(LInterfaces.class,ssc_1_service1_port_0_uri);
-               doReturn(Optional.of(ssc_1_mgmt_port_1_plural)).when(aaiResourcesMock).get(LInterfaces.class,ssc_1_mgmt_port_1_uri);
-               doReturn(Optional.empty()).when(aaiResourcesMock).get(LInterfaces.class,ssc_1_mgmt_port_0_uri);
-               doReturn(Optional.of(ssc_1_service2_port_0_plural)).when(aaiResourcesMock).get(LInterfaces.class,ssc_1_service2_port_0_uri);
-               doReturn(Optional.of(ssc_1_int_ha_port_0_plural)).when(aaiResourcesMock).get(LInterfaces.class,ssc_1_int_ha_port_0_uri);
-               doReturn(Optional.of(test_port_1_plural)).when(aaiResourcesMock).get(LInterfaces.class,test_port_1_uri);
-               doReturn(Optional.of(test_port_2_plural)).when(aaiResourcesMock).get(LInterfaces.class,test_port_2_uri);
+               doReturn(Optional.of(ssc_1_trusted_port_0)).when(aaiResourcesMock).get(LInterface.class,ssc_1_trusted_port_0_uri);
+               doReturn(Optional.of(ssc_1_service1_port_0)).when(aaiResourcesMock).get(LInterface.class,ssc_1_service1_port_0_uri);
+               doReturn(Optional.of(ssc_1_mgmt_port_1)).when(aaiResourcesMock).get(LInterface.class,ssc_1_mgmt_port_1_uri);
+               doReturn(Optional.empty()).when(aaiResourcesMock).get(LInterface.class,ssc_1_mgmt_port_0_uri);
+               doReturn(Optional.of(ssc_1_service2_port_0)).when(aaiResourcesMock).get(LInterface.class,ssc_1_service2_port_0_uri);
+               doReturn(Optional.of(ssc_1_int_ha_port_0)).when(aaiResourcesMock).get(LInterface.class,ssc_1_int_ha_port_0_uri);
+               doReturn(Optional.of(test_port_1)).when(aaiResourcesMock).get(LInterface.class,test_port_1_uri);
+               doReturn(Optional.of(test_port_2)).when(aaiResourcesMock).get(LInterface.class,test_port_2_uri);
                
                doReturn(true).when(aaiResourcesMock).exists(service2_sub_1_uri);
                doReturn(true).when(aaiResourcesMock).exists(service1_sub_0_uri);
                doReturn(true).when(aaiResourcesMock).exists(service1_sub_1_uri);
 
-               boolean exists = auditNova.auditAllVserversDoExist(vserversToAudit, tenantId, cloudOwner, cloudRegion);         
-               assertEquals(false, exists);
-               
-               boolean doNotExist = auditNova.auditAllVserversDoNotExist(vserversToAudit, tenantId, cloudOwner, cloudRegion);          
-               assertEquals(false, doNotExist);
+               Optional<AAIObjectAuditList> actual = auditNova.auditVservers(vserversToAudit, tenantId, cloudOwner, cloudRegion);
+               String actualString = objectMapper.writeValueAsString(actual.get());
+               String expected = getJson("VServer_Found_network_Not_Found.json");
+               JSONAssert.assertEquals(expected,actualString, false);
        }
 
        @Test
@@ -285,70 +265,81 @@ public class AuditVServerTest extends AuditVServer {
                        throws JsonParseException, JsonMappingException, IOException {
                doReturn(true).when(aaiResourcesMock).exists(vserverURI);
                doReturn(true).when(aaiResourcesMock).exists(vserverURI2);
-               doReturn(Optional.of(ssc_1_trusted_port_0_plural)).when(aaiResourcesMock).get(LInterface.class,ssc_1_trusted_port_0_uri);
-               doReturn(Optional.of(ssc_1_service1_port_0_plural)).when(aaiResourcesMock).get(LInterface.class,ssc_1_service1_port_0_uri);
-               doReturn(Optional.of(ssc_1_mgmt_port_1_plural)).when(aaiResourcesMock).get(LInterface.class,ssc_1_mgmt_port_1_uri);
-               doReturn(Optional.of(ssc_1_mgmt_port_0_plural)).when(aaiResourcesMock).get(LInterface.class,ssc_1_mgmt_port_0_uri);
-               doReturn(Optional.of(ssc_1_service2_port_0_plural)).when(aaiResourcesMock).get(LInterface.class,ssc_1_service2_port_0_uri);
-               doReturn(Optional.of(ssc_1_int_ha_port_0_plural)).when(aaiResourcesMock).get(LInterface.class,ssc_1_int_ha_port_0_uri);
-               doReturn(Optional.of(test_port_1_plural)).when(aaiResourcesMock).get(LInterface.class,test_port_1_uri);
+               doReturn(Optional.of(ssc_1_trusted_port_0)).when(aaiResourcesMock).get(LInterface.class,ssc_1_trusted_port_0_uri);
+               doReturn(Optional.of(ssc_1_service1_port_0)).when(aaiResourcesMock).get(LInterface.class,ssc_1_service1_port_0_uri);
+               doReturn(Optional.of(ssc_1_mgmt_port_1)).when(aaiResourcesMock).get(LInterface.class,ssc_1_mgmt_port_1_uri);
+               doReturn(Optional.of(ssc_1_mgmt_port_0)).when(aaiResourcesMock).get(LInterface.class,ssc_1_mgmt_port_0_uri);
+               doReturn(Optional.of(ssc_1_service2_port_0)).when(aaiResourcesMock).get(LInterface.class,ssc_1_service2_port_0_uri);
+               doReturn(Optional.of(ssc_1_int_ha_port_0)).when(aaiResourcesMock).get(LInterface.class,ssc_1_int_ha_port_0_uri);
+               doReturn(Optional.of(test_port_1)).when(aaiResourcesMock).get(LInterface.class,test_port_1_uri);
                doReturn(Optional.empty()).when(aaiResourcesMock).get(LInterface.class,test_port_2_uri);                
                doReturn(true).when(aaiResourcesMock).exists(service2_sub_1_uri);
                doReturn(true).when(aaiResourcesMock).exists(service1_sub_0_uri);
                doReturn(true).when(aaiResourcesMock).exists(service1_sub_1_uri);
-               boolean exists = auditNova.auditAllVserversDoExist(vserversToAudit, tenantId, cloudOwner, cloudRegion);
-               assertEquals(false, exists);
-               
-               boolean doNotExist = auditNova.auditAllVserversDoNotExist(vserversToAudit, tenantId, cloudOwner, cloudRegion);          
-               assertEquals(false, doNotExist);
+               Optional<AAIObjectAuditList> actual = auditNova.auditVservers(vserversToAudit, tenantId, cloudOwner, cloudRegion);
+               String actualString = objectMapper.writeValueAsString(actual.get());
+               String expected = getJson("VServer_Found_Network_Sec_Server_Not_Found.json");   
+               JSONAssert.assertEquals(expected,actualString, false);
        }
 
        @Test
-       public void audit_Vservers_Not_Found_Test() throws JsonParseException, JsonMappingException, IOException {
+       public void audit_Vserver_Not_Found_Test() throws JsonParseException, JsonMappingException, IOException {
                doReturn(false).when(aaiResourcesMock).exists(vserverURI);
                doReturn(false).when(aaiResourcesMock).exists(vserverURI2);
-               
-               boolean exists = auditNova.auditAllVserversDoExist(vserversToAudit, tenantId, cloudOwner, cloudRegion);         
-               assertEquals(false, exists);
-               
-               boolean doNotExist = auditNova.auditAllVserversDoNotExist(vserversToAudit, tenantId, cloudOwner, cloudRegion);          
-               assertEquals(true, doNotExist);
+               Optional<AAIObjectAuditList> actual = auditNova.auditVservers(vserversToAudit, tenantId, cloudOwner, cloudRegion);
+               String actualString = objectMapper.writeValueAsString(actual.get());
+               String expected = getJson("Vservers_Not_Found.json");
+               JSONAssert.assertEquals(expected,actualString, false);
        }
 
        @Test
        public void audit_Vserver_first_Not_Found_Test() throws JsonParseException, JsonMappingException, IOException {
                doReturn(false).when(aaiResourcesMock).exists(vserverURI);
                doReturn(true).when(aaiResourcesMock).exists(vserverURI2);
-               doReturn(Optional.of(test_port_1_plural)).when(aaiResourcesMock).get(LInterface.class,test_port_1_uri);
-               doReturn(Optional.of(test_port_2_plural)).when(aaiResourcesMock).get(LInterface.class,test_port_2_uri);
-               boolean exists = auditNova.auditAllVserversDoExist(vserversToAudit, tenantId, cloudOwner, cloudRegion);         
-               assertEquals(false, exists);
+               doReturn(Optional.of(test_port_1)).when(aaiResourcesMock).get(LInterface.class,test_port_1_uri);
+               doReturn(Optional.of(test_port_2)).when(aaiResourcesMock).get(LInterface.class,test_port_2_uri);
+               Optional<AAIObjectAuditList> actual = auditNova.auditVservers(vserversToAudit, tenantId, cloudOwner, cloudRegion);
+               String actualString = objectMapper.writeValueAsString(actual.get());
+               String expected = getJson("Vserver2_Found_VServer1_Not_Found.json");
+               JSONAssert.assertEquals(expected,actualString, false);
+       }
+       
+       
+       @Test
+       public void doesSubInterfaceExistinAAI_Test(){
+               AAIResourceUri subInterfaceURI = AAIUriFactory.createResourceUri(AAIObjectType.SUB_L_INTERFACE, cloudOwner,
+                               cloudRegion, tenantId, "vserverId", "l-interface", "sub-interface");
                
-               boolean doNotExist = auditNova.auditAllVserversDoNotExist(vserversToAudit, tenantId, cloudOwner, cloudRegion);          
-               assertEquals(false, doNotExist);
+               assertEquals("/cloud-infrastructure/cloud-regions/cloud-region/cloudOwner/cloudRegion/tenants/tenant/tenantId/vservers/vserver/vserverId/l-interfaces/l-interface/l-interface/l-interfaces/l-interface/sub-interface",subInterfaceURI.build().toString());
        }
 
        @Test
        public void audit_Vserver_Second_Not_Found_Test() throws JsonParseException, JsonMappingException, IOException {
                doReturn(true).when(aaiResourcesMock).exists(vserverURI);
-               doReturn(Optional.of(ssc_1_trusted_port_0_plural)).when(aaiResourcesMock).get(LInterface.class,ssc_1_trusted_port_0_uri);
-               doReturn(Optional.of(ssc_1_service1_port_0_plural)).when(aaiResourcesMock).get(LInterface.class,ssc_1_service1_port_0_uri);
-               doReturn(Optional.of(ssc_1_mgmt_port_1_plural)).when(aaiResourcesMock).get(LInterface.class,ssc_1_mgmt_port_1_uri);
-               doReturn(Optional.of(ssc_1_mgmt_port_0_plural)).when(aaiResourcesMock).get(LInterface.class,ssc_1_mgmt_port_0_uri);
-               doReturn(Optional.of(ssc_1_service2_port_0_plural)).when(aaiResourcesMock).get(LInterface.class,ssc_1_service2_port_0_uri);
-               doReturn(Optional.of(ssc_1_int_ha_port_0_plural)).when(aaiResourcesMock).get(LInterface.class,ssc_1_int_ha_port_0_uri);
-               doReturn(Optional.of(test_port_1_plural)).when(aaiResourcesMock).get(LInterface.class,test_port_1_uri);
-               doReturn(Optional.of(test_port_2_plural)).when(aaiResourcesMock).get(LInterface.class,test_port_2_uri);
+               doReturn(Optional.of(ssc_1_trusted_port_0)).when(aaiResourcesMock).get(LInterface.class,ssc_1_trusted_port_0_uri);
+               doReturn(Optional.of(ssc_1_service1_port_0)).when(aaiResourcesMock).get(LInterface.class,ssc_1_service1_port_0_uri);
+               doReturn(Optional.of(ssc_1_mgmt_port_1)).when(aaiResourcesMock).get(LInterface.class,ssc_1_mgmt_port_1_uri);
+               doReturn(Optional.of(ssc_1_mgmt_port_0)).when(aaiResourcesMock).get(LInterface.class,ssc_1_mgmt_port_0_uri);
+               doReturn(Optional.of(ssc_1_service2_port_0)).when(aaiResourcesMock).get(LInterface.class,ssc_1_service2_port_0_uri);
+               doReturn(Optional.of(ssc_1_int_ha_port_0)).when(aaiResourcesMock).get(LInterface.class,ssc_1_int_ha_port_0_uri);
+               doReturn(Optional.empty()).when(aaiResourcesMock).get(LInterface.class,test_port_1_uri);
+               doReturn(Optional.empty()).when(aaiResourcesMock).get(LInterface.class,test_port_2_uri);
                doReturn(true).when(aaiResourcesMock).exists(service2_sub_1_uri);
                doReturn(true).when(aaiResourcesMock).exists(service1_sub_0_uri);
                doReturn(true).when(aaiResourcesMock).exists(service1_sub_1_uri);
-               doReturn(false).when(aaiResourcesMock).exists(vserverURI2);
                
-               boolean exists = auditNova.auditAllVserversDoExist(vserversToAudit, tenantId, cloudOwner, cloudRegion);
-               assertEquals(false, exists);
-               
-               boolean doNotExist = auditNova.auditAllVserversDoNotExist(vserversToAudit, tenantId, cloudOwner, cloudRegion);          
-               assertEquals(false, doNotExist);
+               doReturn(false).when(aaiResourcesMock).exists(vserverURI2);
+               Optional<AAIObjectAuditList> actual = auditNova.auditVservers(vserversToAudit, tenantId, cloudOwner, cloudRegion);
+               String actualString = objectMapper.writeValueAsString(actual.get());
+               String expected = getJson("VServer_Found_Sec_Server_Not_Found2.json");
+
+               JSONAssert.assertEquals(expected,actualString, false);
        }
+       
+       private String getJson(String filename) throws IOException {
+                return new String(Files.readAllBytes(Paths.get("src/test/resources/" + filename)));
+       }
+
+
 
 }