2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
6 * ================================================================================
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
18 * ============LICENSE_END=========================================================
21 package org.openecomp.mso.openstack.beans;
23 import static org.assertj.core.api.Assertions.assertThat;
25 import com.woorea.openstack.quantum.model.Network;
26 import com.woorea.openstack.quantum.model.Segment;
27 import java.util.ArrayList;
28 import java.util.List;
29 import org.junit.Test;
31 public class NetworkInfoTest {
33 private static final String NETWORK_STATUS_ACTIVE = "ACTIVE";
34 private static final String NETWORK_STATUS_ID = "networkIdTest";
35 private static final String NETWORK_STATUS_NAME = "networkNameTest";
36 private static final String SUBNET_NAME = "subnetTest";
37 private static final String PROVIDER = "providerTest";
38 private static final String PROVIDER_NETWORK_TYPE_VLAN = "vlan";
39 private static final String PROVIDER_NETWORK_TYPE_OTHER = "providerTypeTest";
40 private static final Integer PROVIDER_SEGMENTATION_ID = 777;
41 private static final String PROVIDER_FOR_SEGMENT = "providerSegmentTest";
42 private static final Integer PROVIDER_SEGMENTATION_ID_FOR_SEGMENT = 123;
45 public void networkStatusUnknownWhenIsNullInNetwork() {
46 NetworkInfo networkInfo = new NetworkInfo(prepareNetwork(null));
47 assertThat(networkInfo.getStatus()).isEqualTo(NetworkStatus.UNKNOWN);
48 checkCommonPartWhenProviderIsNotPresent(networkInfo);
52 public void networkStatusUnknownWhenNotFoundInNetworkStatusMap() {
53 NetworkInfo networkInfo = new NetworkInfo(prepareNetwork("notExistingNetworkStatus"));
54 assertThat(networkInfo.getStatus()).isEqualTo(NetworkStatus.UNKNOWN);
55 checkCommonPartWhenProviderIsNotPresent(networkInfo);
59 public void setNetworkStatusWhenNetworkStatusFoundInNetworkStatusMap() {
60 NetworkInfo networkInfo = new NetworkInfo(prepareNetwork(NETWORK_STATUS_ACTIVE));
61 assertThat(networkInfo.getStatus()).isEqualTo(NetworkStatus.ACTIVE);
62 checkCommonPartWhenProviderIsNotPresent(networkInfo);
66 public void setVLANProviderFromTheNetwork() {
67 NetworkInfo networkInfo = new NetworkInfo(prepareNetworkWithProvider(NETWORK_STATUS_ACTIVE, PROVIDER,
68 PROVIDER_NETWORK_TYPE_VLAN));
69 assertThat(networkInfo.getStatus()).isEqualTo(NetworkStatus.ACTIVE);
70 assertThat(networkInfo.getProvider()).isEqualTo(PROVIDER);
71 assertThat(networkInfo.getVlans()).hasSize(1).contains(PROVIDER_SEGMENTATION_ID);
72 checkCommonPart(networkInfo);
76 public void setOtherProviderFromTheNetwork() {
77 NetworkInfo networkInfo = new NetworkInfo(prepareNetworkWithProvider(NETWORK_STATUS_ACTIVE, PROVIDER,
78 PROVIDER_NETWORK_TYPE_OTHER));
79 assertThat(networkInfo.getStatus()).isEqualTo(NetworkStatus.ACTIVE);
80 assertThat(networkInfo.getProvider()).isEqualTo(PROVIDER);
81 assertThat(networkInfo.getVlans()).isEmpty();
82 checkCommonPart(networkInfo);
86 public void setVLANProviderFromTheNetworkSegments() {
87 NetworkInfo networkInfo = new NetworkInfo(prepareNetworkWithSegments(NETWORK_STATUS_ACTIVE,
88 prepareSegment(PROVIDER_NETWORK_TYPE_VLAN)));
89 assertThat(networkInfo.getStatus()).isEqualTo(NetworkStatus.ACTIVE);
90 assertThat(networkInfo.getProvider()).isEqualTo(PROVIDER_FOR_SEGMENT);
91 assertThat(networkInfo.getVlans()).hasSize(1).contains(PROVIDER_SEGMENTATION_ID_FOR_SEGMENT);
92 checkCommonPart(networkInfo);
96 public void setOtherProviderFromTheNetworkSegments() {
97 NetworkInfo networkInfo = new NetworkInfo(prepareNetworkWithSegments(NETWORK_STATUS_ACTIVE,
98 prepareSegment(PROVIDER_NETWORK_TYPE_OTHER)));
99 assertThat(networkInfo.getStatus()).isEqualTo(NetworkStatus.ACTIVE);
100 assertThat(networkInfo.getProvider()).isEqualTo(PROVIDER_FOR_SEGMENT);
101 assertThat(networkInfo.getVlans()).isEmpty();
102 checkCommonPart(networkInfo);
106 public void setNetworkStatusNotFoundWhenNetworkIsNull() {
107 NetworkInfo networkInfo = new NetworkInfo(null);
108 assertThat(networkInfo.getStatus()).isEqualTo(NetworkStatus.NOTFOUND);
111 private void checkCommonPartWhenProviderIsNotPresent(NetworkInfo networkInfo) {
112 assertThat(networkInfo.getProvider()).isEmpty();
113 assertThat(networkInfo.getVlans()).isEmpty();
114 checkCommonPart(networkInfo);
117 private void checkCommonPart(NetworkInfo networkInfo) {
118 assertThat(networkInfo.getId()).isEqualTo(NETWORK_STATUS_ID);
119 assertThat(networkInfo.getName()).isEqualTo(NETWORK_STATUS_NAME);
120 assertThat(networkInfo.getSubnets()).hasSize(1).contains(SUBNET_NAME);
123 private Network prepareNetwork(String networkStatus) {
124 Network network = new Network();
125 network.setId(NETWORK_STATUS_ID);
126 network.setName(NETWORK_STATUS_NAME);
127 network.setStatus(networkStatus);
128 List<String> subnets = new ArrayList<>();
129 subnets.add(SUBNET_NAME);
130 network.setSubnets(subnets);
134 private Network prepareNetworkWithProvider(String networkStatus, String providerPhysicalNetwork, String providerNetworkType) {
135 Network network = prepareNetwork(networkStatus);
136 network.setProviderPhysicalNetwork(providerPhysicalNetwork);
137 network.setProviderNetworkType(providerNetworkType);
138 network.setProviderSegmentationId(PROVIDER_SEGMENTATION_ID);
142 private Network prepareNetworkWithSegments(String networkStatus, Segment segment) {
143 Network network = prepareNetwork(networkStatus);
144 List<Segment> segments = new ArrayList<>();
145 segments.add(segment);
146 network.setSegments(segments);
150 private Segment prepareSegment(String providerNetworkType) {
151 Segment segment = new Segment();
152 segment.setProviderPhysicalNetwork(PROVIDER_FOR_SEGMENT);
153 segment.setProviderNetworkType(providerNetworkType);
154 segment.setProviderSegmentationId(PROVIDER_SEGMENTATION_ID_FOR_SEGMENT);