X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;ds=sidebyside;f=opendaylight%2Fmd-sal%2Fsal-distributed-datastore%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fdatastore%2Fentityownership%2FDistributedEntityOwnershipServiceTest.java;h=100e6dec01250e510b1aa4ac24821fd43243a37c;hb=8882e6077db69d22bcc57fcf12dd4a02a81a4967;hp=17eb1f6cf1ffa3289ac9eb4392e89cc13d12d684;hpb=077b0b3a083c96c72f32116491158a930ff770d2;p=controller.git diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/entityownership/DistributedEntityOwnershipServiceTest.java b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/entityownership/DistributedEntityOwnershipServiceTest.java index 17eb1f6cf1..100e6dec01 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/entityownership/DistributedEntityOwnershipServiceTest.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/entityownership/DistributedEntityOwnershipServiceTest.java @@ -8,6 +8,7 @@ package org.opendaylight.controller.cluster.datastore.entityownership; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertSame; import static org.junit.Assert.assertTrue; @@ -25,7 +26,9 @@ import akka.actor.PoisonPill; import akka.actor.Props; import com.google.common.base.Function; import com.google.common.base.Optional; +import com.google.common.collect.Sets; import com.google.common.util.concurrent.Uninterruptibles; +import java.util.Collection; import java.util.Collections; import java.util.Map; import java.util.concurrent.CountDownLatch; @@ -85,18 +88,24 @@ public class DistributedEntityOwnershipServiceTest extends AbstractEntityOwnersh DatastoreContext datastoreContext = DatastoreContext.newBuilder().dataStoreType(dataStoreType). shardInitializationTimeout(10, TimeUnit.SECONDS).build(); - Configuration configuration = new ConfigurationImpl(new ModuleShardConfigProvider() { + ModuleShardConfigProvider configProvider = new ModuleShardConfigProvider() { @Override public Map retrieveModuleConfigs(Configuration configuration) { return Collections.emptyMap(); } - }); + }; + Configuration configuration = new ConfigurationImpl(configProvider) { + @Override + public Collection getUniqueMemberNamesForAllShards() { + return Sets.newHashSet("member-1"); + } + }; DatastoreContextFactory mockContextFactory = Mockito.mock(DatastoreContextFactory.class); Mockito.doReturn(datastoreContext).when(mockContextFactory).getBaseDatastoreContext(); Mockito.doReturn(datastoreContext).when(mockContextFactory).getShardDatastoreContext(Mockito.anyString()); - dataStore = new DistributedDataStore(getSystem(), new MockClusterWrapper(), configuration, mockContextFactory); + dataStore = new DistributedDataStore(getSystem(), new MockClusterWrapper(), configuration, mockContextFactory, null); dataStore.onGlobalContextUpdated(SchemaContextHelper.entityOwners()); } @@ -108,7 +117,8 @@ public class DistributedEntityOwnershipServiceTest extends AbstractEntityOwnersh @Test public void testEntityOwnershipShardCreated() throws Exception { - DistributedEntityOwnershipService service = new DistributedEntityOwnershipService(dataStore); + DistributedEntityOwnershipService service = new DistributedEntityOwnershipService(dataStore, + EntityOwnerSelectionStrategyConfig.newBuilder().build()); service.start(); Future future = dataStore.getActorContext().findLocalShardAsync( @@ -122,7 +132,8 @@ public class DistributedEntityOwnershipServiceTest extends AbstractEntityOwnersh @Test public void testRegisterCandidate() throws Exception { final TestShardBuilder shardBuilder = new TestShardBuilder(); - DistributedEntityOwnershipService service = new DistributedEntityOwnershipService(dataStore) { + DistributedEntityOwnershipService service = new DistributedEntityOwnershipService(dataStore, + EntityOwnerSelectionStrategyConfig.newBuilder().build()) { @Override protected EntityOwnershipShard.Builder newShardBuilder() { return shardBuilder; @@ -171,7 +182,8 @@ public class DistributedEntityOwnershipServiceTest extends AbstractEntityOwnersh @Test public void testCloseCandidateRegistration() throws Exception { final TestShardBuilder shardBuilder = new TestShardBuilder(); - DistributedEntityOwnershipService service = new DistributedEntityOwnershipService(dataStore) { + DistributedEntityOwnershipService service = new DistributedEntityOwnershipService(dataStore, + EntityOwnerSelectionStrategyConfig.newBuilder().build()) { @Override protected EntityOwnershipShard.Builder newShardBuilder() { return shardBuilder; @@ -210,7 +222,8 @@ public class DistributedEntityOwnershipServiceTest extends AbstractEntityOwnersh @Test public void testListenerRegistration() { final TestShardBuilder shardBuilder = new TestShardBuilder(); - DistributedEntityOwnershipService service = new DistributedEntityOwnershipService(dataStore) { + DistributedEntityOwnershipService service = new DistributedEntityOwnershipService(dataStore, + EntityOwnerSelectionStrategyConfig.newBuilder().build()) { @Override protected EntityOwnershipShard.Builder newShardBuilder() { return shardBuilder; @@ -249,7 +262,8 @@ public class DistributedEntityOwnershipServiceTest extends AbstractEntityOwnersh @Test public void testGetOwnershipState() throws Exception { final TestShardBuilder shardBuilder = new TestShardBuilder(); - DistributedEntityOwnershipService service = new DistributedEntityOwnershipService(dataStore) { + DistributedEntityOwnershipService service = new DistributedEntityOwnershipService(dataStore, + EntityOwnerSelectionStrategyConfig.newBuilder().build()) { @Override protected EntityOwnershipShard.Builder newShardBuilder() { return shardBuilder; @@ -285,6 +299,30 @@ public class DistributedEntityOwnershipServiceTest extends AbstractEntityOwnersh service.close(); } + @Test + public void testIsCandidateRegistered() throws CandidateAlreadyRegisteredException { + final TestShardBuilder shardBuilder = new TestShardBuilder(); + DistributedEntityOwnershipService service = new DistributedEntityOwnershipService(dataStore, + EntityOwnerSelectionStrategyConfig.newBuilder().build()) { + @Override + protected EntityOwnershipShard.Builder newShardBuilder() { + return shardBuilder; + } + }; + + service.start(); + + final Entity test = new Entity("test-type", "test"); + + assertFalse(service.isCandidateRegistered(test)); + + service.registerCandidate(test); + + assertTrue(service.isCandidateRegistered(test)); + + service.close(); + } + private static void verifyGetOwnershipState(DistributedEntityOwnershipService service, Entity entity, boolean isOwner, boolean hasOwner) { Optional state = service.getOwnershipState(entity);