add JUnit for NetworkInfo 19/28419/3
authorLukasz Muszkieta <lukasz.muszkieta@nokia.com>
Wed, 17 Jan 2018 13:47:00 +0000 (14:47 +0100)
committerLukasz Muszkieta <lukasz.muszkieta@nokia.com>
Fri, 19 Jan 2018 14:02:02 +0000 (15:02 +0100)
Change-Id: I08210bc29f4f6c2f90723b57e30d48c60a81e3bb
Issue-ID: SO-360
Signed-off-by: Lukasz Muszkieta <lukasz.muszkieta@nokia.com>
adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/openstack/beans/HeatStatus.java
adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/openstack/beans/NetworkInfo.java
adapters/mso-adapter-utils/src/test/java/org/openecomp/mso/adapter_utils/tests/AdapterBeansTest.java
adapters/mso-adapter-utils/src/test/java/org/openecomp/mso/openstack/beans/NetworkInfoTest.java [new file with mode: 0644]
adapters/mso-adapters-rest-interface/pom.xml
adapters/pom.xml

index 9f2c275..2cda8f9 100644 (file)
@@ -20,8 +20,6 @@
 
 package org.openecomp.mso.openstack.beans;
 
-
-
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
@@ -35,7 +33,6 @@ import com.woorea.openstack.quantum.model.Segment;
  *
  * This bean is returned by all Network-specific adapter operations (create, query, delete)
  */
