X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fclustered-data-store%2Fimplementation%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fdatastore%2Finternal%2FClusteredDataStoreImplTest.java;h=4c97b19bacd831ddb01b23cebec8da803863d652;hp=8049bae5af602845c0b1b34616aef7a0cc1f6b30;hb=8baeda4ab8d240f847cd530ef6af7c7c1c2d4d13;hpb=615bd465f9582fc62aa435381197dd92fb6d4069 diff --git a/opendaylight/md-sal/clustered-data-store/implementation/src/test/java/org/opendaylight/controller/datastore/internal/ClusteredDataStoreImplTest.java b/opendaylight/md-sal/clustered-data-store/implementation/src/test/java/org/opendaylight/controller/datastore/internal/ClusteredDataStoreImplTest.java index 8049bae5af..4c97b19bac 100644 --- a/opendaylight/md-sal/clustered-data-store/implementation/src/test/java/org/opendaylight/controller/datastore/internal/ClusteredDataStoreImplTest.java +++ b/opendaylight/md-sal/clustered-data-store/implementation/src/test/java/org/opendaylight/controller/datastore/internal/ClusteredDataStoreImplTest.java @@ -1,3 +1,10 @@ +/* + * Copyright (c) 2014 Cisco Systems, Inc. and others. All rights reserved. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0 which accompanies this distribution, + * and is available at http://www.eclipse.org/legal/epl-v10.html + */ package org.opendaylight.controller.datastore.internal; import org.junit.Before; @@ -9,7 +16,8 @@ import org.opendaylight.controller.clustering.services.IClusterGlobalServices; import org.opendaylight.controller.clustering.services.IClusterServices; import org.opendaylight.controller.md.sal.common.api.data.DataCommitHandler; import org.opendaylight.controller.md.sal.common.api.data.DataModification; -import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; +import org.opendaylight.yangtools.yang.data.api.CompositeNode; +import org.opendaylight.yangtools.yang.data.api.InstanceIdentifier; import java.util.EnumSet; import java.util.Map; @@ -64,6 +72,31 @@ public class ClusteredDataStoreImplTest { } } + @Test + public void constructor_WhenOperationalDataCacheIsAlreadyPresent_ShouldNotAttemptToCreateCache() throws CacheExistException, CacheConfigException { + IClusterGlobalServices mockClusterGlobalServices = mock(IClusterGlobalServices.class); + + Mockito.>when(mockClusterGlobalServices.getCache(ClusteredDataStoreImpl.OPERATIONAL_DATA_CACHE)).thenReturn(new ConcurrentHashMap()); + Mockito.>when(mockClusterGlobalServices.getCache(ClusteredDataStoreImpl.CONFIGURATION_DATA_CACHE)).thenReturn(new ConcurrentHashMap()); + + new ClusteredDataStoreImpl(mockClusterGlobalServices); + + verify(mockClusterGlobalServices, never()).createCache(ClusteredDataStoreImpl.OPERATIONAL_DATA_CACHE, EnumSet.of(IClusterServices.cacheMode.TRANSACTIONAL)); + } + + @Test + public void constructor_WhenConfigurationDataCacheIsAlreadyPresent_ShouldNotAttemptToCreateCache() throws CacheExistException, CacheConfigException { + IClusterGlobalServices mockClusterGlobalServices = mock(IClusterGlobalServices.class); + + Mockito.>when(mockClusterGlobalServices.getCache(ClusteredDataStoreImpl.OPERATIONAL_DATA_CACHE)).thenReturn(new ConcurrentHashMap()); + Mockito.>when(mockClusterGlobalServices.getCache(ClusteredDataStoreImpl.CONFIGURATION_DATA_CACHE)).thenReturn(new ConcurrentHashMap()); + + new ClusteredDataStoreImpl(mockClusterGlobalServices); + + verify(mockClusterGlobalServices, never()).createCache(ClusteredDataStoreImpl.CONFIGURATION_DATA_CACHE, EnumSet.of(IClusterServices.cacheMode.TRANSACTIONAL)); + } + + @Test public void constructor_WhenPassedAValidClusteringServices_ShouldNotThrowAnyExceptions() throws CacheExistException, CacheConfigException { IClusterGlobalServices mockClusterGlobalServices = createClusterGlobalServices(); @@ -102,9 +135,9 @@ public class ClusteredDataStoreImplTest { IClusterGlobalServices mockClusterGlobalServices = createClusterGlobalServices(); - ConcurrentMap mockOperationalDataCache = mock(ConcurrentMap.class); + ConcurrentMap mockOperationalDataCache = mock(ConcurrentMap.class); - Object valueObject = mock(Object.class); + CompositeNode valueObject = mock(CompositeNode.class); when(mockOperationalDataCache.get(path)).thenReturn(valueObject); @@ -151,9 +184,9 @@ public class ClusteredDataStoreImplTest { IClusterGlobalServices mockClusterGlobalServices = createClusterGlobalServices(); - ConcurrentMap mockConfigurationDataCache = mock(ConcurrentMap.class); + ConcurrentMap mockConfigurationDataCache = mock(ConcurrentMap.class); - Object valueObject = mock(Object.class); + CompositeNode valueObject = mock(CompositeNode.class); when(mockConfigurationDataCache.get(path)).thenReturn(valueObject); @@ -198,7 +231,7 @@ public class ClusteredDataStoreImplTest { when(mockModification.getUpdatedConfigurationData()).thenReturn(configurationData); when(mockModification.getUpdatedOperationalData()).thenReturn(operationalData); - DataCommitHandler.DataCommitTransaction, Object> transaction = store.requestCommit(mockModification); + DataCommitHandler.DataCommitTransaction transaction = store.requestCommit(mockModification); transaction.finish(); @@ -227,7 +260,7 @@ public class ClusteredDataStoreImplTest { when(mockModification.getUpdatedConfigurationData()).thenReturn(configurationData); when(mockModification.getUpdatedOperationalData()).thenReturn(operationalData); - DataCommitHandler.DataCommitTransaction, Object> transaction = store.requestCommit(mockModification); + DataCommitHandler.DataCommitTransaction transaction = store.requestCommit(mockModification); transaction.rollback();