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;
13 import java.util.ArrayList;
14 import java.util.HashSet;
17 import org.junit.Assert;
18 import org.junit.Test;
19 import org.opendaylight.controller.sal.core.Node;
20 import org.opendaylight.controller.sal.core.NodeConnector;
21 import org.opendaylight.controller.sal.utils.NodeConnectorCreator;
22 import org.opendaylight.controller.sal.utils.NodeCreator;
24 public class SwitchTest {
27 public void testSwitchCreation() {
29 Node node = NodeCreator.createOFNode(((long) 10));
30 Node node2 = NodeCreator.createOFNode(((long) 11));
31 NodeConnector nc0 = NodeConnectorCreator.createOFNodeConnector(
33 NodeConnector nc1 = NodeConnectorCreator.createOFNodeConnector(
35 NodeConnector nc2 = NodeConnectorCreator.createOFNodeConnector(
37 NodeConnector nc3 = NodeConnectorCreator.createOFNodeConnector(
39 NodeConnector nc4 = NodeConnectorCreator.createOFNodeConnector(
41 NodeConnector nc5 = NodeConnectorCreator.createOFNodeConnector(
44 Set<NodeConnector> ncSet = new HashSet<NodeConnector>();
45 ArrayList<NodeConnector> portList = new ArrayList<NodeConnector>();
47 Switch sw = new Switch(node);
48 Switch sw2 = new Switch(node);
49 Assert.assertTrue(sw.equals(sw2));
51 Assert.assertTrue(sw2.getNode().equals(node2));
52 Assert.assertFalse(sw.equals(sw2));
57 sw.addNodeConnector(nc3);
59 sw.addNodeConnector(nc3);
60 } catch (Exception e) {
61 fail("Attempted to add duplicate NodeConnector to set");
67 sw.setNodeConnectors(ncSet);
68 sw.addSpanPorts(portList);
70 sw.setDataLayerAddress(null);
71 Assert.assertNull(sw.getDataLayerAddress());
72 byte[] dlAddress = { (byte) 0x01, (byte) 0x02, (byte) 0x03,
73 (byte) 0x04, (byte) 0x05, (byte) 0x06 };
74 sw.setDataLayerAddress(dlAddress);
76 Node resultNode = sw.getNode();
77 Set<NodeConnector> resultncSet = sw.getNodeConnectors();
78 byte[] resultdlAddress = sw.getDataLayerAddress();
79 ArrayList<NodeConnector> resultSpanPort = (ArrayList<NodeConnector>) sw
82 Assert.assertEquals(node, resultNode);
83 for (int i = 0; i < dlAddress.length; i++)
84 Assert.assertEquals(dlAddress[i], resultdlAddress[i]);
86 Assert.assertTrue(ncSet.equals(resultncSet));
88 for (int i = 0; i < portList.size(); i++)
89 Assert.assertEquals(portList.get(i), resultSpanPort.get(i));
93 public void testSwitchAddRemovePort() {
94 Node node = NodeCreator.createOFNode(((long) 10));
96 NodeConnector nc0 = NodeConnectorCreator.createOFNodeConnector(
98 NodeConnector nc1 = NodeConnectorCreator.createOFNodeConnector(
100 NodeConnector nc4 = NodeConnectorCreator.createOFNodeConnector(
102 NodeConnector nc5 = NodeConnectorCreator.createOFNodeConnector(
104 ArrayList<NodeConnector> portList = new ArrayList<NodeConnector>();
109 Set<NodeConnector> ncSet = new HashSet<NodeConnector>();
113 Switch sw = new Switch(node);
114 sw.setNodeConnectors(ncSet);
115 sw.removeNodeConnector(nc0);
116 Assert.assertFalse(ncSet.contains(nc0));
118 sw.removeSpanPorts(portList);
119 Assert.assertTrue(sw.getSpanPorts().isEmpty());
124 public void testSwitchConfig(){
125 SwitchConfig sc = new SwitchConfig(null, null, null, null);
126 SwitchConfig sc2 = new SwitchConfig(null, null, null, null);
127 Assert.assertTrue(sc.equals(sc2));
129 Assert.assertNull(sc.getMode());
130 Assert.assertNull(sc.getNodeId());
131 Assert.assertNull(sc.getTier());
132 Assert.assertNull(sc.getNodeDescription());
134 SwitchConfig sc3 = new SwitchConfig("123", "name", "tier", "mode");
135 SwitchConfig sc4 = new SwitchConfig("123", "name", "tier", "mode");
136 Assert.assertFalse(sc.equals(sc3));
137 Assert.assertTrue(sc3.equals(sc4));
139 Assert.assertTrue(sc3.getNodeId().equals("123"));
140 Assert.assertTrue(sc3.getNodeDescription().equals("name"));
141 Assert.assertTrue(sc3.getTier().equals("tier"));
142 Assert.assertTrue(sc3.getMode().equals("mode"));