use of com.hazelcast.test.TestHazelcastInstanceFactory in project hazelcast by hazelcast.
the class LifeCycleListenerTest method testListenerInvocationWhenNodeStarts.
@Test
public void testListenerInvocationWhenNodeStarts() {
TestHazelcastInstanceFactory factory = createHazelcastInstanceFactory(1);
final Config config = new Config();
final EventCountingListener listener = new EventCountingListener();
config.addListenerConfig(new ListenerConfig(listener));
factory.newHazelcastInstance(config);
assertEquals(LifecycleState.STARTING, listener.events.get(0));
assertEquals(LifecycleState.STARTED, listener.events.get(1));
}
use of com.hazelcast.test.TestHazelcastInstanceFactory in project hazelcast by hazelcast.
the class AdvancedClusterStateTest method partitionAssignment_shouldFail_whenTriggered_inPassiveState.
@Test(expected = IllegalStateException.class)
public void partitionAssignment_shouldFail_whenTriggered_inPassiveState() {
Config config = new Config();
TestHazelcastInstanceFactory factory = createHazelcastInstanceFactory(3);
HazelcastInstance[] instances = factory.newInstances(config);
HazelcastInstance hz1 = instances[0];
HazelcastInstance hz2 = instances[1];
HazelcastInstance hz3 = instances[2];
hz2.getCluster().changeClusterState(ClusterState.PASSIVE);
InternalPartitionService partitionService = getPartitionService(hz1);
partitionService.getPartitionOwnerOrWait(1);
}
use of com.hazelcast.test.TestHazelcastInstanceFactory in project hazelcast by hazelcast.
the class AdvancedClusterStateTest method partitionAssignment_shouldFail_whenTriggered_inFrozenState.
@Test(expected = IllegalStateException.class)
public void partitionAssignment_shouldFail_whenTriggered_inFrozenState() {
Config config = new Config();
TestHazelcastInstanceFactory factory = createHazelcastInstanceFactory(3);
HazelcastInstance[] instances = factory.newInstances(config);
HazelcastInstance hz1 = instances[0];
HazelcastInstance hz2 = instances[1];
HazelcastInstance hz3 = instances[2];
hz2.getCluster().changeClusterState(ClusterState.FROZEN);
InternalPartitionService partitionService = getPartitionService(hz1);
partitionService.getPartitionOwnerOrWait(1);
}
use of com.hazelcast.test.TestHazelcastInstanceFactory in project hazelcast by hazelcast.
the class AdvancedClusterStateTest method nodesCanShutDown_whenClusterState_frozen.
@Test
public void nodesCanShutDown_whenClusterState_frozen() {
final TestHazelcastInstanceFactory factory = createHazelcastInstanceFactory(3);
final HazelcastInstance[] instances = factory.newInstances(new Config());
HazelcastInstance hz = instances[instances.length - 1];
// for updating partition version
hz.getMap(randomMapName()).put(1, 1);
changeClusterStateEventually(hz, ClusterState.FROZEN);
List<HazelcastInstance> instanceList = new ArrayList<HazelcastInstance>(Arrays.asList(instances));
while (!instanceList.isEmpty()) {
HazelcastInstance instanceToShutdown = instanceList.remove(0);
instanceToShutdown.shutdown();
for (HazelcastInstance instance : instanceList) {
assertClusterSizeEventually(instanceList.size(), instance);
}
}
}
use of com.hazelcast.test.TestHazelcastInstanceFactory in project hazelcast by hazelcast.
the class AdvancedClusterStateTest method partitionInvocation_shouldFail_whenPartitionsNotAssigned_inPassiveState.
@Test(expected = IllegalStateException.class)
public void partitionInvocation_shouldFail_whenPartitionsNotAssigned_inPassiveState() throws InterruptedException {
Config config = new Config();
TestHazelcastInstanceFactory factory = createHazelcastInstanceFactory(3);
HazelcastInstance[] instances = factory.newInstances(config);
HazelcastInstance hz1 = instances[0];
HazelcastInstance hz2 = instances[1];
HazelcastInstance hz3 = instances[2];
hz2.getCluster().changeClusterState(ClusterState.PASSIVE);
InternalOperationService operationService = getNode(hz3).getNodeEngine().getOperationService();
Operation op = new AddAndGetOperation(randomName(), 1);
Future<Long> future = operationService.invokeOnPartition(AtomicLongService.SERVICE_NAME, op, 1);
try {
future.get();
fail("Partition invocation must fail, because partitions cannot be assigned!");
} catch (ExecutionException e) {
// IllegalStateException should be cause of ExecutionException.
throw ExceptionUtil.rethrow(e);
}
}
Aggregations