X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-binding-dom-it%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fsal%2Fbinding%2Ftest%2Fbugfix%2FWriteParentListenAugmentTest.java;h=4a76ad97fd5da06da2c05994c516d88f3ed9613b;hb=8e4580f8989c7a40861be1c025822ebba4f1cb07;hp=a74b6ea2461c5efcfd233a7618e52425485872e0;hpb=3a25fec0b812950c61d2fb6018407a2a6ceb5090;p=controller.git diff --git a/opendaylight/md-sal/sal-binding-dom-it/src/test/java/org/opendaylight/controller/sal/binding/test/bugfix/WriteParentListenAugmentTest.java b/opendaylight/md-sal/sal-binding-dom-it/src/test/java/org/opendaylight/controller/sal/binding/test/bugfix/WriteParentListenAugmentTest.java index a74b6ea246..4a76ad97fd 100644 --- a/opendaylight/md-sal/sal-binding-dom-it/src/test/java/org/opendaylight/controller/sal/binding/test/bugfix/WriteParentListenAugmentTest.java +++ b/opendaylight/md-sal/sal-binding-dom-it/src/test/java/org/opendaylight/controller/sal/binding/test/bugfix/WriteParentListenAugmentTest.java @@ -9,17 +9,14 @@ package org.opendaylight.controller.sal.binding.test.bugfix; import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; +import static org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType.OPERATIONAL; -import com.google.common.util.concurrent.SettableFuture; +import com.google.common.collect.ImmutableSet; import java.util.concurrent.TimeUnit; import org.junit.Test; import org.opendaylight.controller.md.sal.binding.api.DataBroker; import org.opendaylight.controller.md.sal.binding.api.WriteTransaction; -import org.opendaylight.controller.md.sal.common.api.data.AsyncDataBroker.DataChangeScope; -import org.opendaylight.controller.md.sal.common.api.data.AsyncDataChangeEvent; -import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; -import org.opendaylight.controller.sal.binding.test.AbstractDataServiceTest; +import org.opendaylight.controller.md.sal.binding.test.AbstractDataTreeChangeListenerTest; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.md.sal.test.augment.rev140709.TreeComplexUsesAugment; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.md.sal.test.augment.rev140709.TreeComplexUsesAugmentBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.md.sal.test.augment.rev140709.complex.from.grouping.ContainerWithUsesBuilder; @@ -27,58 +24,61 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controll import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.md.sal.test.list.rev140701.two.level.list.TopLevelList; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.md.sal.test.list.rev140701.two.level.list.TopLevelListBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.md.sal.test.list.rev140701.two.level.list.TopLevelListKey; -import org.opendaylight.yangtools.concepts.ListenerRegistration; -import org.opendaylight.yangtools.yang.binding.DataObject; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; +import org.opendaylight.yangtools.yang.binding.YangModuleInfo; +import org.opendaylight.yangtools.yang.binding.util.BindingReflections; -public class WriteParentListenAugmentTest extends AbstractDataServiceTest { +public class WriteParentListenAugmentTest extends AbstractDataTreeChangeListenerTest { private static final String TLL_NAME = "foo"; private static final TopLevelListKey TLL_KEY = new TopLevelListKey(TLL_NAME); - private static final InstanceIdentifier TLL_INSTANCE_ID_BA = InstanceIdentifier.builder(Top.class) // - .child(TopLevelList.class, TLL_KEY).toInstance(); + private static final InstanceIdentifier TLL_INSTANCE_ID_BA = InstanceIdentifier.builder(Top.class) + .child(TopLevelList.class, TLL_KEY).build(); private static final InstanceIdentifier AUGMENT_WILDCARDED_PATH = InstanceIdentifier - .builder(Top.class).child(TopLevelList.class).augmentation(TreeComplexUsesAugment.class).toInstance(); + .builder(Top.class).child(TopLevelList.class).augmentation(TreeComplexUsesAugment.class).build(); private static final InstanceIdentifier AUGMENT_TLL_PATH = InstanceIdentifier - .builder(Top.class).child(TopLevelList.class, TLL_KEY).augmentation(TreeComplexUsesAugment.class).toInstance(); + .builder(Top.class).child(TopLevelList.class, TLL_KEY).augmentation(TreeComplexUsesAugment.class).build(); + + @Override + protected Iterable getModuleInfos() throws Exception { + return ImmutableSet.of(BindingReflections.getModuleInfo(Top.class), + BindingReflections.getModuleInfo(TreeComplexUsesAugment.class)); + } @Test public void writeNodeListenAugment() throws Exception { - final SettableFuture, DataObject>> event = SettableFuture.create(); - DataBroker dataBroker = testContext.getDataBroker(); - ListenerRegistration dclRegistration = - dataBroker.registerDataChangeListener(LogicalDatastoreType.OPERATIONAL, AUGMENT_WILDCARDED_PATH, - change -> event.set(change), DataChangeScope.SUBTREE); + DataBroker dataBroker = getDataBroker(); + + final TreeComplexUsesAugment treeComplexUsesAugment = treeComplexUsesAugment("one"); + + final TestListener listener = createListener(OPERATIONAL, AUGMENT_WILDCARDED_PATH, + added(AUGMENT_TLL_PATH, treeComplexUsesAugment)); final WriteTransaction transaction = dataBroker.newWriteOnlyTransaction(); - TopLevelList tll = new TopLevelListBuilder() // - .setKey(TLL_KEY) // - .addAugmentation(TreeComplexUsesAugment.class, treeComplexUsesAugment("one")).build(); - transaction.put(LogicalDatastoreType.OPERATIONAL, TLL_INSTANCE_ID_BA, tll, true); + TopLevelList tll = new TopLevelListBuilder().setKey(TLL_KEY) + .addAugmentation(TreeComplexUsesAugment.class, treeComplexUsesAugment).build(); + transaction.put(OPERATIONAL, TLL_INSTANCE_ID_BA, tll, true); transaction.submit().get(5, TimeUnit.SECONDS); - AsyncDataChangeEvent, DataObject> receivedEvent = event.get(1000, TimeUnit.MILLISECONDS); - assertTrue(receivedEvent.getCreatedData().containsKey(AUGMENT_TLL_PATH)); - - dclRegistration.close(); + listener.verify(); final WriteTransaction transaction2 = dataBroker.newWriteOnlyTransaction(); - transaction2.put(LogicalDatastoreType.OPERATIONAL, AUGMENT_TLL_PATH, treeComplexUsesAugment("two")); + transaction2.put(OPERATIONAL, AUGMENT_TLL_PATH, treeComplexUsesAugment("two")); transaction2.submit().get(5, TimeUnit.SECONDS); TreeComplexUsesAugment readedAug = dataBroker.newReadOnlyTransaction().read( - LogicalDatastoreType.OPERATIONAL, AUGMENT_TLL_PATH).checkedGet(5, TimeUnit.SECONDS).get(); + OPERATIONAL, AUGMENT_TLL_PATH).get(5, TimeUnit.SECONDS).get(); assertEquals("two", readedAug.getContainerWithUses().getLeafFromGrouping()); } - private TreeComplexUsesAugment treeComplexUsesAugment(final String value) { - return new TreeComplexUsesAugmentBuilder() // - .setContainerWithUses(new ContainerWithUsesBuilder().setLeafFromGrouping(value).build()) // + private static TreeComplexUsesAugment treeComplexUsesAugment(final String value) { + return new TreeComplexUsesAugmentBuilder() + .setContainerWithUses(new ContainerWithUsesBuilder().setLeafFromGrouping(value).build()) .build(); } }