source: trunk/src/test/java/omq/test/event/MessageTest.java @ 81

Last change on this file since 81 was 78, checked in by stoda, 12 years ago

PersistentTest? added, persistent messages enabled

File size: 3.0 KB
Line 
1package omq.test.event;
2
3import static org.junit.Assert.assertEquals;
4
5import java.util.Arrays;
6import java.util.Collection;
7import java.util.Properties;
8
9import omq.common.broker.Broker;
10import omq.common.util.ParameterQueue;
11import omq.common.util.Serializer;
12
13import org.junit.After;
14import org.junit.BeforeClass;
15import org.junit.Test;
16import org.junit.runner.RunWith;
17import org.junit.runners.Parameterized;
18import org.junit.runners.Parameterized.Parameters;
19
20@RunWith(value = Parameterized.class)
21public class MessageTest {
22        private static final String NAME = "message_event_test";
23
24        private static Broker broker;
25        private static Message serverProxy;
26        private static MessageImpl clientM1;
27        private static MessageImpl clientM2;
28
29        public MessageTest(String type) throws Exception {
30                Properties env = new Properties();
31                env.setProperty(ParameterQueue.USER_NAME, "guest");
32                env.setProperty(ParameterQueue.USER_PASS, "guest");
33
34                // Set host info of rabbimq (where it is)
35                env.setProperty(ParameterQueue.RABBIT_HOST, "127.0.0.1");
36                env.setProperty(ParameterQueue.RABBIT_PORT, "5672");
37                env.setProperty(ParameterQueue.DURABLE_QUEUES, "false");
38                env.setProperty(ParameterQueue.PROXY_SERIALIZER, type);
39                env.setProperty(ParameterQueue.ENABLE_COMPRESSION, "false");
40
41                // Set info about where the message will be sent
42                env.setProperty(ParameterQueue.RPC_EXCHANGE, "rpc_exchange");
43
44                // Set info about the queue & the exchange where the ResponseListener
45                // will listen to.
46                env.setProperty(ParameterQueue.RPC_REPLY_QUEUE, "reply_queue");
47
48                broker = new Broker(env);
49                serverProxy = broker.lookupMulti(NAME, Message.class);
50        }
51
52        @Parameters
53        public static Collection<Object[]> data() {
54                Object[][] data = new Object[][] { { Serializer.JAVA }, { Serializer.GSON }, { Serializer.KRYO } };
55                return Arrays.asList(data);
56        }
57
58        @BeforeClass
59        public static void client() throws Exception {
60                Properties env = new Properties();
61                env.setProperty(ParameterQueue.USER_NAME, "guest");
62                env.setProperty(ParameterQueue.USER_PASS, "guest");
63
64                // Get host info of rabbimq (where it is)
65                env.setProperty(ParameterQueue.RABBIT_HOST, "127.0.0.1");
66                env.setProperty(ParameterQueue.RABBIT_PORT, "5672");
67                env.setProperty(ParameterQueue.DURABLE_QUEUES, "false");
68                env.setProperty(ParameterQueue.ENABLE_COMPRESSION, "false");
69
70                // Set info about where the message will be sent
71                env.setProperty(ParameterQueue.RPC_EXCHANGE, "rpc_exchange");
72                env.setProperty(ParameterQueue.RETRY_TIME_CONNECTION, "2000");
73
74                Broker broker = new Broker(env);
75                clientM1 = new MessageImpl();
76                broker.bind(NAME, clientM1);
77
78                Broker broker2 = new Broker(env);
79                clientM2 = new MessageImpl();
80                broker2.bind(NAME, clientM2);
81        }
82
83        @After
84        public void stop() throws Exception {
85                broker.stopBroker();
86        }
87
88        @Test
89        public void test() throws Exception {
90                String expected = "Hello";
91                serverProxy.setMessage(expected);
92                Thread.sleep(200);
93                assertEquals(expected, clientM1.getMessage());
94                assertEquals(expected, clientM2.getMessage());
95                serverProxy.setMessage("");
96                Thread.sleep(200);
97        }
98
99}
Note: See TracBrowser for help on using the repository browser.