X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fadsal%2Fnorthbound%2Ftopology%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Ftopology%2Fnorthbound%2FTopologyTest.java;fp=opendaylight%2Fadsal%2Fnorthbound%2Ftopology%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Ftopology%2Fnorthbound%2FTopologyTest.java;h=bcfa2a9ee9bed058908a4f87ede45868c1e032c4;hb=42c32160bfd41de57189bb246fec5ffb48ed8e9e;hp=0000000000000000000000000000000000000000;hpb=edf5bfcee83c750853253ccfd991ba7000f5f65b;p=controller.git diff --git a/opendaylight/adsal/northbound/topology/src/test/java/org/opendaylight/controller/topology/northbound/TopologyTest.java b/opendaylight/adsal/northbound/topology/src/test/java/org/opendaylight/controller/topology/northbound/TopologyTest.java new file mode 100644 index 0000000000..bcfa2a9ee9 --- /dev/null +++ b/opendaylight/adsal/northbound/topology/src/test/java/org/opendaylight/controller/topology/northbound/TopologyTest.java @@ -0,0 +1,124 @@ +/* + * Copyright (c) 2014 Cisco Systems, Inc. and others. All rights reserved. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0 which accompanies this distribution, + * and is available at http://www.eclipse.org/legal/epl-v10.html + */ +package org.opendaylight.controller.topology.northbound; + +import org.junit.Test; +import org.opendaylight.controller.sal.core.Bandwidth; +import org.opendaylight.controller.sal.core.ConstructionException; +import org.opendaylight.controller.sal.core.Edge; +import org.opendaylight.controller.sal.core.Latency; +import org.opendaylight.controller.sal.core.Node; +import org.opendaylight.controller.sal.core.NodeConnector; +import org.opendaylight.controller.sal.core.Property; +import org.opendaylight.controller.sal.core.State; +import org.opendaylight.controller.sal.utils.NodeConnectorCreator; +import org.opendaylight.controller.sal.utils.NodeCreator; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.ArrayList; +import java.util.HashSet; +import java.util.List; +import java.util.Set; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.fail; + +public class TopologyTest { + protected static final Logger logger = LoggerFactory + .getLogger(TopologyTest.class); + + @Test + public void edgePropertiesTopologyTest() { + + //Create 3 nodes and edges between them + Node n1 = NodeCreator.createOFNode((long)1); + Node n2 = NodeCreator.createOFNode((long)2); + Node n3 = NodeCreator.createOFNode((long)3); + + NodeConnector nc11 = NodeConnectorCreator.createOFNodeConnector((short) 1, n1); + NodeConnector nc12 = NodeConnectorCreator.createOFNodeConnector((short) 2, n1); + NodeConnector nc21 = NodeConnectorCreator.createOFNodeConnector((short) 1, n2); + NodeConnector nc22 = NodeConnectorCreator.createOFNodeConnector((short) 2, n2); + NodeConnector nc23 = NodeConnectorCreator.createOFNodeConnector((short) 2, n3); + NodeConnector nc32 = NodeConnectorCreator.createOFNodeConnector((short) 3, n2); + NodeConnector nc33 = NodeConnectorCreator.createOFNodeConnector((short) 3, n3); + + Edge e12 = null; + Edge e23 = null; + + try { + e12 = new Edge(nc12, nc21); + } catch (ConstructionException e) { + fail("Failed to construct edge " + e.getMessage()); + } + try { + e23 = new Edge(nc23, nc32); + } catch (ConstructionException e) { + fail("Failed to construct edge " + e.getMessage()); + } + + Set props = new HashSet(); + State state = new State(State.EDGE_UP); + Bandwidth bw = new Bandwidth(Bandwidth.BW100Gbps); + Latency l = new Latency(Latency.LATENCY100ns); + props.add(state); + props.add(bw); + props.add(l); + + //Check get methods for edge and properties + EdgeProperties edgeProp = new EdgeProperties(e12, props); + + Edge getEdge = edgeProp.getEdge(); + assertEquals(e12, getEdge); + assertEquals(nc12, getEdge.getTailNodeConnector()); + assertEquals(n1, getEdge.getTailNodeConnector().getNode()); + assertEquals((long)1, getEdge.getTailNodeConnector().getNode().getID()); + assertEquals(nc21, getEdge.getHeadNodeConnector()); + assertEquals(n2, getEdge.getHeadNodeConnector().getNode()); + assertEquals((long)2, getEdge.getHeadNodeConnector().getNode().getID()); + + Set getProp = edgeProp.getProperties(); + assertEquals(props, getProp); + assertEquals(props.size(), getProp.size()); + + //Use set methods + edgeProp.setEdge(e23); + getEdge = edgeProp.getEdge(); + assertEquals(e23, getEdge); + assertEquals(nc23, getEdge.getTailNodeConnector()); + assertEquals(nc32, getEdge.getHeadNodeConnector()); + + props.remove(state); + edgeProp.setProperties(props); + assertEquals(props, getProp); + assertEquals(props.size(), getProp.size()); + + + //Create and check topology + List edgePropList= new ArrayList(); + edgePropList.add(edgeProp); + + Topology t = new Topology(edgePropList); + + List getEdgePropList = t.getEdgeProperties(); + assertEquals(edgePropList, getEdgePropList); + assertEquals(1, getEdgePropList.size()); + + EdgeProperties edgeProp2 = new EdgeProperties(e23, props); + edgePropList.add(edgeProp2); + t.setEdgeProperties(edgePropList); + + getEdgePropList = t.getEdgeProperties(); + assertEquals(edgePropList, getEdgePropList); + assertEquals(2, getEdgePropList.size()); + + } + + +}