diff --git a/pom.xml b/pom.xml index 4bb9d49..f8eba42 100644 --- a/pom.xml +++ b/pom.xml @@ -42,6 +42,12 @@ 4.11 test + + io.teknek + tunit + 0.0.0 + test + log4j log4j diff --git a/src/test/java/io/teknek/gossip/TenNodeThreeSeedTest.java b/src/test/java/io/teknek/gossip/TenNodeThreeSeedTest.java index d619b6c..f91f689 100644 --- a/src/test/java/io/teknek/gossip/TenNodeThreeSeedTest.java +++ b/src/test/java/io/teknek/gossip/TenNodeThreeSeedTest.java @@ -1,11 +1,15 @@ package io.teknek.gossip; +import io.teknek.tunit.TUnit; + import java.net.UnknownHostException; import java.util.ArrayList; import java.util.List; +import java.util.concurrent.Callable; +import java.util.concurrent.TimeUnit; -import junit.framework.Assert; +import org.junit.Assert; import org.junit.Test; import com.google.code.gossip.GossipMember; @@ -34,8 +38,8 @@ public class TenNodeThreeSeedTest { for (int i = 1; i < seedNodes+1; ++i) { startupMembers.add(new RemoteGossipMember("127.0.0." + i, 2000, i + "")); } - List clients = new ArrayList<>(); - int clusterMembers = 5; + final List clients = new ArrayList<>(); + final int clusterMembers = 5; for (int i = 1; i < clusterMembers+1; ++i) { GossipService gossipService = new GossipService("127.0.0." + i, 2000, i + "", startupMembers, settings, @@ -47,12 +51,16 @@ public class TenNodeThreeSeedTest { }); clients.add(gossipService); gossipService.start(); - Thread.sleep(1000); - } - Thread.sleep(10000); - for (int i = 0; i < clusterMembers; ++i) { - Assert.assertEquals(4, clients.get(i).get_gossipManager().getMemberList().size()); } + TUnit.assertThat(new Callable (){ + public Integer call() throws Exception { + int total = 0; + for (int i = 0; i < clusterMembers; ++i) { + total += clients.get(i).get_gossipManager().getMemberList().size(); + } + return total; + }}).afterWaitingAtMost(10, TimeUnit.SECONDS).isEqualTo(20); + for (int i = 0; i < clusterMembers; ++i) { clients.get(i).shutdown(); }