c3ff4f14202d8fea97dcd95ea3f6e04eea9c7816
[controller.git] / opendaylight / switchmanager / src / test / java / org / opendaylight / controller / switchmanager / SwitchTest.java
1
2 /*
3  * Copyright (c) 2013 Cisco Systems, Inc. and others.  All rights reserved.
4  *
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
8  */
9
10 package org.opendaylight.controller.switchmanager;
11
12 import java.util.ArrayList;
13 import java.util.HashSet;
14 import java.util.Set;
15
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;
22
23 public class SwitchTest {
24
25         @Test
26         public void testSwitchCreation() {
27                 
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);
35
36                 Set<NodeConnector> ncSet = new HashSet<NodeConnector>();
37                 ArrayList<NodeConnector> portList  = new ArrayList<NodeConnector>();
38                 
39                 Switch sw = new Switch(node);
40                 ncSet.add(nc0);
41                 ncSet.add(nc1);
42                 ncSet.add(nc2);
43                 sw.addNodeConnector(nc3);
44                 
45                 portList.add(nc4);
46                 portList.add(nc5);
47
48                 sw.setNodeConnectors(ncSet);
49                 sw.addSpanPorts(portList);
50                 
51                 byte[] dlAddress = {(byte)0x01, (byte)0x02, (byte)0x03, (byte)0x04, (byte)0x05, (byte)0x06};
52                 sw.setDataLayerAddress(dlAddress);
53                 
54                 Node resultNode = sw.getNode();
55                 Set<NodeConnector> resultncSet = sw.getNodeConnectors();
56                 byte[] resultdlAddress = sw.getDataLayerAddress();              
57                 ArrayList<NodeConnector> resultSpanPort = (ArrayList<NodeConnector>) sw.getSpanPorts();
58                 
59                 Assert.assertEquals(node, resultNode);
60                 for (int i = 0; i < dlAddress.length; i++)
61                         Assert.assertEquals(dlAddress[i], resultdlAddress[i]);  
62                 
63                 Assert.assertTrue(ncSet.equals(resultncSet));
64                 
65                 for (int i = 0; i < portList.size(); i++)
66                         Assert.assertEquals(portList.get(i), resultSpanPort.get(i));
67         }
68         
69         @Test
70         public void testSwitchAddRemovePort() {
71                 Node node = NodeCreator.createOFNode(((long)10));
72
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>();
78                 
79                 portList.add(nc4);
80                 portList.add(nc5);
81
82                 Set<NodeConnector> ncSet = new HashSet<NodeConnector>();
83                 ncSet.add(nc0);
84                 ncSet.add(nc1);
85                 
86                 Switch sw = new Switch(node);
87                 sw.setNodeConnectors(ncSet);
88                 sw.removeNodeConnector(nc0);
89                 Assert.assertFalse(ncSet.contains(nc0));
90                 
91                 sw.removeSpanPorts(portList);
92                 Assert.assertTrue(sw.getSpanPorts().isEmpty());
93
94         }
95 }