2 * Copyright (c) 2013 Cisco Systems, Inc. and others. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
9 package org.opendaylight.controller.switchmanager;
11 import static org.junit.Assert.fail;
12 import static org.junit.Assert.assertFalse;
13 import static org.junit.Assert.assertTrue;
15 import java.net.Inet6Address;
16 import java.net.InetAddress;
17 import java.net.UnknownHostException;
18 import java.util.HashSet;
21 import org.junit.Assert;
22 import org.junit.Test;
23 import org.opendaylight.controller.sal.utils.NodeCreator;
24 import org.opendaylight.controller.sal.core.Node;
25 import org.opendaylight.controller.sal.core.NodeConnector;
26 import org.opendaylight.controller.sal.utils.NodeConnectorCreator;
28 public class SubnetTest {
31 public void testSubnet() throws Exception {
32 InetAddress ipaddr = InetAddress.getByName("100.0.0.1");
33 Subnet subnet = new Subnet(ipaddr, (short) 24, (short) 5);
34 assertTrue(subnet.equals(subnet));
35 assertFalse(subnet.equals(null));
36 assertFalse(subnet.equals(ipaddr));
37 Subnet subnet2 = new Subnet(ipaddr, (short) 24, (short) 5);
38 Inet6Address ipv6 = (Inet6Address) Inet6Address
39 .getByName("1111::2222:3333:4444:5555:6666");
40 Subnet subnet3 = new Subnet(ipv6, (short) 24, (short) 5);
41 assertTrue(subnet.equals(subnet2));
42 assertFalse(subnet.isMutualExclusive(subnet2));
43 assertTrue(subnet.isMutualExclusive(subnet3));
44 InetAddress subnetAddr = InetAddress.getByName("200.0.0.100");
46 assertTrue(subnet.isFlatLayer2() == true);
48 Set<NodeConnector> ncSet = new HashSet<NodeConnector>();
49 Node node = NodeCreator.createOFNode(((long) 10));
50 NodeConnector nc0 = NodeConnectorCreator.createOFNodeConnector(
52 NodeConnector nc1 = NodeConnectorCreator.createOFNodeConnector(
54 NodeConnector nc2 = NodeConnectorCreator.createOFNodeConnector(
61 assertTrue(subnet.hasNodeConnector(nc0));
62 assertFalse(subnet.hasNodeConnector(null));
63 subnet.addNodeConnectors(ncSet);
64 assertTrue(subnet.hasNodeConnector(nc0));
66 Set<NodeConnector> resultncSet = subnet.getNodeConnectors();
67 Assert.assertEquals(resultncSet, ncSet);
68 subnet.addNodeConnectors(null);
69 Assert.assertEquals(subnet.getNodeConnectors(), ncSet);
71 subnet.deleteNodeConnectors(null);
72 Assert.assertEquals(subnet.getNodeConnectors(), ncSet);
74 Set<NodeConnector> ncSet2 = new HashSet<NodeConnector>();
76 subnet.deleteNodeConnectors(ncSet2);
77 assertFalse(subnet.getNodeConnectors().contains(nc0));
78 assertFalse(subnet.hasNodeConnector(nc0));
79 assertTrue(subnet.getNodeConnectors().contains(nc1));
80 assertTrue(subnet.getNodeConnectors().contains(nc2));
82 subnet.deleteNodeConnectors(ncSet2);
84 subnet.setNetworkAddress(subnetAddr);
85 assertTrue(subnet.isMutualExclusive(subnet2));
86 assertTrue(subnet.getNetworkAddress().equals(subnetAddr));
88 subnet.setSubnetMaskLength((short) 16);
89 assertTrue(subnet.getSubnetMaskLength() == 16);
91 subnet.setVlan((short) 100);
92 assertTrue(subnet.getVlan() == 100);
94 assertTrue(subnet.isFlatLayer2() == false);
98 public void checkIsSubnetOfComparisonMatch() {
99 String host = "10.0.0.1";
100 InetAddress ipAddrForSubnetComparison = null;
102 ipAddrForSubnetComparison = InetAddress.getByName(host);
103 } catch (UnknownHostException e) {
104 fail("Failed to create InetAddress object for" + host);
106 SubnetConfig subnetConf = new SubnetConfig("subnet", "10.0.0.254/24",null);
107 Subnet subnet = new Subnet(subnetConf);
108 assertTrue(subnet.isSubnetOf(ipAddrForSubnetComparison));
112 public void checkIsSubnetOfComparisonNoMatch() {
113 String host = "100.0.0.1";
114 InetAddress ipAddrForSubnetComparison = null;
116 ipAddrForSubnetComparison = InetAddress.getByName(host);
117 } catch (UnknownHostException e) {
118 fail("Failed to create InetAddress object for" + host);
120 SubnetConfig subnetConf = new SubnetConfig("subnet", "10.0.0.254/24",null);
121 Subnet subnet = new Subnet(subnetConf);
122 assertFalse(subnet.isSubnetOf(ipAddrForSubnetComparison));
126 public void checkIsSubnetOfComparisonIpEmpty() {
127 SubnetConfig subnetConf = new SubnetConfig("subnet", "10.0.0.254/24",null);
128 Subnet subnet = new Subnet(subnetConf);
129 assertFalse(subnet.isSubnetOf(null));