Skip to content

Commit 362c064

Browse files
Add test case for networkModel.checkIp6Parameters
Fix logic on checkIp6Parameters
1 parent ce658ac commit 362c064

File tree

2 files changed

+70
-1
lines changed

2 files changed

+70
-1
lines changed

server/src/main/java/com/cloud/network/NetworkModelImpl.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2188,7 +2188,7 @@ public boolean isNetworkInlineMode(Network network) {
21882188
@Override
21892189
public void checkIp6Parameters(String startIPv6, String endIPv6, String ip6Gateway, String ip6Cidr) throws InvalidParameterValueException {
21902190

2191-
if (org.apache.commons.lang3.StringUtils.isNotBlank(ip6Gateway) && org.apache.commons.lang3.StringUtils.isNotBlank(ip6Cidr)) {
2191+
if (org.apache.commons.lang3.StringUtils.isBlank(ip6Gateway) || org.apache.commons.lang3.StringUtils.isBlank(ip6Cidr)) {
21922192
throw new InvalidParameterValueException("ip6Gateway and ip6Cidr should be defined when startIPv6/endIPv6 are passed in");
21932193
}
21942194

server/src/test/java/com/cloud/network/NetworkModelTest.java

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
import com.cloud.dc.DataCenter;
3636
import com.cloud.dc.DataCenterVO;
3737
import com.cloud.dc.dao.DataCenterDao;
38+
import com.cloud.exception.InvalidParameterValueException;
3839
import com.cloud.network.dao.PhysicalNetworkDao;
3940
import com.cloud.network.dao.PhysicalNetworkServiceProviderDao;
4041
import com.cloud.network.dao.PhysicalNetworkServiceProviderVO;
@@ -90,6 +91,11 @@ public class NetworkModelTest {
9091
private static final long PHYSICAL_NETWORK_1_ID = 1L;
9192
private static final long PHYSICAL_NETWORK_2_ID = 2L;
9293

94+
private static final String IPV6_CIDR = "fd59:16ba:559b:243d::/64";
95+
private static final String IPV6_GATEWAY = "fd59:16ba:559b:243d::1";
96+
private static final String START_IPV6 = "fd59:16ba:559b:243d:0:0:0:2";
97+
private static final String END_IPV6 = "fd59:16ba:559b:243d:ffff:ffff:ffff:ffff";
98+
9399
@Before
94100
public void setUp() {
95101
MockitoAnnotations.initMocks(this);
@@ -194,4 +200,67 @@ public void testAddDisabledConfigDriveEntriesOnZoneAdvancedZoneNonExistingConfig
194200
addProviderToPhysicalNetwork(anyLong(), eq(Provider.ConfigDrive.getName()), isNull(Long.class), isNull(List.class));
195201
}
196202

203+
@Test
204+
public void checkIp6ParametersTestAllGood() {
205+
networkModel.checkIp6Parameters(START_IPV6, END_IPV6, IPV6_GATEWAY,IPV6_CIDR);
206+
}
207+
208+
@Test(expected = InvalidParameterValueException.class)
209+
public void checkIp6ParametersTestCidr32() {
210+
String ipv6cidr = "fd59:16ba:559b:243d::/32";
211+
String endipv6 = "fd59:16ba:ffff:ffff:ffff:ffff:ffff:ffff";
212+
networkModel.checkIp6Parameters(START_IPV6, endipv6, IPV6_GATEWAY,ipv6cidr);
213+
}
214+
215+
@Test(expected = InvalidParameterValueException.class)
216+
public void checkIp6ParametersTestCidr63() {
217+
String ipv6cidr = "fd59:16ba:559b:243d::/63";
218+
String endipv6 = "fd59:16ba:559b:243d:ffff:ffff:ffff:ffff";
219+
networkModel.checkIp6Parameters(START_IPV6, endipv6, IPV6_GATEWAY,ipv6cidr);
220+
}
221+
222+
@Test(expected = InvalidParameterValueException.class)
223+
public void checkIp6ParametersTestCidr65() {
224+
String ipv6cidr = "fd59:16ba:559b:243d::/65";
225+
String endipv6 = "fd59:16ba:559b:243d:7fff:ffff:ffff:ffff";
226+
networkModel.checkIp6Parameters(START_IPV6, endipv6, IPV6_GATEWAY,ipv6cidr);
227+
}
228+
229+
@Test(expected = InvalidParameterValueException.class)
230+
public void checkIp6ParametersTestCidr120() {
231+
String ipv6cidr = "fd59:16ba:559b:243d::/120";
232+
String endipv6 = "fd59:16ba:559b:243d:0:0:0:ff";
233+
networkModel.checkIp6Parameters(START_IPV6, endipv6, IPV6_GATEWAY,ipv6cidr);
234+
}
235+
236+
@Test(expected = InvalidParameterValueException.class)
237+
public void checkIp6ParametersTestNullGateway() {
238+
networkModel.checkIp6Parameters(START_IPV6, END_IPV6, null,IPV6_CIDR);
239+
}
240+
241+
@Test(expected = InvalidParameterValueException.class)
242+
public void checkIp6ParametersTestNullCidr() {
243+
networkModel.checkIp6Parameters(START_IPV6, END_IPV6, IPV6_GATEWAY,null);
244+
}
245+
246+
@Test(expected = InvalidParameterValueException.class)
247+
public void checkIp6ParametersTestNullCidrAndNulGateway() {
248+
networkModel.checkIp6Parameters(START_IPV6, END_IPV6, null,null);
249+
}
250+
251+
@Test
252+
public void checkIp6ParametersTestNullStartIpv6() {
253+
networkModel.checkIp6Parameters(null, END_IPV6, IPV6_GATEWAY,IPV6_CIDR);
254+
}
255+
256+
@Test
257+
public void checkIp6ParametersTestNullEndIpv6() {
258+
networkModel.checkIp6Parameters(START_IPV6, null, IPV6_GATEWAY,IPV6_CIDR);
259+
}
260+
261+
@Test
262+
public void checkIp6ParametersTestNullStartAndEndIpv6() {
263+
networkModel.checkIp6Parameters(null, null, IPV6_GATEWAY,IPV6_CIDR);
264+
}
265+
197266
}

0 commit comments

Comments
 (0)