m-chrzan.xyz
aboutsummaryrefslogtreecommitdiff
path: root/src/test/java
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/java')
-rw-r--r--src/test/java/pl/edu/mimuw/cloudatlas/agent/UDUPTest.java184
1 files changed, 113 insertions, 71 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 e4f601a..13a322b 100644
--- a/src/test/java/pl/edu/mimuw/cloudatlas/agent/UDUPTest.java
+++ b/src/test/java/pl/edu/mimuw/cloudatlas/agent/UDUPTest.java
@@ -2,15 +2,20 @@ package pl.edu.mimuw.cloudatlas.agent;
import org.junit.*;
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.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.UnknownHostException;
+// TODO add serialization tests that target custom serializers (type collections!)
+
public class UDUPTest {
@Test
@@ -39,6 +44,7 @@ public class UDUPTest {
UDUPMessage testContent = new UDUPMessage();
testContent.setDestinationModule(ModuleType.TEST);
+ testContent.setMessageId("singleMsgTest");
msg1 = new UDUPMessage(
"udup1",
@@ -78,45 +84,65 @@ public class UDUPTest {
Assert.fail();
}
}
-/*
+
@Test
public void bigMessageBetweenUDUPs() {
- UDUP udp1 = new UDUP(
- ModuleType.UDP,
- 5999,
- 1000,
- 5000,
- 256);
-
- UDUP udp2 = new UDUP(
- ModuleType.UDP,
- 5998,
- 1000,
- 5000,
- 256);
-
- AttributesMap bigAttrib = new AttributesMap();
- for (Long i = 1L; i < 20; i++) {
- bigAttrib.add(i.toString(), new ValueInt(i));
+ UDUP udp1 = null;
+ UDUP udp2 = null;
+ UDUPMessage msg1 = null;
+ boolean testSuccess = true;
+ int timeout = 5000;
+
+ try {
+ System.out.println("Starting udp1");
+
+ udp1 = new UDUP(
+ InetAddress.getByName("127.0.0.2"),
+ 5998,
+ timeout,
+ 30);
+
+ System.out.println("Starting udp2");
+
+ udp2 = new UDUP(
+ InetAddress.getByName("127.0.0.3"),
+ 5998,
+ timeout,
+ 30);
+
+ UDUPMessage testContent = new UDUPMessage();
+ testContent.setDestinationModule(ModuleType.TEST);
+ testContent.setMessageId("bigMsgTest");
+
+ msg1 = new UDUPMessage(
+ "udup1",
+ new ValueContact(new PathName("/udp2"), InetAddress.getByName("127.0.0.3")),
+ testContent
+ );
+
+ } catch (UnknownHostException e) {
+ e.printStackTrace();
}
- UDUPMessage msg1 = new UDUPMessage(
- "udp1",
- ModuleType.UDP,
- "localhost",
- 5998,
- new UpdateAttributesMessage("updateattrib1", 0,"/", bigAttrib),
- 0,
- "conv1");
+ Thread udpThread1 = new Thread(udp1);
+ udpThread1.start();
+ Thread udpThread2 = new Thread(udp2);
+ udpThread2.start();
try {
udp1.handle(msg1);
- Thread.sleep(1000);
- UDUPMessage conv = udp2.fetchConversation("conv1");
- Assert.assertEquals(conv.getConversationId(), "conv1");
+ Thread.sleep(timeout + 1000);
} catch (InterruptedException | Module.InvalidMessageType e) {
e.printStackTrace();
- } catch (UDUP.InvalidConversation noConversationError) {
+ testSuccess = false;
+ }
+
+ udpThread1.interrupt();
+ udpThread2.interrupt();
+
+ if (testSuccess) {
+ Assert.assertTrue(true);
+ } else {
Assert.fail();
}
}
@@ -124,53 +150,69 @@ public class UDUPTest {
@Test
public void sendMultipleMessages() {
- @Test
- public void messageBetweenUDUPs() {
- UDUP udp1 = new UDUP(
- ModuleType.UDP,
- 5999,
- 1000,
- 5000,
- 3,
- 256);
+ UDUP udp1 = null;
+ UDUP udp2 = null;
+ UDUPMessage msg1 = null;
+ UDUPMessage msg2 = null;
+ UDUPMessage msg3 = null;
+ boolean testSuccess = true;
+ int timeout = 5000;
- UDUP udp2 = new UDUP(
- ModuleType.UDP,
- 5998,
- 1000,
- 5000,
- 3,
- 256);
+ try {
+ System.out.println("Starting udp1");
- UDUPMessage msg1 = new UDUPMessage(
- "1",
- ModuleType.UDP,
- "localhost",
- 5998,
- null,
- 0,
- "conv1");
+ udp1 = new UDUP(
+ InetAddress.getByName("127.0.0.2"),
+ 5997,
+ timeout,
+ 1000);
+ System.out.println("Starting udp2");
+ udp2 = new UDUP(
+ InetAddress.getByName("127.0.0.3"),
+ 5997,
+ timeout,
+ 1000);
+ UDUPMessage testContent = new UDUPMessage();
+ testContent.setDestinationModule(ModuleType.TEST);
+ testContent.setMessageId("multipleMsgTest");
- try {
- udp1.handle(msg1);
- udp1.handle(msg2);
- udp1.handle(msg3);
- Thread.sleep(1000);
- UDUPMessage conv1 = udp2.fetchConversation("conv1");
- Assert.assertEquals(conv1.getConversationId(), "conv1");
- UDUPMessage conv2 = udp2.fetchConversation("conv2");
- Assert.assertEquals(conv2.getConversationId(), "conv2");
- UDUPMessage conv3 = udp2.fetchConversation("conv3");
- Assert.assertEquals(conv3.getConversationId(), "conv3");
- } catch (InterruptedException | Module.InvalidMessageType e) {
- e.printStackTrace();
- } catch (UDUP.InvalidConversation invalidConversation) {
- Assert.fail();
- }
+ msg1 = new UDUPMessage(
+ "udup1",
+ new ValueContact(new PathName("/udp2"), InetAddress.getByName("127.0.0.3")),
+ testContent
+ );
+
+ msg2 = new UDUPMessage(
+ "udup2",
+ new ValueContact(new PathName("/udp2"), InetAddress.getByName("127.0.0.3")),
+ testContent
+ );
+
+ msg3 = new UDUPMessage(
+ "udup3",
+ new ValueContact(new PathName("/udp2"), InetAddress.getByName("127.0.0.3")),
+ testContent
+ );
+
+ } catch (UnknownHostException e) {
+ e.printStackTrace();
+ }
+
+ Thread udpThread1 = new Thread(udp1);
+ udpThread1.start();
+ Thread udpThread2 = new Thread(udp2);
+ udpThread2.start();
+
+ try {
+ udp1.handle(msg1);
+ udp1.handle(msg2);
+ udp1.handle(msg3);
+ Thread.sleep(timeout + 2000);
+ } catch (InterruptedException | Module.InvalidMessageType e) {
+ e.printStackTrace();
}
}
-*/
}