X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fconfig%2Fyang-store-impl%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fconfig%2Fyang%2Fstore%2Fimpl%2FExtenderYangTrackerCustomizerTest.java;h=b4054c242cee5a938f8968d109adfe7b5f29acf3;hp=427da1f634cd6c3ac657bf71b6ef4926f3b5b023;hb=f062dc05cc7caaf0c1811856370f1c9e2f1e5c34;hpb=4f623c74a703a31e787387b536981dcb344ca4f9 diff --git a/opendaylight/config/yang-store-impl/src/test/java/org/opendaylight/controller/config/yang/store/impl/ExtenderYangTrackerCustomizerTest.java b/opendaylight/config/yang-store-impl/src/test/java/org/opendaylight/controller/config/yang/store/impl/ExtenderYangTrackerCustomizerTest.java index 427da1f634..b4054c242c 100644 --- a/opendaylight/config/yang-store-impl/src/test/java/org/opendaylight/controller/config/yang/store/impl/ExtenderYangTrackerCustomizerTest.java +++ b/opendaylight/config/yang-store-impl/src/test/java/org/opendaylight/controller/config/yang/store/impl/ExtenderYangTrackerCustomizerTest.java @@ -7,22 +7,31 @@ */ package org.opendaylight.controller.config.yang.store.impl; +import com.google.common.base.Optional; import com.google.common.collect.Lists; +import com.google.common.collect.Maps; import org.junit.Before; import org.junit.Test; import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.opendaylight.controller.config.yang.store.api.YangStoreException; import org.opendaylight.controller.config.yang.store.api.YangStoreSnapshot; +import org.opendaylight.yangtools.yang.model.api.Module; import org.osgi.framework.Bundle; +import org.osgi.framework.BundleContext; +import org.osgi.framework.BundleListener; import java.io.InputStream; import java.net.MalformedURLException; import java.net.URL; +import java.util.Collections; import java.util.Enumeration; import java.util.List; +import java.util.Map; +import java.util.regex.Pattern; import static org.junit.Assert.assertEquals; +import static org.mockito.Matchers.any; import static org.mockito.Matchers.anyCollectionOf; import static org.mockito.Mockito.doNothing; import static org.mockito.Mockito.doReturn; @@ -34,22 +43,47 @@ import static org.mockito.Mockito.verifyNoMoreInteractions; public class ExtenderYangTrackerCustomizerTest { - private ExtenderYangTrackerCustomizer tested; + private ExtenderYangTracker tested; @Mock private MbeParser parser; @Mock - private YangStoreSnapshot yangStoreSnapshot; + private YangStoreSnapshotImpl yangStoreSnapshot; + @Mock + private BundleContext bundleContext; + + private Map> moduleMap = Maps.newHashMap(); @Before public void setUp() throws YangStoreException { - MockitoAnnotations.initMocks(this); - tested = new ExtenderYangTrackerCustomizer(parser); + moduleMap.put("1", new Map.Entry() { + @Override + public Module getKey() { + return mock(Module.class); + } + + @Override + public String getValue() { + return "v"; + } + + @Override + public String setValue(String value) { + return "v"; + } + }); + + MockitoAnnotations.initMocks(this); + doNothing().when(bundleContext).addBundleListener(any(BundleListener.class)); + doReturn(new Bundle[0]).when(bundleContext).getBundles(); + tested = new ExtenderYangTracker(parser, Optional.absent(), bundleContext); doReturn(yangStoreSnapshot).when(parser).parseYangFiles( anyCollectionOf(InputStream.class)); doReturn(22).when(yangStoreSnapshot).countModuleMXBeanEntries(); doReturn("mock yang store").when(yangStoreSnapshot).toString(); doNothing().when(yangStoreSnapshot).close(); + doReturn(moduleMap).when(yangStoreSnapshot).getModuleMap(); + doReturn(Collections.emptyMap()).when(yangStoreSnapshot).getModuleMXBeanEntryMap(); } @Test @@ -65,7 +99,7 @@ public class ExtenderYangTrackerCustomizerTest { returnedStore = tested.getYangStoreSnapshot(); - assertEquals(yangStoreSnapshot, returnedStore); + assertEquals(yangStoreSnapshot.getModuleMap(), returnedStore.getModuleMap()); tested.removedBundle(bundle, null, null); tested.getYangStoreSnapshot(); @@ -73,17 +107,15 @@ public class ExtenderYangTrackerCustomizerTest { bundle = getMockedBundle(10, false); tested.addingBundle(bundle, null); - for(int i = 0; i< 10; i++){ + for(int i = 0; i< 20; i++){ tested.getYangStoreSnapshot(); } - verify(parser, times(5)).parseYangFiles( - anyCollectionOf(InputStream.class)); + verify(parser, times(5)).parseYangFiles(anyCollectionOf(InputStream.class)); returnedStore = tested.getYangStoreSnapshot(); verifyNoMoreInteractions(parser); - assertEquals(yangStoreSnapshot, returnedStore); } int bundleCounter = 1; @@ -106,6 +138,7 @@ public class ExtenderYangTrackerCustomizerTest { doReturn(1L).when(mock).getBundleId(); doReturn("mockedBundle").when(mock).toString(); + doReturn("mockedBundle").when(mock).getSymbolicName(); return mock; }