-/*\r
- * Copyright (c) 2016 Cisco Systems. 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.renderer.vpp.commands;\r
-\r
-import org.junit.Assert;\r
-import org.junit.Before;\r
-import org.junit.Test;\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.ReadWriteTransaction;\r
-import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;\r
-import org.opendaylight.groupbasedpolicy.renderer.vpp.VppRendererDataBrokerTest;\r
-import org.opendaylight.groupbasedpolicy.renderer.vpp.util.General;\r
-import org.opendaylight.groupbasedpolicy.renderer.vpp.util.VppIidFactory;\r
-import org.opendaylight.groupbasedpolicy.util.DataStoreHelper;\r
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.Interface;\r
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.InterfaceBuilder;\r
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.InterfaceKey;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev170607.VhostUserRole;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev170607.VppInterfaceAugmentation;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev170607.VppInterfaceAugmentationBuilder;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev170607.interfaces._interface.L2Builder;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev170607.interfaces._interface.VhostUser;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev170607.interfaces._interface.VhostUserBuilder;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev170607.l2.config.attributes.interconnection.BridgeBased;\r
-import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev170607.l2.config.attributes.interconnection.BridgeBasedBuilder;\r
-\r
-import com.google.common.base.Optional;\r
-\r
-public class VhostUserCommandTest extends VppRendererDataBrokerTest {\r
-\r
- private final static String BRIDGE_DOMAIN = "testBD";\r
- private final static String DESCRIPTION = "used for testing";\r
- private final static String INTERFACE_NAME = "testInterface";\r
- private final static String SOCKET_NAME = "soc1";\r
-\r
- private final static String UPD_BRIDGE_DOMAIN = "testBD2";\r
- private final static String UPD_DESCRIPTION = "updated description";\r
- private final static String UPD_SOCKET_NAME = "soc2";\r
- private final static boolean IS_BRIDGED_DEFAULT = false;\r
-\r
- private static Interface BASIC_INTERFACE;\r
-\r
- private DataBroker dataBroker;\r
-\r
- @Before\r
- public void init() {\r
- dataBroker = getDataBroker();\r
-\r
- VhostUser vhostUser = new VhostUserBuilder().setRole(VhostUserRole.Server).setSocket(SOCKET_NAME).build();\r
-\r
- VppInterfaceAugmentation vppAugmentation = new VppInterfaceAugmentationBuilder().setVhostUser(vhostUser)\r
- .setL2(new L2Builder().setInterconnection(new BridgeBasedBuilder().setBridgeDomain(BRIDGE_DOMAIN)\r
- .setBridgedVirtualInterface(IS_BRIDGED_DEFAULT).setSplitHorizonGroup((short)0)\r
- .build()).build())\r
- .build();\r
-\r
- BASIC_INTERFACE =\r
- new InterfaceBuilder().setDescription(DESCRIPTION)\r
- .setEnabled(true)\r
- .setKey(new InterfaceKey(INTERFACE_NAME))\r
- .setName(INTERFACE_NAME)\r
- .setType(\r
- org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev170607.VhostUser.class)\r
- .setLinkUpDownTrapEnable(Interface.LinkUpDownTrapEnable.Enabled)\r
- .addAugmentation(VppInterfaceAugmentation.class, vppAugmentation)\r
- .build();\r
- }\r
-\r
- @Test\r
- public void AddVhostTest() {\r
- ReadWriteTransaction transaction = dataBroker.newReadWriteTransaction();\r
- VhostUserCommand addCommand = VhostUserCommand.builder()\r
- .setOperation(General.Operations.PUT)\r
- .setName(INTERFACE_NAME)\r
- .setDescription(DESCRIPTION)\r
- .setRole(VhostUserRole.Server)\r
- .setSocket(SOCKET_NAME)\r
- .setBridgeDomain(BRIDGE_DOMAIN)\r
- .setEnabled(true)\r
- .build();\r
-\r
- addCommand.execute(transaction);\r
-\r
- transaction.submit();\r
-\r
- ReadOnlyTransaction readOnlyTransaction = dataBroker.newReadOnlyTransaction();\r
-\r
- Optional<Interface> optional = DataStoreHelper.readFromDs(LogicalDatastoreType.CONFIGURATION,\r
- VppIidFactory.getInterfaceIID(new InterfaceKey(INTERFACE_NAME)), readOnlyTransaction);\r
-\r
- Assert.assertTrue("Interface was not written to DS", optional.isPresent());\r
-\r
- Interface anInterface = optional.get();\r
-\r
- Assert.assertEquals(BASIC_INTERFACE, anInterface);\r
-\r
- }\r
-\r
- @Test\r
- public void DeleteVhostTest() {\r
- ReadWriteTransaction transaction = dataBroker.newReadWriteTransaction();\r
-\r
- transaction.put(LogicalDatastoreType.CONFIGURATION, VppIidFactory.getInterfaceIID(BASIC_INTERFACE.getKey()),\r
- BASIC_INTERFACE, true);\r
- transaction.submit();\r
-\r
- Optional<Interface> optional = DataStoreHelper.readFromDs(LogicalDatastoreType.CONFIGURATION,\r
- VppIidFactory.getInterfaceIID(BASIC_INTERFACE.getKey()), dataBroker.newReadOnlyTransaction());\r
-\r
- Assert.assertTrue("Interface was not written to DS", optional.isPresent());\r
-\r
- VhostUserCommand deleteCommand = VhostUserCommand.builder()\r
- .setOperation(General.Operations.DELETE)\r
- .setName(INTERFACE_NAME)\r
- .setSocket(SOCKET_NAME)\r
- .build();\r
-\r
- ReadWriteTransaction deleteTransaction = dataBroker.newReadWriteTransaction();\r
- deleteCommand.execute(deleteTransaction);\r
- deleteTransaction.submit();\r
-\r
- Optional<Interface> optionalDeleted = DataStoreHelper.readFromDs(LogicalDatastoreType.CONFIGURATION,\r
- VppIidFactory.getInterfaceIID(new InterfaceKey(deleteCommand.getName())),\r
- dataBroker.newReadOnlyTransaction());\r
-\r
- Assert.assertFalse("Interface was not deleted from DS", optionalDeleted.isPresent());\r
- }\r
-\r
- @Test\r
- public void UpdateVhostTest() {\r
- ReadWriteTransaction transaction = dataBroker.newReadWriteTransaction();\r
-\r
- transaction.put(LogicalDatastoreType.CONFIGURATION, VppIidFactory.getInterfaceIID(BASIC_INTERFACE.getKey()),\r
- BASIC_INTERFACE, true);\r
- transaction.submit();\r
-\r
- Optional<Interface> optional = DataStoreHelper.readFromDs(LogicalDatastoreType.CONFIGURATION,\r
- VppIidFactory.getInterfaceIID(BASIC_INTERFACE.getKey()), dataBroker.newReadOnlyTransaction());\r
-\r
- Assert.assertTrue("Interface was not written to DS", optional.isPresent());\r
-\r
- VhostUserCommand updateCommand = VhostUserCommand.builder()\r
- .setOperation(General.Operations.MERGE)\r
- .setName(INTERFACE_NAME)\r
- .setDescription(UPD_DESCRIPTION)\r
- .setEnabled(false)\r
- .setRole(VhostUserRole.Client)\r
- .setSocket(UPD_SOCKET_NAME)\r
- .setBridgeDomain(UPD_BRIDGE_DOMAIN)\r
- .build();\r
-\r
- ReadWriteTransaction deleteTransaction = dataBroker.newReadWriteTransaction();\r
- updateCommand.execute(deleteTransaction);\r
- deleteTransaction.submit();\r
-\r
- Optional<Interface> optionalUpdated = DataStoreHelper.readFromDs(LogicalDatastoreType.CONFIGURATION,\r
- VppIidFactory.getInterfaceIID(new InterfaceKey(updateCommand.getName())),\r
- dataBroker.newReadOnlyTransaction());\r
-\r
- Assert.assertTrue("Interface was not found in DS", optionalUpdated.isPresent());\r
- Interface updatedInterface = optionalUpdated.get();\r
-\r
- Assert.assertEquals(UPD_DESCRIPTION, updatedInterface.getDescription());\r
- Assert.assertFalse(updatedInterface.isEnabled());\r
- VppInterfaceAugmentation vppInterfaceAugmentation =\r
- updatedInterface.getAugmentation(VppInterfaceAugmentation.class);\r
- Assert.assertEquals(VhostUserRole.Client, vppInterfaceAugmentation.getVhostUser().getRole());\r
- Assert.assertEquals(UPD_SOCKET_NAME, vppInterfaceAugmentation.getVhostUser().getSocket());\r
-\r
- Assert.assertTrue(vppInterfaceAugmentation.getL2().getInterconnection() instanceof BridgeBased);\r
-\r
- Assert.assertEquals(UPD_BRIDGE_DOMAIN,\r
- ((BridgeBased) vppInterfaceAugmentation.getL2().getInterconnection()).getBridgeDomain());\r
- }\r
-}\r
+/*
+ * Copyright (c) 2016 Cisco Systems. 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.renderer.vpp.commands;
+
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+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.ReadWriteTransaction;
+import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
+import org.opendaylight.groupbasedpolicy.renderer.vpp.VppRendererDataBrokerTest;
+import org.opendaylight.groupbasedpolicy.renderer.vpp.util.General;
+import org.opendaylight.groupbasedpolicy.renderer.vpp.util.VppIidFactory;
+import org.opendaylight.groupbasedpolicy.util.DataStoreHelper;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.Interface;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.InterfaceBuilder;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.InterfaceKey;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev170607.VhostUserRole;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev170607.VppInterfaceAugmentation;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev170607.VppInterfaceAugmentationBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev170607.interfaces._interface.L2Builder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev170607.interfaces._interface.VhostUser;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev170607.interfaces._interface.VhostUserBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev170607.l2.config.attributes.interconnection.BridgeBased;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev170607.l2.config.attributes.interconnection.BridgeBasedBuilder;
+
+import com.google.common.base.Optional;
+
+public class VhostUserCommandTest extends VppRendererDataBrokerTest {
+
+ private final static String BRIDGE_DOMAIN = "testBD";
+ private final static String DESCRIPTION = "used for testing";
+ private final static String INTERFACE_NAME = "testInterface";
+ private final static String SOCKET_NAME = "soc1";
+
+ private final static String UPD_BRIDGE_DOMAIN = "testBD2";
+ private final static String UPD_DESCRIPTION = "updated description";
+ private final static String UPD_SOCKET_NAME = "soc2";
+ private final static boolean IS_BRIDGED_DEFAULT = false;
+
+ private static Interface BASIC_INTERFACE;
+
+ private DataBroker dataBroker;
+
+ @Before
+ public void init() {
+ dataBroker = getDataBroker();
+
+ VhostUser vhostUser = new VhostUserBuilder().setRole(VhostUserRole.Server).setSocket(SOCKET_NAME).build();
+
+ VppInterfaceAugmentation vppAugmentation = new VppInterfaceAugmentationBuilder().setVhostUser(vhostUser)
+ .setL2(new L2Builder().setInterconnection(new BridgeBasedBuilder().setBridgeDomain(BRIDGE_DOMAIN)
+ .setBridgedVirtualInterface(IS_BRIDGED_DEFAULT).setSplitHorizonGroup((short)0)
+ .build()).build())
+ .build();
+
+ BASIC_INTERFACE =
+ new InterfaceBuilder().setDescription(DESCRIPTION)
+ .setEnabled(true)
+ .setKey(new InterfaceKey(INTERFACE_NAME))
+ .setName(INTERFACE_NAME)
+ .setType(
+ org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev170607.VhostUser.class)
+ .setLinkUpDownTrapEnable(Interface.LinkUpDownTrapEnable.Enabled)
+ .addAugmentation(VppInterfaceAugmentation.class, vppAugmentation)
+ .build();
+ }
+
+ @Test
+ public void AddVhostTest() {
+ ReadWriteTransaction transaction = dataBroker.newReadWriteTransaction();
+ VhostUserCommand addCommand = VhostUserCommand.builder()
+ .setOperation(General.Operations.PUT)
+ .setName(INTERFACE_NAME)
+ .setDescription(DESCRIPTION)
+ .setRole(VhostUserRole.Server)
+ .setSocket(SOCKET_NAME)
+ .setBridgeDomain(BRIDGE_DOMAIN)
+ .setEnabled(true)
+ .build();
+
+ addCommand.execute(transaction);
+
+ transaction.submit();
+
+ ReadOnlyTransaction readOnlyTransaction = dataBroker.newReadOnlyTransaction();
+
+ Optional<Interface> optional = DataStoreHelper.readFromDs(LogicalDatastoreType.CONFIGURATION,
+ VppIidFactory.getInterfaceIID(new InterfaceKey(INTERFACE_NAME)), readOnlyTransaction);
+
+ Assert.assertTrue("Interface was not written to DS", optional.isPresent());
+
+ Interface anInterface = optional.get();
+
+ Assert.assertEquals(BASIC_INTERFACE, anInterface);
+
+ }
+
+ @Test
+ public void DeleteVhostTest() {
+ ReadWriteTransaction transaction = dataBroker.newReadWriteTransaction();
+
+ transaction.put(LogicalDatastoreType.CONFIGURATION, VppIidFactory.getInterfaceIID(BASIC_INTERFACE.getKey()),
+ BASIC_INTERFACE, true);
+ transaction.submit();
+
+ Optional<Interface> optional = DataStoreHelper.readFromDs(LogicalDatastoreType.CONFIGURATION,
+ VppIidFactory.getInterfaceIID(BASIC_INTERFACE.getKey()), dataBroker.newReadOnlyTransaction());
+
+ Assert.assertTrue("Interface was not written to DS", optional.isPresent());
+
+ VhostUserCommand deleteCommand = VhostUserCommand.builder()
+ .setOperation(General.Operations.DELETE)
+ .setName(INTERFACE_NAME)
+ .setSocket(SOCKET_NAME)
+ .build();
+
+ ReadWriteTransaction deleteTransaction = dataBroker.newReadWriteTransaction();
+ deleteCommand.execute(deleteTransaction);
+ deleteTransaction.submit();
+
+ Optional<Interface> optionalDeleted = DataStoreHelper.readFromDs(LogicalDatastoreType.CONFIGURATION,
+ VppIidFactory.getInterfaceIID(new InterfaceKey(deleteCommand.getName())),
+ dataBroker.newReadOnlyTransaction());
+
+ Assert.assertFalse("Interface was not deleted from DS", optionalDeleted.isPresent());
+ }
+
+ @Test
+ public void UpdateVhostTest() {
+ ReadWriteTransaction transaction = dataBroker.newReadWriteTransaction();
+
+ transaction.put(LogicalDatastoreType.CONFIGURATION, VppIidFactory.getInterfaceIID(BASIC_INTERFACE.getKey()),
+ BASIC_INTERFACE, true);
+ transaction.submit();
+
+ Optional<Interface> optional = DataStoreHelper.readFromDs(LogicalDatastoreType.CONFIGURATION,
+ VppIidFactory.getInterfaceIID(BASIC_INTERFACE.getKey()), dataBroker.newReadOnlyTransaction());
+
+ Assert.assertTrue("Interface was not written to DS", optional.isPresent());
+
+ VhostUserCommand updateCommand = VhostUserCommand.builder()
+ .setOperation(General.Operations.MERGE)
+ .setName(INTERFACE_NAME)
+ .setDescription(UPD_DESCRIPTION)
+ .setEnabled(false)
+ .setRole(VhostUserRole.Client)
+ .setSocket(UPD_SOCKET_NAME)
+ .setBridgeDomain(UPD_BRIDGE_DOMAIN)
+ .build();
+
+ ReadWriteTransaction deleteTransaction = dataBroker.newReadWriteTransaction();
+ updateCommand.execute(deleteTransaction);
+ deleteTransaction.submit();
+
+ Optional<Interface> optionalUpdated = DataStoreHelper.readFromDs(LogicalDatastoreType.CONFIGURATION,
+ VppIidFactory.getInterfaceIID(new InterfaceKey(updateCommand.getName())),
+ dataBroker.newReadOnlyTransaction());
+
+ Assert.assertTrue("Interface was not found in DS", optionalUpdated.isPresent());
+ Interface updatedInterface = optionalUpdated.get();
+
+ Assert.assertEquals(UPD_DESCRIPTION, updatedInterface.getDescription());
+ Assert.assertFalse(updatedInterface.isEnabled());
+ VppInterfaceAugmentation vppInterfaceAugmentation =
+ updatedInterface.getAugmentation(VppInterfaceAugmentation.class);
+ Assert.assertEquals(VhostUserRole.Client, vppInterfaceAugmentation.getVhostUser().getRole());
+ Assert.assertEquals(UPD_SOCKET_NAME, vppInterfaceAugmentation.getVhostUser().getSocket());
+
+ Assert.assertTrue(vppInterfaceAugmentation.getL2().getInterconnection() instanceof BridgeBased);
+
+ Assert.assertEquals(UPD_BRIDGE_DOMAIN,
+ ((BridgeBased) vppInterfaceAugmentation.getL2().getInterconnection()).getBridgeDomain());
+ }
+}