package org.openecomp.mso.openstack.beans;
-
/*
* Enum status values to mirror the Openstack Heat stack status values
*/
package org.openecomp.mso.openstack.beans;
-
-
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
*
* This bean is returned by all Network-specific adapter operations (create, query, delete)
*/
-
public class NetworkInfo {
// Set defaults for everything
private String name = "";
private String provider = "";
private List<Integer> vlans = new ArrayList<>();
private List<String> subnets = new ArrayList<>();
- private String shared = "";
static Map<String,NetworkStatus> NetworkStatusMap;
static {
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.
*
*
* @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() {
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();
}
}
\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
// 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
--- /dev/null
+/*-
+ * ============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;
+ }
+
+}
<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>
<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>