diff options
Diffstat (limited to 'src/test')
| -rw-r--r-- | src/test/java/pl/edu/mimuw/cloudatlas/agent/UDUPTest.java | 129 | 
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();          }      }  } |