-/*\r
- * Copyright (c) 2016 Cisco Systems, Inc. and others. All rights reserved.\r
- *\r
- * This program and the accompanying materials are made available under the\r
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,\r
- * and is available at http://www.eclipse.org/legal/epl-v10.html\r
- */\r
-\r
-package org.opendaylight.groupbasedpolicy.neutron.vpp.mapper.processors;\r
-\r
-import static org.junit.Assert.assertEquals;\r
-import static org.junit.Assert.assertNull;\r
-import static org.junit.Assert.assertFalse;\r
-import static org.junit.Assert.assertTrue;\r
-\r
-import java.util.List;\r
-import java.util.UUID;\r
-\r
-import org.junit.Before;\r
-import org.junit.Test;\r
-import org.mockito.Mockito;\r
-import org.opendaylight.controller.md.sal.binding.api.DataBroker;\r
-import org.opendaylight.controller.md.sal.binding.api.ReadOnlyTransaction;\r
-import org.opendaylight.controller.md.sal.binding.api.WriteTransaction;\r
-import org.opendaylight.controller.md.sal.binding.test.AbstractDataBrokerTest;\r
-import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;\r
-import org.opendaylight.groupbasedpolicy.util.DataStoreHelper;\r
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.vpp_renderer.rev160425.FlatNetwork;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.vpp_renderer.rev160425.VlanNetwork;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.vpp_renderer.rev160425.config.GbpBridgeDomain;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.vpp_renderer.rev160425.bridge.domain.base.attributes.PhysicalLocationRef;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.l2.types.rev130827.VlanId;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.networks.rev150712.NetworkTypeFlat;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.networks.rev150712.NetworkTypeVlan;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.networks.rev150712.networks.attributes.networks.Network;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.networks.rev150712.networks.attributes.networks.NetworkBuilder;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.provider.ext.rev150712.NetworkProviderExtension;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.provider.ext.rev150712.NetworkProviderExtensionBuilder;\r
-import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.NodeId;\r
-import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.TopologyId;\r
-import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.TpId;\r
-import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.Topology;\r
-import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.TopologyBuilder;\r
-import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node;\r
-import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.NodeBuilder;\r
-import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.node.TerminationPoint;\r
-import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.node.TerminationPointBuilder;\r
-\r
-import com.google.common.base.Optional;\r
-import com.google.common.collect.ImmutableList;\r
-\r
-public class NetworkAwareTest extends AbstractDataBrokerTest {\r
-\r
- private DataBroker dataBroker;\r
- private NetworkAware networkAware;\r
- private NetworkProviderExtensionBuilder netExtBuilder;\r
-\r
- @Before\r
- public void init() {\r
- dataBroker = Mockito.spy(getDataBroker());\r
- networkAware = new NetworkAware(dataBroker);\r
- netExtBuilder = new NetworkProviderExtensionBuilder();\r
- netExtBuilder.setPhysicalNetwork("physicalNet");\r
- }\r
-\r
- @Test\r
- public void testProcessCreatedNeutronDto_flat() {\r
- netExtBuilder.setNetworkType(NetworkTypeFlat.class);\r
- Network network = createTestNetwork("net", netExtBuilder.build());\r
- networkAware.processCreatedNeutronDto(network);\r
- ReadOnlyTransaction rTx = dataBroker.newReadOnlyTransaction();\r
- Optional<GbpBridgeDomain> optBrDomain = DataStoreHelper.readFromDs(LogicalDatastoreType.CONFIGURATION,\r
- networkAware.getGbpBridgeDomainIid(network.getUuid().getValue()), rTx);\r
- assertTrue(optBrDomain.isPresent());\r
- }\r
-\r
- @Test\r
- public void testProcessUpdatedNeutronDto() {\r
- netExtBuilder.setNetworkType(NetworkTypeFlat.class);\r
- Network network1 = createTestNetwork("net1", netExtBuilder.build());\r
- Network network2 = new NetworkBuilder(network1).setName("net2")\r
- .addAugmentation(NetworkProviderExtension.class, netExtBuilder.build())\r
- .build();\r
- networkAware.processUpdatedNeutronDto(network1, network2);\r
- ReadOnlyTransaction rTx = dataBroker.newReadOnlyTransaction();\r
- Optional<GbpBridgeDomain> optBrDomain = DataStoreHelper.readFromDs(LogicalDatastoreType.CONFIGURATION,\r
- networkAware.getGbpBridgeDomainIid(network2.getUuid().getValue()), rTx);\r
- assertTrue(optBrDomain.isPresent());\r
- assertEquals(optBrDomain.get().getDescription(), "net2");\r
- }\r
-\r
- @Test\r
- public void testProcessDeletedNeutronDto() {\r
- netExtBuilder.setNetworkType(NetworkTypeFlat.class);\r
- Network network = createTestNetwork("net1", netExtBuilder.build());\r
- networkAware.processDeletedNeutronDto(network);\r
- ReadOnlyTransaction rTx = dataBroker.newReadOnlyTransaction();\r
- Optional<GbpBridgeDomain> optBrDomain = DataStoreHelper.readFromDs(LogicalDatastoreType.CONFIGURATION,\r
- networkAware.getGbpBridgeDomainIid(network.getUuid().getValue()), rTx);\r
- assertFalse(optBrDomain.isPresent());\r
- }\r
-\r
- @Test\r
- public void testCreateBridgeDomain_vlanNetwork() {\r
- netExtBuilder.setNetworkType(NetworkTypeVlan.class);\r
- netExtBuilder.setSegmentationId("2016");\r
- Network vlanNetwork = createTestNetwork("VlanNet", netExtBuilder.build());\r
- GbpBridgeDomain bridgeDomain = networkAware.createGbpBridgeDomain(vlanNetwork);\r
- assertEquals(bridgeDomain.getId(), vlanNetwork.getUuid().getValue());\r
- assertEquals(bridgeDomain.getDescription(), vlanNetwork.getName());\r
- assertEquals(bridgeDomain.getType(), VlanNetwork.class);\r
- assertEquals(bridgeDomain.getVlan(), new VlanId(Integer.valueOf(2016)));\r
- }\r
-\r
- @Test\r
- public void testCreateBridgeDomain_flatNetwork() {\r
- netExtBuilder.setNetworkType(NetworkTypeFlat.class);\r
- Network flatNetwork = createTestNetwork("FlatNet", netExtBuilder.build());\r
- GbpBridgeDomain bridgeDomain = networkAware.createGbpBridgeDomain(flatNetwork);\r
- assertEquals(bridgeDomain.getId(), flatNetwork.getUuid().getValue());\r
- assertEquals(bridgeDomain.getDescription(), flatNetwork.getName());\r
- assertEquals(bridgeDomain.getType(), FlatNetwork.class);\r
- }\r
-\r
- @Test\r
- public void testCreateBridgeDomain_noPhysicalNetwork() {\r
- netExtBuilder.setNetworkType(NetworkTypeFlat.class);\r
- netExtBuilder.setPhysicalNetwork(null);\r
- Network flatNetwork = createTestNetwork("FlatNet", netExtBuilder.build());\r
- GbpBridgeDomain bridgeDomain = networkAware.createGbpBridgeDomain(flatNetwork);\r
- assertNull(bridgeDomain.getPhysicalLocationRef());\r
- }\r
-\r
- @Test\r
- public void testCreateBridgeDomain_noNetworkType() {\r
- Network vlanNetwork = createTestNetwork("noTypeNet", new NetworkProviderExtensionBuilder().build());\r
- GbpBridgeDomain bridgeDomain = networkAware.createGbpBridgeDomain(vlanNetwork);\r
- assertNull(bridgeDomain);\r
- }\r
-\r
- @Test\r
- public void testResolveDomainLocations() {\r
- NodeId nodeId = new NodeId("node1");\r
- TpId tpId = new TpId("tp1");\r
- TopologyId topologyId = new TopologyId("physicalNet");\r
- writeBasicTopology(topologyId, nodeId, tpId);\r
- NetworkProviderExtension netExt = new NetworkProviderExtensionBuilder().setPhysicalNetwork("physicalNet")\r
- .build();\r
- List<PhysicalLocationRef> resolvedLocations = networkAware.resolveDomainLocations(netExt);\r
- PhysicalLocationRef physLocationRef = resolvedLocations.get(0);\r
- assertEquals(nodeId, physLocationRef.getNodeId());\r
- assertEquals(tpId.getValue(), physLocationRef.getInterface().get(0));\r
- }\r
-\r
- private Network createTestNetwork(String name, NetworkProviderExtension ext) {\r
- return new NetworkBuilder().setUuid(new Uuid(UUID.randomUUID().toString()))\r
- .setName(name)\r
- .addAugmentation(NetworkProviderExtension.class, ext)\r
- .build();\r
- }\r
-\r
- private void writeBasicTopology(TopologyId topologyId, NodeId nodeId, TpId tpId) {\r
- TerminationPoint tp = new TerminationPointBuilder().setTpId(tpId).build();\r
- Node node = new NodeBuilder().setNodeId(new NodeId(nodeId))\r
- .setTerminationPoint(ImmutableList.<TerminationPoint>of(tp))\r
- .build();\r
- Topology topology = new TopologyBuilder().setTopologyId(topologyId)\r
- .setNode(ImmutableList.<Node>of(node))\r
- .build();\r
- WriteTransaction wTx = dataBroker.newWriteOnlyTransaction();\r
- wTx.put(LogicalDatastoreType.CONFIGURATION, networkAware.getTopologyIid(new TopologyId("physicalNet")),\r
- topology, true);\r
- DataStoreHelper.submitToDs(wTx);\r
- }\r
-}\r
+/*
+ * Copyright (c) 2016 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.groupbasedpolicy.neutron.vpp.mapper.processors;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+import java.util.List;
+import java.util.UUID;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.mockito.Mockito;
+import org.opendaylight.controller.md.sal.binding.api.DataBroker;
+import org.opendaylight.controller.md.sal.binding.api.ReadOnlyTransaction;
+import org.opendaylight.controller.md.sal.binding.api.WriteTransaction;
+import org.opendaylight.controller.md.sal.binding.test.AbstractDataBrokerTest;
+import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
+import org.opendaylight.groupbasedpolicy.util.DataStoreHelper;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.vpp_renderer.rev160425.FlatNetwork;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.vpp_renderer.rev160425.VlanNetwork;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.vpp_renderer.rev160425.config.GbpBridgeDomain;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.vpp_renderer.rev160425.bridge.domain.base.attributes.PhysicalLocationRef;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.l2.types.rev130827.VlanId;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.networks.rev150712.NetworkTypeFlat;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.networks.rev150712.NetworkTypeVlan;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.networks.rev150712.networks.attributes.networks.Network;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.networks.rev150712.networks.attributes.networks.NetworkBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.provider.ext.rev150712.NetworkProviderExtension;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.provider.ext.rev150712.NetworkProviderExtensionBuilder;
+import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.NodeId;
+import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.TopologyId;
+import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.TpId;
+import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.Topology;
+import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.TopologyBuilder;
+import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node;
+import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.NodeBuilder;
+import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.node.TerminationPoint;
+import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.node.TerminationPointBuilder;
+
+import com.google.common.base.Optional;
+import com.google.common.collect.ImmutableList;
+
+public class NetworkAwareTest extends AbstractDataBrokerTest {
+
+ private DataBroker dataBroker;
+ private NetworkAware networkAware;
+ private NetworkProviderExtensionBuilder netExtBuilder;
+
+ @Before
+ public void init() {
+ dataBroker = Mockito.spy(getDataBroker());
+ networkAware = new NetworkAware(dataBroker);
+ netExtBuilder = new NetworkProviderExtensionBuilder();
+ netExtBuilder.setPhysicalNetwork("physicalNet");
+ }
+
+ @Test
+ public void testProcessCreatedNeutronDto_flat() {
+ netExtBuilder.setNetworkType(NetworkTypeFlat.class);
+ Network network = createTestNetwork("net", netExtBuilder.build());
+ networkAware.processCreatedNeutronDto(network);
+ ReadOnlyTransaction rTx = dataBroker.newReadOnlyTransaction();
+ Optional<GbpBridgeDomain> optBrDomain = DataStoreHelper.readFromDs(LogicalDatastoreType.CONFIGURATION,
+ networkAware.getGbpBridgeDomainIid(network.getUuid().getValue()), rTx);
+ assertTrue(optBrDomain.isPresent());
+ }
+
+ @Test
+ public void testProcessUpdatedNeutronDto() {
+ netExtBuilder.setNetworkType(NetworkTypeFlat.class);
+ Network network1 = createTestNetwork("net1", netExtBuilder.build());
+ Network network2 = new NetworkBuilder(network1).setName("net2")
+ .addAugmentation(NetworkProviderExtension.class, netExtBuilder.build())
+ .build();
+ networkAware.processUpdatedNeutronDto(network1, network2);
+ ReadOnlyTransaction rTx = dataBroker.newReadOnlyTransaction();
+ Optional<GbpBridgeDomain> optBrDomain = DataStoreHelper.readFromDs(LogicalDatastoreType.CONFIGURATION,
+ networkAware.getGbpBridgeDomainIid(network2.getUuid().getValue()), rTx);
+ assertTrue(optBrDomain.isPresent());
+ assertEquals(optBrDomain.get().getDescription(), "net2");
+ }
+
+ @Test
+ public void testProcessDeletedNeutronDto() {
+ netExtBuilder.setNetworkType(NetworkTypeFlat.class);
+ Network network = createTestNetwork("net1", netExtBuilder.build());
+ networkAware.processDeletedNeutronDto(network);
+ ReadOnlyTransaction rTx = dataBroker.newReadOnlyTransaction();
+ Optional<GbpBridgeDomain> optBrDomain = DataStoreHelper.readFromDs(LogicalDatastoreType.CONFIGURATION,
+ networkAware.getGbpBridgeDomainIid(network.getUuid().getValue()), rTx);
+ assertFalse(optBrDomain.isPresent());
+ }
+
+ @Test
+ public void testCreateBridgeDomain_vlanNetwork() {
+ netExtBuilder.setNetworkType(NetworkTypeVlan.class);
+ netExtBuilder.setSegmentationId("2016");
+ Network vlanNetwork = createTestNetwork("VlanNet", netExtBuilder.build());
+ GbpBridgeDomain bridgeDomain = networkAware.createGbpBridgeDomain(vlanNetwork);
+ assertEquals(bridgeDomain.getId(), vlanNetwork.getUuid().getValue());
+ assertEquals(bridgeDomain.getDescription(), vlanNetwork.getName());
+ assertEquals(bridgeDomain.getType(), VlanNetwork.class);
+ assertEquals(bridgeDomain.getVlan(), new VlanId(Integer.valueOf(2016)));
+ }
+
+ @Test
+ public void testCreateBridgeDomain_flatNetwork() {
+ netExtBuilder.setNetworkType(NetworkTypeFlat.class);
+ Network flatNetwork = createTestNetwork("FlatNet", netExtBuilder.build());
+ GbpBridgeDomain bridgeDomain = networkAware.createGbpBridgeDomain(flatNetwork);
+ assertEquals(bridgeDomain.getId(), flatNetwork.getUuid().getValue());
+ assertEquals(bridgeDomain.getDescription(), flatNetwork.getName());
+ assertEquals(bridgeDomain.getType(), FlatNetwork.class);
+ }
+
+ @Test
+ public void testCreateBridgeDomain_noPhysicalNetwork() {
+ netExtBuilder.setNetworkType(NetworkTypeFlat.class);
+ netExtBuilder.setPhysicalNetwork(null);
+ Network flatNetwork = createTestNetwork("FlatNet", netExtBuilder.build());
+ GbpBridgeDomain bridgeDomain = networkAware.createGbpBridgeDomain(flatNetwork);
+ assertNull(bridgeDomain.getPhysicalLocationRef());
+ }
+
+ @Test
+ public void testCreateBridgeDomain_noNetworkType() {
+ Network vlanNetwork = createTestNetwork("noTypeNet", new NetworkProviderExtensionBuilder().build());
+ GbpBridgeDomain bridgeDomain = networkAware.createGbpBridgeDomain(vlanNetwork);
+ assertNull(bridgeDomain);
+ }
+
+ @Test
+ public void testResolveDomainLocations() {
+ NodeId nodeId = new NodeId("node1");
+ TpId tpId = new TpId("tp1");
+ TopologyId topologyId = new TopologyId("physicalNet");
+ writeBasicTopology(topologyId, nodeId, tpId);
+ NetworkProviderExtension netExt = new NetworkProviderExtensionBuilder().setPhysicalNetwork("physicalNet")
+ .build();
+ List<PhysicalLocationRef> resolvedLocations = networkAware.resolveDomainLocations(netExt);
+ PhysicalLocationRef physLocationRef = resolvedLocations.get(0);
+ assertEquals(nodeId, physLocationRef.getNodeId());
+ assertEquals(tpId.getValue(), physLocationRef.getInterface().get(0));
+ }
+
+ private Network createTestNetwork(String name, NetworkProviderExtension ext) {
+ return new NetworkBuilder().setUuid(new Uuid(UUID.randomUUID().toString()))
+ .setName(name)
+ .addAugmentation(NetworkProviderExtension.class, ext)
+ .build();
+ }
+
+ private void writeBasicTopology(TopologyId topologyId, NodeId nodeId, TpId tpId) {
+ TerminationPoint tp = new TerminationPointBuilder().setTpId(tpId).build();
+ Node node = new NodeBuilder().setNodeId(new NodeId(nodeId))
+ .setTerminationPoint(ImmutableList.<TerminationPoint>of(tp))
+ .build();
+ Topology topology = new TopologyBuilder().setTopologyId(topologyId)
+ .setNode(ImmutableList.<Node>of(node))
+ .build();
+ WriteTransaction wTx = dataBroker.newWriteOnlyTransaction();
+ wTx.put(LogicalDatastoreType.CONFIGURATION, networkAware.getTopologyIid(new TopologyId("physicalNet")),
+ topology, true);
+ DataStoreHelper.submitToDs(wTx);
+ }
+}