X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fforwardingrules-manager%2Fsrc%2Ftest%2Fjava%2Ftest%2Fmock%2Futil%2FFRMTest.java;fp=opendaylight%2Fmd-sal%2Fforwardingrules-manager%2Fsrc%2Ftest%2Fjava%2Ftest%2Fmock%2Futil%2FFRMTest.java;h=811d6ca74261d198b4a362ef7d877e1151214c5f;hp=0000000000000000000000000000000000000000;hb=3ed53ef05d371492040ca3e67b98a8cfebdcc76d;hpb=413e4ecb09769460eaf740f067e06f198957ce13 diff --git a/opendaylight/md-sal/forwardingrules-manager/src/test/java/test/mock/util/FRMTest.java b/opendaylight/md-sal/forwardingrules-manager/src/test/java/test/mock/util/FRMTest.java new file mode 100644 index 0000000000..811d6ca742 --- /dev/null +++ b/opendaylight/md-sal/forwardingrules-manager/src/test/java/test/mock/util/FRMTest.java @@ -0,0 +1,42 @@ +package test.mock.util; + +import org.opendaylight.controller.md.sal.binding.api.WriteTransaction; +import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; +import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.FlowCapableNode; +import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.FlowCapableNodeBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.Nodes; +import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodesBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node; +import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.NodeBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.NodeKey; +import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; + +import java.util.Collections; +import java.util.concurrent.ExecutionException; + +public abstract class FRMTest extends AbstractDataBrokerTest{ + + public void addFlowCapableNode(NodeKey nodeKey) throws ExecutionException, InterruptedException { + Nodes nodes = new NodesBuilder().setNode(Collections.emptyList()).build(); + InstanceIdentifier flowNodeIdentifier = InstanceIdentifier.create(Nodes.class) + .child(Node.class, nodeKey); + + FlowCapableNodeBuilder fcnBuilder = new FlowCapableNodeBuilder(); + NodeBuilder nodeBuilder = new NodeBuilder(); + nodeBuilder.setKey(nodeKey); + nodeBuilder.addAugmentation(FlowCapableNode.class, fcnBuilder.build()); + + WriteTransaction writeTx = getDataBroker().newWriteOnlyTransaction(); + writeTx.put(LogicalDatastoreType.OPERATIONAL, InstanceIdentifier.create(Nodes.class), nodes); + writeTx.put(LogicalDatastoreType.OPERATIONAL, flowNodeIdentifier, nodeBuilder.build()); + writeTx.put(LogicalDatastoreType.CONFIGURATION, InstanceIdentifier.create(Nodes.class), nodes); + writeTx.put(LogicalDatastoreType.CONFIGURATION, flowNodeIdentifier, nodeBuilder.build()); + assertCommit(writeTx.submit()); + } + + public void removeNode(NodeKey nodeKey) throws ExecutionException, InterruptedException { + WriteTransaction writeTx = getDataBroker().newWriteOnlyTransaction(); + writeTx.delete(LogicalDatastoreType.OPERATIONAL, InstanceIdentifier.create(Nodes.class).child(Node.class, nodeKey)); + writeTx.submit().get(); + } +}