m-chrzan.xyz
aboutsummaryrefslogtreecommitdiff
path: root/src/test/java/pl/edu/mimuw/cloudatlas
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/java/pl/edu/mimuw/cloudatlas')
-rw-r--r--src/test/java/pl/edu/mimuw/cloudatlas/agent/UDUPTest.java129
1 files changed, 84 insertions, 45 deletions
diff --git a/src/test/java/pl/edu/mimuw/cloudatlas/agent/UDUPTest.java b/src/test/java/pl/edu/mimuw/cloudatlas/agent/UDUPTest.java
index 13a322b..ac2c587 100644
--- a/src/test/java/pl/edu/mimuw/cloudatlas/agent/UDUPTest.java
+++ b/src/test/java/pl/edu/mimuw/cloudatlas/agent/UDUPTest.java
@@ -1,17 +1,21 @@
package pl.edu.mimuw.cloudatlas.agent;
import org.junit.*;
+import pl.edu.mimuw.cloudatlas.agent.messages.GossipGirlMessage;
+import pl.edu.mimuw.cloudatlas.agent.messages.RemoteGossipGirlMessage;
import pl.edu.mimuw.cloudatlas.agent.messages.UDUPMessage;
import pl.edu.mimuw.cloudatlas.agent.messages.UpdateAttributesMessage;
import pl.edu.mimuw.cloudatlas.agent.modules.Module;
import pl.edu.mimuw.cloudatlas.agent.modules.ModuleType;
import pl.edu.mimuw.cloudatlas.agent.modules.UDUP;
+import pl.edu.mimuw.cloudatlas.agent.modules.UDUPServer;
import pl.edu.mimuw.cloudatlas.model.AttributesMap;
import pl.edu.mimuw.cloudatlas.model.PathName;
import pl.edu.mimuw.cloudatlas.model.ValueContact;
import pl.edu.mimuw.cloudatlas.model.ValueInt;
import java.net.InetAddress;
+import java.net.SocketException;
import java.net.UnknownHostException;
// TODO add serialization tests that target custom serializers (type collections!)
@@ -22,29 +26,34 @@ public class UDUPTest {
public void messageBetweenUDUPs() {
UDUP udp1 = null;
UDUP udp2 = null;
+ UDUPServer server1 = null;
+ UDUPServer server2 = null;
UDUPMessage msg1 = null;
boolean testSuccess = true;
+ int timeout = 5000;
try {
System.out.println("Starting udp1");
+ server1 = new UDUPServer(InetAddress.getByName("127.0.0.2"), 5996, 1000);
udp1 = new UDUP(
- InetAddress.getByName("127.0.0.2"),
- 5999,
- 5000,
- 1000);
+ 5997,
+ timeout,
+ 1000,
+ server1);
System.out.println("Starting udp2");
+ server2 = new UDUPServer(InetAddress.getByName("127.0.0.3"), 5996, 1000);
udp2 = new UDUP(
- InetAddress.getByName("127.0.0.3"),
- 5999,
- 5000,
- 1000);
+ 5997,
+ timeout,
+ 1000,
+ server2);
- UDUPMessage testContent = new UDUPMessage();
+ RemoteGossipGirlMessage testContent =
+ new RemoteGossipGirlMessage("singleMsgTest", 0, GossipGirlMessage.Type.NO_CO_TAM);
testContent.setDestinationModule(ModuleType.TEST);
- testContent.setMessageId("singleMsgTest");
msg1 = new UDUPMessage(
"udup1",
@@ -52,23 +61,23 @@ public class UDUPTest {
testContent
);
- } catch (UnknownHostException e) {
+ } catch (UnknownHostException | SocketException e) {
e.printStackTrace();
+ testSuccess = false;
}
- Thread udpThread1 = new Thread(udp1);
+ Thread udpThread1 = new Thread(server1);
udpThread1.start();
- Thread udpThread2 = new Thread(udp2);
+ Thread udpThread2 = new Thread(server2);
udpThread2.start();
try {
- Thread.sleep(5000);
- System.out.println("Sending message");
+ Thread.sleep(500);
if (udp1 == null | udp2 == null) {
- Assert.fail("UDPs not initialized");
+ testSuccess = false;
} else {
udp1.handle(msg1);
- Thread.sleep(10000);
+ Thread.sleep(timeout);
}
} catch (InterruptedException | Module.InvalidMessageType e) {
e.printStackTrace();
@@ -89,30 +98,34 @@ public class UDUPTest {
public void bigMessageBetweenUDUPs() {
UDUP udp1 = null;
UDUP udp2 = null;
+ UDUPServer server1 = null;
+ UDUPServer server2 = null;
UDUPMessage msg1 = null;
boolean testSuccess = true;
- int timeout = 5000;
+ int timeout = 3000;
try {
System.out.println("Starting udp1");
+ server1 = new UDUPServer(InetAddress.getByName("127.0.0.2"), 5991, 1000);
udp1 = new UDUP(
- InetAddress.getByName("127.0.0.2"),
- 5998,
+ 5997,
timeout,
- 30);
+ 30,
+ server1);
System.out.println("Starting udp2");
+ server2 = new UDUPServer(InetAddress.getByName("127.0.0.3"), 5991, 1000);
udp2 = new UDUP(
- InetAddress.getByName("127.0.0.3"),
- 5998,
+ 5997,
timeout,
- 30);
+ 30,
+ server2);
- UDUPMessage testContent = new UDUPMessage();
+ RemoteGossipGirlMessage testContent =
+ new RemoteGossipGirlMessage("bigMsgTest", 0, GossipGirlMessage.Type.NO_CO_TAM);
testContent.setDestinationModule(ModuleType.TEST);
- testContent.setMessageId("bigMsgTest");
msg1 = new UDUPMessage(
"udup1",
@@ -120,18 +133,24 @@ public class UDUPTest {
testContent
);
- } catch (UnknownHostException e) {
+ } catch (UnknownHostException | SocketException e) {
e.printStackTrace();
+ testSuccess = false;
}
- Thread udpThread1 = new Thread(udp1);
+ Thread udpThread1 = new Thread(server1);
udpThread1.start();
- Thread udpThread2 = new Thread(udp2);
+ Thread udpThread2 = new Thread(server2);
udpThread2.start();
try {
- udp1.handle(msg1);
- Thread.sleep(timeout + 1000);
+ Thread.sleep(500);
+ if (udp1 == null | udp2 == null) {
+ testSuccess = false;
+ } else {
+ udp1.handle(msg1);
+ Thread.sleep(timeout);
+ }
} catch (InterruptedException | Module.InvalidMessageType e) {
e.printStackTrace();
testSuccess = false;
@@ -152,32 +171,36 @@ public class UDUPTest {
public void sendMultipleMessages() {
UDUP udp1 = null;
UDUP udp2 = null;
+ UDUPServer server1 = null;
+ UDUPServer server2 = null;
UDUPMessage msg1 = null;
UDUPMessage msg2 = null;
UDUPMessage msg3 = null;
boolean testSuccess = true;
- int timeout = 5000;
+ int timeout = 3000;
try {
System.out.println("Starting udp1");
+ server1 = new UDUPServer(InetAddress.getByName("127.0.0.2"), 5997, 1000);
udp1 = new UDUP(
- InetAddress.getByName("127.0.0.2"),
5997,
timeout,
- 1000);
+ 1000,
+ server1);
System.out.println("Starting udp2");
+ server2 = new UDUPServer(InetAddress.getByName("127.0.0.3"), 5997, 1000);
udp2 = new UDUP(
- InetAddress.getByName("127.0.0.3"),
5997,
timeout,
- 1000);
+ 1000,
+ server2);
- UDUPMessage testContent = new UDUPMessage();
+ RemoteGossipGirlMessage testContent =
+ new RemoteGossipGirlMessage("multipleMsgTest", 0, GossipGirlMessage.Type.NO_CO_TAM);
testContent.setDestinationModule(ModuleType.TEST);
- testContent.setMessageId("multipleMsgTest");
msg1 = new UDUPMessage(
"udup1",
@@ -197,22 +220,38 @@ public class UDUPTest {
testContent
);
- } catch (UnknownHostException e) {
+ } catch (UnknownHostException | SocketException e) {
e.printStackTrace();
+ testSuccess = false;
}
- Thread udpThread1 = new Thread(udp1);
+ Thread udpThread1 = new Thread(server1);
udpThread1.start();
- Thread udpThread2 = new Thread(udp2);
+ Thread udpThread2 = new Thread(server2);
udpThread2.start();
try {
- udp1.handle(msg1);
- udp1.handle(msg2);
- udp1.handle(msg3);
- Thread.sleep(timeout + 2000);
+ Thread.sleep(500);
+ if (udp1 == null | udp2 == null) {
+ testSuccess = false;
+ } else {
+ udp1.handle(msg1);
+ udp1.handle(msg2);
+ udp1.handle(msg3);
+ Thread.sleep(timeout);
+ }
} catch (InterruptedException | Module.InvalidMessageType e) {
e.printStackTrace();
+ testSuccess = false;
+ }
+
+ udpThread1.interrupt();
+ udpThread2.interrupt();
+
+ if (testSuccess) {
+ Assert.assertTrue(true);
+ } else {
+ Assert.fail();
}
}
}