use of com.hazelcast.cp.CPMember in project hazelcast by hazelcast.
the class RestCPSubsystemTest method test_getDefaultCPGroupByName.
@Test
public void test_getDefaultCPGroupByName() throws IOException {
final HazelcastInstance instance1 = Hazelcast.newHazelcastInstance(config);
final HazelcastInstance instance2 = Hazelcast.newHazelcastInstance(config);
final HazelcastInstance instance3 = Hazelcast.newHazelcastInstance(config);
waitUntilCPDiscoveryCompleted(instance1, instance2, instance3);
instance1.getCPSubsystem().getAtomicLong("long1").set(5);
HTTPCommunicator communicator = new HTTPCommunicator(instance1);
ConnectionResponse response = communicator.getCPGroupByName(DEFAULT_GROUP_NAME);
assertEquals(200, response.responseCode);
CPMember cpMember1 = instance1.getCPSubsystem().getLocalCPMember();
CPMember cpMember2 = instance2.getCPSubsystem().getLocalCPMember();
CPMember cpMember3 = instance3.getCPSubsystem().getLocalCPMember();
boolean cpMember1Found = false;
boolean cpMember2Found = false;
boolean cpMember3Found = false;
JsonObject json = (JsonObject) Json.parse(response.response);
assertEquals(DEFAULT_GROUP_NAME, ((JsonObject) json.get("id")).getString("name", ""));
assertEquals(CPGroupStatus.ACTIVE.name(), json.getString("status", ""));
for (JsonValue val : (JsonArray) json.get("members")) {
JsonObject mem = (JsonObject) val;
cpMember1Found |= cpMember1.getUuid().equals(UUID.fromString(mem.getString("uuid", "")));
cpMember2Found |= cpMember2.getUuid().equals(UUID.fromString(mem.getString("uuid", "")));
cpMember3Found |= cpMember3.getUuid().equals(UUID.fromString(mem.getString("uuid", "")));
}
assertTrue(cpMember1Found);
assertTrue(cpMember2Found);
assertTrue(cpMember3Found);
}
use of com.hazelcast.cp.CPMember in project hazelcast by hazelcast.
the class RestCPSubsystemTest method test_getLocalCPMember.
@Test
public void test_getLocalCPMember() throws IOException {
final HazelcastInstance instance1 = Hazelcast.newHazelcastInstance(config);
final HazelcastInstance instance2 = Hazelcast.newHazelcastInstance(config);
final HazelcastInstance instance3 = Hazelcast.newHazelcastInstance(config);
HazelcastInstance instance4 = Hazelcast.newHazelcastInstance(config);
waitUntilCPDiscoveryCompleted(instance1, instance2, instance3, instance4);
ConnectionResponse response1 = new HTTPCommunicator(instance1).getLocalCPMember();
ConnectionResponse response2 = new HTTPCommunicator(instance2).getLocalCPMember();
ConnectionResponse response3 = new HTTPCommunicator(instance3).getLocalCPMember();
ConnectionResponse response4 = new HTTPCommunicator(instance4).getLocalCPMember();
assertEquals(200, response1.responseCode);
assertEquals(200, response2.responseCode);
assertEquals(200, response3.responseCode);
assertEquals(404, response4.responseCode);
CPMember cpMember1 = instance1.getCPSubsystem().getLocalCPMember();
CPMember cpMember2 = instance2.getCPSubsystem().getLocalCPMember();
CPMember cpMember3 = instance3.getCPSubsystem().getLocalCPMember();
assertEquals(cpMember1.getUuid(), UUID.fromString(((JsonObject) Json.parse(response1.response)).getString("uuid", "")));
assertEquals(cpMember2.getUuid(), UUID.fromString(((JsonObject) Json.parse(response2.response)).getString("uuid", "")));
assertEquals(cpMember3.getUuid(), UUID.fromString(((JsonObject) Json.parse(response3.response)).getString("uuid", "")));
}
use of com.hazelcast.cp.CPMember in project hazelcast by hazelcast.
the class RestCPSubsystemTest method test_removeCPMember.
@Test
public void test_removeCPMember() throws IOException {
final HazelcastInstance instance1 = Hazelcast.newHazelcastInstance(config);
final HazelcastInstance instance2 = Hazelcast.newHazelcastInstance(config);
final HazelcastInstance instance3 = Hazelcast.newHazelcastInstance(config);
waitUntilCPDiscoveryCompleted(instance1, instance2, instance3);
CPMember crashedCPMember = instance3.getCPSubsystem().getLocalCPMember();
instance3.getLifecycleService().terminate();
assertClusterSizeEventually(2, instance1, instance2);
ConnectionResponse response = new HTTPCommunicator(instance1).removeCPMember(crashedCPMember.getUuid(), clusterName, null);
assertEquals(200, response.responseCode);
}
use of com.hazelcast.cp.CPMember in project hazelcast by hazelcast.
the class ClientCPMembershipListenerTest method whenMultipleListenersRegistered_thenAllReceiveEvents.
@Test
public void whenMultipleListenersRegistered_thenAllReceiveEvents() {
HazelcastInstance[] instances = newInstances(3);
HazelcastInstance client = factory.newHazelcastClient();
CountingDownCPMembershipListener listener1 = new CountingDownCPMembershipListener(0, 1);
CountingDownCPMembershipListener listener2 = new CountingDownCPMembershipListener(0, 1);
client.getCPSubsystem().addMembershipListener(listener1);
client.getCPSubsystem().addMembershipListener(listener2);
HazelcastInstance instance = instances[instances.length - 1];
CPMember member = instance.getCPSubsystem().getLocalCPMember();
instance.shutdown();
assertOpenEventually(listener1.removedLatch);
assertOpenEventually(listener2.removedLatch);
assertEquals(member, listener1.removedMembers.get(0));
assertEquals(member, listener2.removedMembers.get(0));
}
use of com.hazelcast.cp.CPMember in project hazelcast by hazelcast.
the class ClientCPMembershipListenerTest method whenMemberShutdown_thenReceiveMemberRemovedEvent.
@Test
public void whenMemberShutdown_thenReceiveMemberRemovedEvent() {
HazelcastInstance[] instances = newInstances(3);
HazelcastInstance client = factory.newHazelcastClient();
CountingDownCPMembershipListener listener = new CountingDownCPMembershipListener(0, 1);
client.getCPSubsystem().addMembershipListener(listener);
HazelcastInstance instance = instances[instances.length - 1];
CPMember member = instance.getCPSubsystem().getLocalCPMember();
instance.shutdown();
assertOpenEventually(listener.removedLatch);
assertEquals(member, listener.removedMembers.get(0));
}
Aggregations