1 |
| package org.jboss.cache.pojo.integrated; |
2 |
| |
3 |
| import junit.framework.Test; |
4 |
| import junit.framework.TestCase; |
5 |
| import junit.framework.TestSuite; |
6 |
| import org.apache.commons.logging.Log; |
7 |
| import org.apache.commons.logging.LogFactory; |
8 |
| import org.jboss.cache.config.Configuration.CacheMode; |
9 |
| import org.jboss.cache.factories.UnitTestCacheFactory; |
10 |
| import org.jboss.cache.pojo.PojoCache; |
11 |
| import org.jboss.cache.pojo.PojoCacheFactory; |
12 |
| import org.jboss.cache.pojo.test.NetworkAdmin; |
13 |
| import org.jboss.cache.pojo.test.NetworkDomain; |
14 |
| import org.jboss.cache.pojo.test.NetworkElement; |
15 |
| import org.jboss.cache.pojo.test.NetworkNode; |
16 |
| import org.jboss.cache.Fqn; |
17 |
| |
18 |
| import java.util.List; |
19 |
| |
20 |
| |
21 |
| |
22 |
| |
23 |
| |
24 |
| |
25 |
| |
26 |
| |
27 |
| |
28 |
| |
29 |
| |
30 |
| |
31 |
| |
32 |
| public class ReplicatedNetworkManagementTest extends TestCase |
33 |
| { |
34 |
| Log log = LogFactory.getLog(ReplicatedNetworkManagementTest.class); |
35 |
| PojoCache cache1; |
36 |
| PojoCache cache2; |
37 |
| |
38 |
6
| public ReplicatedNetworkManagementTest(String name)
|
39 |
| { |
40 |
6
| super(name);
|
41 |
| } |
42 |
| |
43 |
6
| protected void setUp() throws Exception
|
44 |
| { |
45 |
6
| super.setUp();
|
46 |
6
| log.info("setUp() ....");
|
47 |
6
| cache1 = createCache("CacheGroup");
|
48 |
6
| cache2 = createCache("CacheGroup");
|
49 |
| } |
50 |
| |
51 |
6
| protected void tearDown() throws Exception
|
52 |
| { |
53 |
6
| super.tearDown();
|
54 |
6
| cache1.getCache().removeNode(Fqn.fromString("/"));
|
55 |
6
| cache1.stop();
|
56 |
6
| cache2.stop();
|
57 |
| } |
58 |
| |
59 |
12
| private PojoCache createCache(String name) throws Exception
|
60 |
| { |
61 |
12
| boolean toStart = false;
|
62 |
12
| PojoCache cache = PojoCacheFactory.createCache(UnitTestCacheFactory.createConfiguration(CacheMode.REPL_SYNC), toStart);
|
63 |
12
| cache.start();
|
64 |
12
| return cache;
|
65 |
| } |
66 |
| |
67 |
| |
68 |
| |
69 |
| |
70 |
2
| public void testDomainAndAdmin() throws Exception
|
71 |
| { |
72 |
2
| NetworkAdmin admin = new NetworkAdmin();
|
73 |
2
| admin.setId("Benny");
|
74 |
| |
75 |
2
| NetworkDomain tempSensorDomain = new NetworkDomain();
|
76 |
2
| tempSensorDomain.setName("Temperature sensors");
|
77 |
2
| tempSensorDomain.setAdmin(admin);
|
78 |
| |
79 |
| |
80 |
2
| NetworkDomain vibSensorDomain = new NetworkDomain();
|
81 |
2
| vibSensorDomain.setName("Vibration sensors");
|
82 |
2
| vibSensorDomain.setAdmin(admin);
|
83 |
| |
84 |
2
| cache1.attach("/temp", tempSensorDomain);
|
85 |
2
| cache1.attach("/vib", vibSensorDomain);
|
86 |
| |
87 |
2
| NetworkDomain d1 = (NetworkDomain) cache2.find("/temp");
|
88 |
2
| NetworkDomain d2 = (NetworkDomain) cache2.find("/vib");
|
89 |
| |
90 |
2
| assertEquals("Admin should be the same", d1.getAdmin(), d2.getAdmin());
|
91 |
| |
92 |
2
| d2.getAdmin().setId("Wen");
|
93 |
2
| assertEquals("New admin id is ", "Wen", d1.getAdmin().getId());
|
94 |
2
| assertEquals("New admin id is ", "Wen", admin.getId());
|
95 |
| |
96 |
2
| d1 = (NetworkDomain) cache2.find("/vib");
|
97 |
2
| d2 = (NetworkDomain) cache2.find("/temp");
|
98 |
2
| assertEquals("Admin should be the same", d1.getAdmin(), d2.getAdmin());
|
99 |
| |
100 |
2
| d2.getAdmin().setId("Wen");
|
101 |
2
| assertEquals("New admin id is ", "Wen", d1.getAdmin().getId());
|
102 |
2
| assertEquals("New admin id is ", "Wen", admin.getId());
|
103 |
| |
104 |
2
| NetworkDomain temp1 = (NetworkDomain) cache1.detach("/temp");
|
105 |
2
| NetworkDomain vib1 = (NetworkDomain) cache1.detach("/vib");
|
106 |
| |
107 |
2
| assertEquals("Vibration sensor ", vibSensorDomain, vib1);
|
108 |
2
| assertEquals("Temperature sensor ", tempSensorDomain, temp1);
|
109 |
| |
110 |
| } |
111 |
| |
112 |
| |
113 |
| |
114 |
| |
115 |
2
| public void testNodeAndElement() throws Exception
|
116 |
| { |
117 |
| |
118 |
2
| NetworkNode taipei = new NetworkNode();
|
119 |
2
| taipei.setName("Taipei machine");
|
120 |
2
| taipei.setIpAddress("192.168.1.100");
|
121 |
| |
122 |
2
| NetworkNode tainan = new NetworkNode();
|
123 |
2
| tainan.setName("Tainan machine");
|
124 |
2
| tainan.setIpAddress("192.168.1.200");
|
125 |
| |
126 |
| |
127 |
2
| NetworkElement vibSensor1 = new NetworkElement();
|
128 |
2
| vibSensor1.setName("Vibration sensor V10");
|
129 |
| |
130 |
2
| NetworkElement vibSensor2 = new NetworkElement();
|
131 |
2
| vibSensor2.setName("Vibration sensor V20");
|
132 |
| |
133 |
2
| NetworkElement tempSensor1 = new NetworkElement();
|
134 |
2
| tempSensor1.setName("Temperature sensor T10");
|
135 |
| |
136 |
2
| NetworkElement tempSensor2 = new NetworkElement();
|
137 |
2
| tempSensor2.setName("Temperature sensor T20");
|
138 |
| |
139 |
| |
140 |
2
| taipei.addElement(vibSensor1);
|
141 |
2
| taipei.addElement(tempSensor1);
|
142 |
2
| tainan.addElement(vibSensor2);
|
143 |
2
| tainan.addElement(tempSensor2);
|
144 |
| |
145 |
2
| assertEquals("Element size ", 2, taipei.getElements().size());
|
146 |
| |
147 |
| |
148 |
2
| cache1.attach("/taipei", taipei);
|
149 |
2
| cache1.attach("/tainan", tainan);
|
150 |
| |
151 |
2
| NetworkNode taipei1 = (NetworkNode) cache2.find("/taipei");
|
152 |
2
| NetworkNode tainan1 = (NetworkNode) cache2.find("/tainan");
|
153 |
| |
154 |
2
| taipei1.setIpAddress("192.168.10.100");
|
155 |
2
| assertEquals("New admin id is ", "192.168.10.100", taipei.getIpAddress());
|
156 |
| |
157 |
2
| tainan1.setIpAddress("192.168.10.200");
|
158 |
2
| assertEquals("New admin id is ", "192.168.10.200", tainan.getIpAddress());
|
159 |
| |
160 |
2
| List l2 = taipei1.getElements();
|
161 |
2
| assertEquals("Size is ", 2, l2.size());
|
162 |
2
| NetworkElement vibSens1 = (NetworkElement) l2.get(0);
|
163 |
2
| NetworkElement tempSens1 = (NetworkElement) l2.get(1);
|
164 |
| |
165 |
2
| int SUSPENDED = 2;
|
166 |
2
| vibSens1.setStatus(SUSPENDED);
|
167 |
2
| tempSens1.setStatus(SUSPENDED);
|
168 |
| |
169 |
2
| assertEquals("Status ", vibSensor1.getStatus(), vibSens1.getStatus());
|
170 |
2
| assertEquals("Status ", tempSensor1.getStatus(), tempSens1.getStatus());
|
171 |
| } |
172 |
| |
173 |
| |
174 |
| |
175 |
| |
176 |
2
| public void testAll() throws Exception
|
177 |
| { |
178 |
2
| NetworkAdmin admin = new NetworkAdmin();
|
179 |
2
| admin.setId("Benny");
|
180 |
| |
181 |
| |
182 |
2
| NetworkDomain tempSensorDomain = new NetworkDomain();
|
183 |
2
| tempSensorDomain.setName("Temperature sensors");
|
184 |
2
| tempSensorDomain.setAdmin(admin);
|
185 |
| |
186 |
2
| NetworkDomain vibSensorDomain = new NetworkDomain();
|
187 |
2
| vibSensorDomain.setName("Vibration sensors");
|
188 |
2
| vibSensorDomain.setAdmin(admin);
|
189 |
| |
190 |
| |
191 |
2
| NetworkNode taipei = new NetworkNode();
|
192 |
2
| taipei.setName("Taipei machine");
|
193 |
2
| taipei.setIpAddress("192.168.1.100");
|
194 |
| |
195 |
2
| NetworkNode tainan = new NetworkNode();
|
196 |
2
| tainan.setName("Tainan machine");
|
197 |
2
| tainan.setIpAddress("192.168.1.200");
|
198 |
| |
199 |
| |
200 |
2
| NetworkElement vibSensor1 = new NetworkElement();
|
201 |
2
| vibSensor1.setName("Vibration sensor V10");
|
202 |
| |
203 |
2
| NetworkElement vibSensor2 = new NetworkElement();
|
204 |
2
| vibSensor2.setName("Vibration sensor V20");
|
205 |
| |
206 |
2
| NetworkElement tempSensor1 = new NetworkElement();
|
207 |
2
| tempSensor1.setName("Temperature sensor T10");
|
208 |
| |
209 |
2
| NetworkElement tempSensor2 = new NetworkElement();
|
210 |
2
| tempSensor2.setName("Temperature sensor T20");
|
211 |
| |
212 |
| |
213 |
2
| taipei.addElement(vibSensor1);
|
214 |
2
| taipei.addElement(tempSensor1);
|
215 |
2
| tainan.addElement(vibSensor2);
|
216 |
2
| tainan.addElement(tempSensor2);
|
217 |
| |
218 |
2
| assertEquals("Element size ", 2, taipei.getElements().size());
|
219 |
| |
220 |
| |
221 |
2
| vibSensorDomain.addElement(vibSensor1);
|
222 |
2
| vibSensorDomain.addElement(vibSensor2);
|
223 |
| |
224 |
2
| tempSensorDomain.addElement(tempSensor1);
|
225 |
2
| tempSensorDomain.addElement(tempSensor2);
|
226 |
| |
227 |
| |
228 |
2
| cache1.attach("/temp", tempSensorDomain);
|
229 |
2
| cache1.attach("/vib", vibSensorDomain);
|
230 |
| |
231 |
2
| NetworkDomain temp1 = (NetworkDomain) cache2.find("/temp");
|
232 |
2
| NetworkDomain vib1 = (NetworkDomain) cache2.find("/vib");
|
233 |
| |
234 |
2
| NetworkNode taipei1 = (NetworkNode) temp1.getNodes().get(0);
|
235 |
| |
236 |
2
| NetworkNode taipei2 = (NetworkNode) vib1.getNodes().get(0);
|
237 |
| |
238 |
2
| List l1 = temp1.getNodes();
|
239 |
2
| assertEquals("Size is ", 2, l1.size());
|
240 |
| |
241 |
2
| l1 = taipei.getElements();
|
242 |
2
| assertEquals("Size is ", 2, l1.size());
|
243 |
| |
244 |
2
| assertEquals("IPAddress ", taipei.getIpAddress(), taipei1.getIpAddress());
|
245 |
2
| assertTrue("DataNode should be the same", (taipei1 == taipei2));
|
246 |
| |
247 |
2
| taipei2.setIpAddress("192.168.10.100");
|
248 |
2
| assertEquals("New admin id is ", "192.168.10.100", taipei.getIpAddress());
|
249 |
| |
250 |
2
| List l2 = taipei1.getElements();
|
251 |
2
| assertEquals("Size is ", 2, l2.size());
|
252 |
2
| NetworkElement vibSens1 = (NetworkElement) l2.get(0);
|
253 |
2
| NetworkElement tempSens1 = (NetworkElement) l2.get(1);
|
254 |
| |
255 |
2
| int SUSPENDED = 2;
|
256 |
2
| vibSens1.setStatus(SUSPENDED);
|
257 |
2
| tempSens1.setStatus(SUSPENDED);
|
258 |
| |
259 |
2
| assertEquals("Status ", vibSensor1.getStatus(), vibSens1.getStatus());
|
260 |
2
| assertEquals("Status ", tempSensor1.getStatus(), tempSens1.getStatus());
|
261 |
| } |
262 |
| |
263 |
2
| public static Test suite() throws Exception
|
264 |
| { |
265 |
2
| return new TestSuite(ReplicatedNetworkManagementTest.class);
|
266 |
| } |
267 |
| |
268 |
0
| public static void main(String[] args) throws Exception
|
269 |
| { |
270 |
0
| junit.textui.TestRunner.run(suite());
|
271 |
| } |
272 |
| |
273 |
| } |
274 |
| |