-
 public class NetworkInfo {
        // Set defaults for everything
        private String name = "";
@@ -44,7 +41,6 @@ public class NetworkInfo {
        private String provider = "";
        private List<Integer> vlans = new ArrayList<>();
        private List<String> subnets = new ArrayList<>();
-       private String shared = "";
 
        static Map<String,NetworkStatus> NetworkStatusMap;
        static {
@@ -55,15 +51,6 @@ public class NetworkInfo {
                NetworkStatusMap.put("ERROR", NetworkStatus.ERROR);
        }
 
-       public NetworkInfo () {
-       }
-
-       public NetworkInfo (String name, NetworkStatus status) {
-               this.name = name;
-               this.id = name; // Don't have an ID, so just use name
-               this.status = status;
-       }
-
        /**
         * Capture the data from a Neutron Network object.
         *
@@ -75,41 +62,35 @@ public class NetworkInfo {
         *
         * @param network
         */
-       public NetworkInfo (Network network)
-       {
-               if (network == null) {
-                       this.status = NetworkStatus.NOTFOUND;
-                       return;
+       public NetworkInfo(Network network) {
+               if (network != null) {
+                       initFieldsWithDataFromNetwork(network);
+               } else {
+                       status = NetworkStatus.NOTFOUND;
                }
+       }
 
-               this.name = network.getName();
-               this.id = network.getId();
+       private void initFieldsWithDataFromNetwork(Network network){
+               name = network.getName();
+               id = network.getId();
 
-               if (network.getStatus() == null) {
-                       // Can this happen on a newly created network?
-                       this.status = NetworkStatus.UNKNOWN;
-               } else if (NetworkStatusMap.containsKey(network.getStatus())) {
-                       this.status = NetworkStatusMap.get(network.getStatus());
-               } else {
-                       this.status = NetworkStatus.UNKNOWN;
+               if (network.getStatus() != null && NetworkStatusMap.containsKey(network.getStatus())) {
+                       status = NetworkStatusMap.get(network.getStatus());
                }
-
                if (network.getProviderPhysicalNetwork() != null) {
-                       this.provider = network.getProviderPhysicalNetwork();
+                       provider = network.getProviderPhysicalNetwork();
                        if ("vlan".equals(network.getProviderNetworkType())) {
-                this.vlans.add(network.getProviderSegmentationId());
+                vlans.add(network.getProviderSegmentationId());
             }
                }
                else if (network.getSegments() != null && !network.getSegments().isEmpty()) {
                        Segment s = network.getSegments().get(0);
-                       this.provider = s.getProviderPhysicalNetwork();
+                       provider = s.getProviderPhysicalNetwork();
                        if ("vlan".equals(s.getProviderNetworkType())) {
-                for (Segment s1 : network.getSegments()) {
-                                       this.vlans.add(s1.getProviderSegmentationId());
-                               }
+                               network.getSegments().forEach(segment -> vlans.add(segment.getProviderSegmentationId()));
             }
                }
-               this.subnets = network.getSubnets();
+               subnets = network.getSubnets();
        }
 
        public String getName() {
@@ -156,22 +137,17 @@ public class NetworkInfo {
                return subnets;
        }
 
-       public void setSubnets (List<String> subnets) {
-               this.subnets = subnets;
-       }
-
-       public String getShared() {
-               return shared;
-       }
-
-       public void setShared(String shared) {
-               this.shared = shared;
-       }
-
        @Override
-    public String toString () {
-               return "Network: name=" + name + ",id=" + id + ",status=" + status +
-                               ",provider=" + provider + ",vlans=" + vlans + ",subnets=" + subnets + ",shared=" + shared;
+       public String toString() {
+               final StringBuilder sb = new StringBuilder("NetworkInfo{");
+               sb.append("name='").append(name).append('\'');
+               sb.append(", id='").append(id).append('\'');
+               sb.append(", status=").append(status);
+               sb.append(", provider='").append(provider).append('\'');
+               sb.append(", vlans=").append(vlans);
+               sb.append(", subnets=").append(subnets);
+               sb.append('}');
+               return sb.toString();
        }
 }
 
index f231c75..6bd7815 100644 (file)
@@ -22,25 +22,21 @@ package org.openecomp.mso.adapter_utils.tests;
 \r
 import static org.junit.Assert.assertTrue;\r
 \r
+import com.woorea.openstack.heat.model.Stack;\r
 import java.util.ArrayList;\r
 import java.util.HashMap;\r
 import java.util.List;\r
 import java.util.Map;\r
-\r
 import org.junit.Test;\r
 import org.openecomp.mso.entity.MsoRequest;\r
 import org.openecomp.mso.openstack.beans.HeatStatus;\r
 import org.openecomp.mso.openstack.beans.MsoTenant;\r
-import org.openecomp.mso.openstack.beans.NetworkInfo;\r
 import org.openecomp.mso.openstack.beans.NetworkRollback;\r
-import org.openecomp.mso.openstack.beans.NetworkStatus;\r
 import org.openecomp.mso.openstack.beans.Pool;\r
 import org.openecomp.mso.openstack.beans.StackInfo;\r
 import org.openecomp.mso.openstack.beans.Subnet;\r
 import org.openecomp.mso.openstack.beans.VnfRollback;\r
 \r
-import com.woorea.openstack.heat.model.Stack;\r
-\r
 public class AdapterBeansTest {\r
        @Test\r
        public final void msoTenantTest() {\r
@@ -57,33 +53,6 @@ public class AdapterBeansTest {
                // assertTrue(tenant.toString() != null);\r
        }\r
 \r
-       @Test\r
-       public final void networkInfoTest() {\r
-               NetworkInfo networkInfo = new NetworkInfo();\r
-               networkInfo.setName("name");\r
-               assertTrue(networkInfo.getName().equalsIgnoreCase("name"));\r
-               networkInfo.setId("1");\r
-               assertTrue(networkInfo.getId().equalsIgnoreCase("1"));\r
-               networkInfo.setStatus(NetworkStatus.ACTIVE);\r
-               assertTrue(networkInfo.getStatus().equals(NetworkStatus.ACTIVE));\r
-               networkInfo.setProvider("provider");\r
-               networkInfo.getProvider().equalsIgnoreCase("provider");\r
-               List<Integer> al = new ArrayList<>();\r
-               al.add(1);\r
-               al.add(2);\r
-               networkInfo.setVlans(al);\r
-               assertTrue(networkInfo.getVlans() != null);\r
-               networkInfo.setShared("shared");\r
-               assertTrue(networkInfo.getShared().equalsIgnoreCase("shared"));\r
-               List<String> als = new ArrayList<>();\r
-               als.add("1");\r
-               als.add("2");\r
-               networkInfo.setSubnets(als);\r
-               assertTrue(networkInfo.getSubnets() != null);\r
-               new NetworkInfo("string", NetworkStatus.ACTIVE);\r
-               assertTrue(networkInfo.toString() != null);\r
-       }\r
-\r
        @Test\r
        public final void networkRollbackTest() {\r
                NetworkRollback networkRollback = new NetworkRollback();\r
diff --git a/adapters/mso-adapter-utils/src/test/java/org/openecomp/mso/openstack/beans/NetworkInfoTest.java b/adapters/mso-adapter-utils/src/test/java/org/openecomp/mso/openstack/beans/NetworkInfoTest.java
new file mode 100644 (file)
index 0000000..0f357e5
--- /dev/null
@@ -0,0 +1,158 @@
+/*-
+ * ============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.openstack.beans;
+
+import static org.assertj.core.api.Assertions.assertThat;
+
+import com.woorea.openstack.quantum.model.Network;
+import com.woorea.openstack.quantum.model.Segment;
+import java.util.ArrayList;
+import java.util.List;
+import org.junit.Test;
+
+public class NetworkInfoTest {
+
+    private static final String NETWORK_STATUS_ACTIVE = "ACTIVE";
+    private static final String NETWORK_STATUS_ID = "networkIdTest";
+    private static final String NETWORK_STATUS_NAME = "networkNameTest";
+    private static final String SUBNET_NAME = "subnetTest";
+    private static final String PROVIDER = "providerTest";
+    private static final String PROVIDER_NETWORK_TYPE_VLAN = "vlan";
+    private static final String PROVIDER_NETWORK_TYPE_OTHER = "providerTypeTest";
+    private static final Integer PROVIDER_SEGMENTATION_ID = 777;
+    private static final String PROVIDER_FOR_SEGMENT = "providerSegmentTest";
+    private static final Integer PROVIDER_SEGMENTATION_ID_FOR_SEGMENT = 123;
+
+    @Test
+    public void networkStatusUnknownWhenIsNullInNetwork() {
+        NetworkInfo networkInfo = new NetworkInfo(prepareNetwork(null));
+        assertThat(networkInfo.getStatus()).isEqualTo(NetworkStatus.UNKNOWN);
+        checkCommonPartWhenProviderIsNotPresent(networkInfo);
+    }
+
+    @Test
+    public void networkStatusUnknownWhenNotFoundInNetworkStatusMap() {
+        NetworkInfo networkInfo = new NetworkInfo(prepareNetwork("notExistingNetworkStatus"));
+        assertThat(networkInfo.getStatus()).isEqualTo(NetworkStatus.UNKNOWN);
+        checkCommonPartWhenProviderIsNotPresent(networkInfo);
+    }
+
+    @Test
+    public void setNetworkStatusWhenNetworkStatusFoundInNetworkStatusMap() {
+        NetworkInfo networkInfo = new NetworkInfo(prepareNetwork(NETWORK_STATUS_ACTIVE));
+        assertThat(networkInfo.getStatus()).isEqualTo(NetworkStatus.ACTIVE);
+        checkCommonPartWhenProviderIsNotPresent(networkInfo);
+    }
+
+    @Test
+    public void setVLANProviderFromTheNetwork() {
+        NetworkInfo networkInfo = new NetworkInfo(prepareNetworkWithProvider(NETWORK_STATUS_ACTIVE, PROVIDER,
+                PROVIDER_NETWORK_TYPE_VLAN));
+        assertThat(networkInfo.getStatus()).isEqualTo(NetworkStatus.ACTIVE);
+        assertThat(networkInfo.getProvider()).isEqualTo(PROVIDER);
+        assertThat(networkInfo.getVlans()).hasSize(1).contains(PROVIDER_SEGMENTATION_ID);
+        checkCommonPart(networkInfo);
+    }
+
+    @Test
+    public void setOtherProviderFromTheNetwork() {
+        NetworkInfo networkInfo = new NetworkInfo(prepareNetworkWithProvider(NETWORK_STATUS_ACTIVE, PROVIDER,
+                PROVIDER_NETWORK_TYPE_OTHER));
+        assertThat(networkInfo.getStatus()).isEqualTo(NetworkStatus.ACTIVE);
+        assertThat(networkInfo.getProvider()).isEqualTo(PROVIDER);
+        assertThat(networkInfo.getVlans()).isEmpty();
+        checkCommonPart(networkInfo);
+    }
+
+    @Test
+    public void setVLANProviderFromTheNetworkSegments() {
+        NetworkInfo networkInfo = new NetworkInfo(prepareNetworkWithSegments(NETWORK_STATUS_ACTIVE,
+                prepareSegment(PROVIDER_NETWORK_TYPE_VLAN)));
+        assertThat(networkInfo.getStatus()).isEqualTo(NetworkStatus.ACTIVE);
+        assertThat(networkInfo.getProvider()).isEqualTo(PROVIDER_FOR_SEGMENT);
+        assertThat(networkInfo.getVlans()).hasSize(1).contains(PROVIDER_SEGMENTATION_ID_FOR_SEGMENT);
+        checkCommonPart(networkInfo);
+    }
+
+    @Test
+    public void setOtherProviderFromTheNetworkSegments() {
+        NetworkInfo networkInfo = new NetworkInfo(prepareNetworkWithSegments(NETWORK_STATUS_ACTIVE,
+                prepareSegment(PROVIDER_NETWORK_TYPE_OTHER)));
+        assertThat(networkInfo.getStatus()).isEqualTo(NetworkStatus.ACTIVE);
+        assertThat(networkInfo.getProvider()).isEqualTo(PROVIDER_FOR_SEGMENT);
+        assertThat(networkInfo.getVlans()).isEmpty();
+        checkCommonPart(networkInfo);
+    }
+
+    @Test
+    public void setNetworkStatusNotFoundWhenNetworkIsNull() {
+        NetworkInfo networkInfo = new NetworkInfo(null);
+        assertThat(networkInfo.getStatus()).isEqualTo(NetworkStatus.NOTFOUND);
+    }
+
+    private void checkCommonPartWhenProviderIsNotPresent(NetworkInfo networkInfo) {
+        assertThat(networkInfo.getProvider()).isEmpty();
+        assertThat(networkInfo.getVlans()).isEmpty();
+        checkCommonPart(networkInfo);
+    }
+
+    private void checkCommonPart(NetworkInfo networkInfo) {
+        assertThat(networkInfo.getId()).isEqualTo(NETWORK_STATUS_ID);
+        assertThat(networkInfo.getName()).isEqualTo(NETWORK_STATUS_NAME);
+        assertThat(networkInfo.getSubnets()).hasSize(1).contains(SUBNET_NAME);
+    }
+
+    private Network prepareNetwork(String networkStatus) {
+        Network network = new Network();
+        network.setId(NETWORK_STATUS_ID);
+        network.setName(NETWORK_STATUS_NAME);
+        network.setStatus(networkStatus);
+        List<String> subnets = new ArrayList<>();
+        subnets.add(SUBNET_NAME);
+        network.setSubnets(subnets);
+        return network;
+    }
+
+    private Network prepareNetworkWithProvider(String networkStatus, String providerPhysicalNetwork, String providerNetworkType) {
+        Network network = prepareNetwork(networkStatus);
+        network.setProviderPhysicalNetwork(providerPhysicalNetwork);
+        network.setProviderNetworkType(providerNetworkType);
+        network.setProviderSegmentationId(PROVIDER_SEGMENTATION_ID);
+        return network;
+    }
+
+    private Network prepareNetworkWithSegments(String networkStatus, Segment segment) {
+        Network network = prepareNetwork(networkStatus);
+        List<Segment> segments = new ArrayList<>();
+        segments.add(segment);
+        network.setSegments(segments);
+        return network;
+    }
+
+    private Segment prepareSegment(String providerNetworkType) {
+        Segment segment = new Segment();
+        segment.setProviderPhysicalNetwork(PROVIDER_FOR_SEGMENT);
+        segment.setProviderNetworkType(providerNetworkType);
+        segment.setProviderSegmentationId(PROVIDER_SEGMENTATION_ID_FOR_SEGMENT);
+        return segment;
+    }
+
+}
index bbf614a..f10500d 100644 (file)
                        <version>1.10.19</version>
                        <scope>test</scope>
                </dependency>
-               <dependency>
-                       <groupId>org.assertj</groupId>
-                       <artifactId>assertj-core</artifactId>
-                       <version>3.8.0</version>
-                       <scope>test</scope>
-               </dependency>
        </dependencies>
 </project>
index 80244a6..97c2506 100644 (file)
@@ -28,7 +28,6 @@
                <module>mso-workflow-message-adapter</module>
                <module>mso-vfc-adapter</module>
        </modules>
-
        <dependencies>
                <dependency>
                        <groupId>org.apache.httpcomponents</groupId>
             <groupId>org.apache.httpcomponents</groupId>
             <artifactId>httpcore</artifactId>
         </dependency>
+               <dependency>
+                       <groupId>org.assertj</groupId>
+                       <artifactId>assertj-core</artifactId>
+                       <version>3.9.0</version>
+                       <scope>test</scope>
+               </dependency>
        </dependencies>
 </project>