diff options
Diffstat (limited to 'infra/data-impl/src/test/java/io/fd/honeycomb/data/impl/DataBrokerTest.java')
-rw-r--r-- | infra/data-impl/src/test/java/io/fd/honeycomb/data/impl/DataBrokerTest.java | 71 |
1 files changed, 70 insertions, 1 deletions
diff --git a/infra/data-impl/src/test/java/io/fd/honeycomb/data/impl/DataBrokerTest.java b/infra/data-impl/src/test/java/io/fd/honeycomb/data/impl/DataBrokerTest.java index 08cb3320f..f1bc3105a 100644 --- a/infra/data-impl/src/test/java/io/fd/honeycomb/data/impl/DataBrokerTest.java +++ b/infra/data-impl/src/test/java/io/fd/honeycomb/data/impl/DataBrokerTest.java @@ -107,5 +107,74 @@ public class DataBrokerTest { assertTrue(supportedExtensions.isEmpty()); } - + public static class DataBrokerForContextTest { + + @Mock + private ModifiableDataManager contextDataTree; + @Mock + private DataModification contextSnapshot; + private DataBroker broker; + + @Before + public void setUp() { + initMocks(this); + when(contextDataTree.newModification()).thenReturn(contextSnapshot); + broker = DataBroker.create(contextDataTree); + } + + @Test + public void testNewReadWriteTransaction() { + final DOMDataReadWriteTransaction readWriteTx = broker.newReadWriteTransaction(); + final YangInstanceIdentifier path = mock(YangInstanceIdentifier.class); + readWriteTx.read(LogicalDatastoreType.OPERATIONAL, path); + + verify(contextSnapshot).read(path); + verify(contextDataTree).newModification(); + } + + @Test + public void testNewWriteOnlyTransaction() { + broker.newWriteOnlyTransaction(); + verify(contextDataTree).newModification(); + } + + @Test + public void testNewReadOnlyTransaction() { + final DOMDataReadOnlyTransaction readTx = broker.newReadOnlyTransaction(); + final YangInstanceIdentifier path = mock(YangInstanceIdentifier.class); + readTx.read(LogicalDatastoreType.OPERATIONAL, path); + + // operational data are read directly from data tree + verify(contextDataTree).read(path); + } + + @Test(expected = IllegalArgumentException.class) + public void testReadConfig() { + final DOMDataReadOnlyTransaction readTx = broker.newReadOnlyTransaction(); + + final YangInstanceIdentifier path = mock(YangInstanceIdentifier.class); + readTx.read(LogicalDatastoreType.CONFIGURATION, path); + } + + @Test(expected = UnsupportedOperationException.class) + public void testRegisterDataChangeListener() { + final YangInstanceIdentifier path = mock(YangInstanceIdentifier.class); + final DOMDataChangeListener listener = mock(DOMDataChangeListener.class); + broker.registerDataChangeListener(LogicalDatastoreType.OPERATIONAL, path, listener, + AsyncDataBroker.DataChangeScope.BASE); + } + + @Test(expected = UnsupportedOperationException.class) + public void testCreateTransactionChain() { + final TransactionChainListener listener = mock(TransactionChainListener.class); + broker.createTransactionChain(listener); + } + + @Test + public void testGetSupportedExtensions() { + final Map<Class<? extends DOMDataBrokerExtension>, DOMDataBrokerExtension> supportedExtensions = + broker.getSupportedExtensions(); + assertTrue(supportedExtensions.isEmpty()); + } + } }
\ No newline at end of file |