BUG-6858: adapt to ise api, fix NPE in listener when missing masterDB
[groupbasedpolicy.git] / sxp-integration / sxp-ep-provider / src / test / java / org / opendaylight / groupbasedpolicy / sxp / ep / provider / impl / dao / MasterDatabaseBindingDaoImplTest.java
index d549367696dfbd8b03651110d9277449e8d36214..cd94eb222ecb79bd8e39dcc7132d92752db8a9a9 100644 (file)
@@ -111,6 +111,21 @@ public class MasterDatabaseBindingDaoImplTest {
         Assert.assertFalse(read.get().isPresent());
     }
 
+    @Test
+    public void testRead_absentNull() throws Exception {
+        Mockito.when(cachedDao.find(Matchers.<IpPrefix>any())).thenReturn(Optional.<MasterDatabaseBinding>absent());
+        Mockito.when(dataBroker.newReadOnlyTransaction()).thenReturn(rTx);
+        Mockito.when(rTx.read(Matchers.eq(LogicalDatastoreType.CONFIGURATION),
+                Matchers.<InstanceIdentifier<Topology>>any())).thenReturn(
+                Futures.<Optional<Topology>, ReadFailedException>immediateCheckedFuture(
+                        Optional.of(new TopologyBuilder().build())));
+
+
+        final ListenableFuture<Optional<MasterDatabaseBinding>> read = dao.read(IP_PREFIX);
+        Assert.assertTrue(read.isDone());
+        Assert.assertFalse(read.get().isPresent());
+    }
+
     @Test
     public void testRead_presentCached() throws Exception {
         Mockito.when(cachedDao.find(Matchers.<IpPrefix>any())).thenReturn(Optional.of(MASTER_DB_BINDING_VALUE));