3 * Copyright (c) 2013 Cisco Systems, Inc. and others. All rights reserved.
5 * This program and the accompanying materials are made available under the
6 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
7 * and is available at http://www.eclipse.org/legal/epl-v10.html
10 package org.opendaylight.controller.switchmanager;
12 import java.util.ArrayList;
13 import java.util.HashSet;
16 import org.junit.Assert;
17 import org.junit.Test;
18 import org.opendaylight.controller.sal.core.Node;
19 import org.opendaylight.controller.sal.core.NodeConnector;
20 import org.opendaylight.controller.sal.utils.NodeConnectorCreator;
21 import org.opendaylight.controller.sal.utils.NodeCreator;
23 public class SwitchTest {
26 public void testSwitchCreation() {
28 Node node = NodeCreator.createOFNode(((long)10));
29 NodeConnector nc0 = NodeConnectorCreator.createOFNodeConnector((short)20, node);
30 NodeConnector nc1 = NodeConnectorCreator.createOFNodeConnector((short)30, node);
31 NodeConnector nc2 = NodeConnectorCreator.createOFNodeConnector((short)40, node);
32 NodeConnector nc3 = NodeConnectorCreator.createOFNodeConnector((short)50, node);
33 NodeConnector nc4 = NodeConnectorCreator.createOFNodeConnector((short)60, node);
34 NodeConnector nc5 = NodeConnectorCreator.createOFNodeConnector((short)70, node);
36 Set<NodeConnector> ncSet = new HashSet<NodeConnector>();
37 ArrayList<NodeConnector> portList = new ArrayList<NodeConnector>();
39 Switch sw = new Switch(node);
43 sw.addNodeConnector(nc3);
48 sw.setNodeConnectors(ncSet);
49 sw.addSpanPorts(portList);
51 byte[] dlAddress = {(byte)0x01, (byte)0x02, (byte)0x03, (byte)0x04, (byte)0x05, (byte)0x06};
52 sw.setDataLayerAddress(dlAddress);
54 Node resultNode = sw.getNode();
55 Set<NodeConnector> resultncSet = sw.getNodeConnectors();
56 byte[] resultdlAddress = sw.getDataLayerAddress();
57 ArrayList<NodeConnector> resultSpanPort = (ArrayList<NodeConnector>) sw.getSpanPorts();
59 Assert.assertEquals(node, resultNode);
60 for (int i = 0; i < dlAddress.length; i++)
61 Assert.assertEquals(dlAddress[i], resultdlAddress[i]);
63 Assert.assertTrue(ncSet.equals(resultncSet));
65 for (int i = 0; i < portList.size(); i++)
66 Assert.assertEquals(portList.get(i), resultSpanPort.get(i));
70 public void testSwitchAddRemovePort() {
71 Node node = NodeCreator.createOFNode(((long)10));
73 NodeConnector nc0 = NodeConnectorCreator.createOFNodeConnector((short)20, node);
74 NodeConnector nc1 = NodeConnectorCreator.createOFNodeConnector((short)30, node);
75 NodeConnector nc4 = NodeConnectorCreator.createOFNodeConnector((short)60, node);
76 NodeConnector nc5 = NodeConnectorCreator.createOFNodeConnector((short)70, node);
77 ArrayList<NodeConnector> portList = new ArrayList<NodeConnector>();
82 Set<NodeConnector> ncSet = new HashSet<NodeConnector>();
86 Switch sw = new Switch(node);
87 sw.setNodeConnectors(ncSet);
88 sw.removeNodeConnector(nc0);
89 Assert.assertFalse(ncSet.contains(nc0));
91 sw.removeSpanPorts(portList);
92 Assert.assertTrue(sw.getSpanPorts().isEmpty());