Use tunit instead of long sleeps

This commit is contained in:
Edward Capriolo
2016-01-01 18:51:30 -05:00
parent 80bbccbd68
commit f263fd41ae
2 changed files with 22 additions and 8 deletions

View File

@ -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<GossipService> clients = new ArrayList<>();
int clusterMembers = 5;
final List<GossipService> 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<Integer> (){
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();
}