mirror of
https://github.com/michaelrausch/Party-Parrots-At-Sea.git
synced 2026-05-09 06:18:44 +00:00
Made discovery more reliable & added docs/tests
- Added unit tests - Added documentation for discovery classes - Improved error handling Tags: #story[1281]
This commit is contained in:
@@ -0,0 +1,57 @@
|
||||
package seng302.serverDiscovery;
|
||||
|
||||
import org.junit.BeforeClass;
|
||||
import org.junit.Test;
|
||||
import seng302.discoveryServer.util.ServerListing;
|
||||
import seng302.discoveryServer.util.ServerTable;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
import static org.junit.Assert.assertTrue;
|
||||
|
||||
public class ServerTableTest {
|
||||
private static ServerTable serverTable;
|
||||
|
||||
@BeforeClass
|
||||
public static void setup(){
|
||||
serverTable = new ServerTable();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testAddServer(){
|
||||
ServerListing listing = new ServerListing("", "", "", 12, 12);
|
||||
serverTable.addServer(listing);
|
||||
|
||||
assertTrue(serverTable.getAllServers().contains(listing));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetNextRoomCodeIsUnique(){
|
||||
assertTrue(!Objects.equals(serverTable.getNextRoomCode(), serverTable.getNextRoomCode()));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetServerRoomCode(){
|
||||
ServerListing listing = new ServerListing("123", "", "", 12, 12);
|
||||
listing.setRoomCode(serverTable.getNextRoomCode().toString());
|
||||
serverTable.addServer(listing);
|
||||
|
||||
ServerListing result = serverTable.getServerByRoomCode(listing.getRoomCode());
|
||||
|
||||
assertTrue(result.equals(listing));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testServersRemovedOnExpiry() throws InterruptedException {
|
||||
ServerListing listing = new ServerListing("432", "221", "", 12, 12);
|
||||
listing.setTtl(1);
|
||||
|
||||
serverTable.addServer(listing);
|
||||
|
||||
listing.decrementTtl();
|
||||
|
||||
Thread.sleep(1000);
|
||||
|
||||
assertTrue(!serverTable.getAllServers().contains(listing));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user