use of com.hazelcast.core.ITopic in project hazelcast by hazelcast.
the class ClientReliableTopicTest method testCreation.
@Test
public void testCreation() {
ITopic topic = client.getReliableTopic(randomString());
assertInstanceOf(ClientReliableTopicProxy.class, topic);
}
use of com.hazelcast.core.ITopic in project hazelcast by hazelcast.
the class ClientReliableTopicTest method removeMessageListener_whenNull.
// ============== removeMessageListener ==============================
@Test(expected = NullPointerException.class)
public void removeMessageListener_whenNull() {
ITopic topic = client.getReliableTopic(randomString());
topic.removeMessageListener(null);
}
use of com.hazelcast.core.ITopic in project hazelcast by hazelcast.
the class ClientReliableTopicTest method testMessageFieldSetCorrectly.
@Test
public void testMessageFieldSetCorrectly() {
ITopic topic = client.getReliableTopic(randomString());
final ReliableMessageListenerMock listener = new ReliableMessageListenerMock();
topic.addMessageListener(listener);
final long beforePublishTime = Clock.currentTimeMillis();
final String messageStr = randomString();
topic.publish(messageStr);
final long afterPublishTime = Clock.currentTimeMillis();
assertTrueEventually(new AssertTask() {
@Override
public void run() throws Exception {
assertEquals(1, listener.messages.size());
Message<String> message = listener.messages.get(0);
assertEquals(messageStr, message.getMessageObject());
assertEquals(null, message.getPublishingMember());
long actualPublishTime = message.getPublishTime();
assertTrue(actualPublishTime >= beforePublishTime);
assertTrue(actualPublishTime <= afterPublishTime);
}
});
}
use of com.hazelcast.core.ITopic in project hazelcast by hazelcast.
the class ClientReliableTopicTest method testListener.
@Test
public void testListener() throws InterruptedException {
ITopic topic = client.getReliableTopic(randomString());
int messageCount = 10;
final CountDownLatch latch = new CountDownLatch(messageCount);
MessageListener listener = new MessageListener() {
public void onMessage(Message message) {
latch.countDown();
}
};
topic.addMessageListener(listener);
for (int i = 0; i < messageCount; i++) {
topic.publish(i);
}
assertTrue(latch.await(20, TimeUnit.SECONDS));
}
use of com.hazelcast.core.ITopic in project hazelcast by hazelcast.
the class ClientReliableTopicTest method testAlwaysStartAfterTail.
// makes sure that when a listener is register, we don't see any messages being published before
// it got registered. We'll only see the messages after it got registered.
@Test
public void testAlwaysStartAfterTail() {
final ITopic topic = client.getReliableTopic(randomString());
topic.publish("1");
topic.publish("2");
topic.publish("3");
spawn(new Runnable() {
@Override
public void run() {
sleepSeconds(5);
topic.publish("4");
topic.publish("5");
topic.publish("6");
}
});
final ReliableMessageListenerMock listener = new ReliableMessageListenerMock();
topic.addMessageListener(listener);
assertTrueEventually(new AssertTask() {
@Override
public void run() throws Exception {
assertEquals(asList("4", "5", "6"), Arrays.asList(listener.objects.toArray()));
}
});
}
Aggregations