1 package org.xmlBlaster.test.classtest.qos;
2
3 import java.util.logging.Logger;
4 import org.xmlBlaster.util.Global;
5 import org.xmlBlaster.util.Timestamp;
6 import org.xmlBlaster.util.def.PriorityEnum;
7 import org.xmlBlaster.util.def.MethodName;
8 import org.xmlBlaster.util.XmlBlasterException;
9 import org.xmlBlaster.util.qos.MsgQosData;
10 import org.xmlBlaster.util.qos.MsgQosSaxFactory;
11 import org.xmlBlaster.util.qos.TopicProperty;
12 import org.xmlBlaster.client.qos.GetReturnQos;
13 import org.xmlBlaster.client.qos.UpdateQos;
14 import org.xmlBlaster.util.qos.address.Destination;
15 import org.xmlBlaster.util.qos.storage.HistoryQueueProperty;
16 import org.xmlBlaster.util.qos.storage.MsgUnitStoreProperty;
17 import org.xmlBlaster.engine.qos.PublishQosServer;
18
19 import junit.framework.*;
20
21 /**
22 * Test MsgQosSaxFactory.
23 * <p />
24 * All methods starting with 'test' and without arguments are invoked automatically
25 * <p />
26 * TODO: http://xmlunit.sourceforge.net/
27 * <p />
28 * Invoke: java -Djava.compiler= junit.textui.TestRunner -noloading org.xmlBlaster.test.classtest.qos.MsgQosFactoryTest
29 * @see org.xmlBlaster.util.qos.MsgQosSaxFactory
30 * @see <a href="http://www.xmlBlaster.org/xmlBlaster/doc/requirements/interface.publish.html" target="others">the interface.publish requirement</a>
31 */
32 public class MsgQosFactoryTest extends TestCase {
33 protected Global glob;
34 private static Logger log = Logger.getLogger(MsgQosFactoryTest.class.getName());
35 int counter = 0;
36
37 public MsgQosFactoryTest(String name) {
38 super(name);
39 }
40
41 protected void setUp() {
42 this.glob = Global.instance();
43
44 }
45
46 /**
47 * Tries with all known tags
48 */
49 public void testParse() {
50 System.out.println("***MsgQosFactoryTest: testParse ...");
51
52 try {
53 String xml =
54 "<qos>\n" +
55 " <state id='AA' info='SOMETHING'/>\n" +
56 " <subscribable>true</subscribable>\n" +
57 " <destination queryType='EXACT' forceQueuing='true'>\n" +
58 " Tim\n" +
59 " </destination>\n" +
60 " <destination queryType='EXACT'>\n" +
61 " Ben\n" +
62 " </destination>\n" +
63 /*
64 " <destination queryType='XPATH'>\n" +
65 " //[GROUP='Manager']\n" +
66 " </destination>\n" +
67 " <destination queryType='XPATH'>\n" +
68 " //ROLE/[@id='Developer']\n" +
69 " </destination>\n" +
70 */
71 " <sender>\n" +
72 " Gesa\n" +
73 " </sender>\n" +
74 " <priority>MIN</priority>\n" +
75 //" <expiration lifeTime='2400' remainingLife='12000'/>\n" + // uncomment as it is in concurrence to isVolatile
76 " <administrative/>\n" +
77 " <persistent/>\n" +
78 " <forceUpdate>false</forceUpdate>\n" +
79 " <route>\n" +
80 " <node id='bilbo' stratum='2' timestamp='9408630500' dirtyRead='true'/>\n" +
81 " <node id='frodo' stratum='1' timestamp='9408630538' dirtyRead='false'/>\n" +
82 " <node id='heron' stratum='0' timestamp='9408630564'/>\n" +
83 " </route>\n" +
84 "</qos>\n";
85
86 MsgQosSaxFactory factory = new MsgQosSaxFactory(glob);
87 MsgQosData qos = factory.readObject(xml);
88
89 assertEquals("", "AA", qos.getState());
90 assertEquals("", "SOMETHING", qos.getStateInfo());
91 assertEquals("", true, qos.isPtp());
92 assertEquals("", true, qos.isAdministrative());
93 assertEquals("", true, qos.isPersistent());
94 assertEquals("", false, qos.isForceUpdate());
95 assertEquals("", false, qos.isReadonly());
96 assertEquals("", "Gesa", qos.getSender().getLoginName());
97
98 assertEquals("", 0L, qos.getLifeTime()); // PtP message (because of Destination) is volatile
99 assertEquals("", -1L, qos.getRemainingLifeStatic());
100
101 assertEquals("", 3, qos.getRouteNodes().length);
102 assertEquals("", 2, qos.getRouteNodes()[0].getStratum());
103 assertEquals("", 0, qos.getRouteNodes()[2].getStratum());
104 assertEquals("", 9408630500L, qos.getRouteNodes()[0].getTimestamp().getTimestamp());
105 assertEquals("", true, qos.getRouteNodes()[0].getDirtyRead());
106 assertEquals("", false, qos.getRouteNodes()[1].getDirtyRead());
107 assertEquals("", false, qos.getRouteNodes()[2].getDirtyRead());
108
109 assertEquals("", PriorityEnum.MIN_PRIORITY, qos.getPriority());
110 assertEquals("", false, qos.isFromPersistenceStore());
111 assertTrue("no receive timestamp expected", qos.getRcvTimestamp() == null);
112 assertEquals("", true, qos.isSubscribable());
113 assertEquals("", 2, qos.getDestinations().size());
114 assertEquals("", true, ((Destination)qos.getDestinations().get(0)).forceQueuing());
115 assertEquals("", true, ((Destination)qos.getDestinations().get(0)).isExactAddress());
116 assertEquals("", false, ((Destination)qos.getDestinations().get(0)).isXPathQuery());
117 // XPath is currently not supported
118 //assertEquals("", false, ((Destination)qos.getDestinations().get(2)).isExactAddress());
119 //assertEquals("", true, ((Destination)qos.getDestinations().get(2)).isXPathQuery());
120 }
121 catch (XmlBlasterException e) {
122 fail("testParse failed: " + e.toString());
123 }
124
125 System.out.println("***MsgQosFactoryTest: testParse [SUCCESS]");
126 }
127
128 /**
129 * Tries with all known tags
130 */
131 public void testToXml() {
132 System.out.println("***MsgQosFactoryTest: testToXml ...");
133
134 try {
135 String xml =
136 "<qos>\n" +
137 " <state id='AA' info='SOMETHING'/>\n" +
138 " <subscribable>false</subscribable>\n" +
139 " <destination queryType='EXACT' forceQueuing='true'>\n" +
140 " Tim\n" +
141 " </destination>\n" +
142 " <destination queryType='EXACT'>\n" +
143 " Ben\n" +
144 " </destination>\n" +
145 /*
146 " <destination queryType='XPATH'>\n" +
147 " //[GROUP='Manager']\n" +
148 " </destination>\n" +
149 " <destination queryType='XPATH'>\n" +
150 " //ROLE/[@id='Developer']\n" +
151 " </destination>\n" +
152 */
153 " <sender>\n" +
154 " Gesa\n" +
155 " </sender>\n" +
156 " <priority>MIN</priority>\n" +
157 " <expiration lifeTime='2400' remainingLife='12000' forceDestroy='true'/>\n" +
158 " <rcvTimestamp nanos='1234'/>\n" +
159 " <administrative/>\n" +
160 " <persistent/>\n" +
161 " <forceUpdate>false</forceUpdate>\n" +
162 " <route>\n" +
163 " <node id='bilbo' stratum='2' timestamp='9408630500' dirtyRead='true'/>\n" +
164 " <node id='frodo' stratum='1' timestamp='9408630538' dirtyRead='false'/>\n" +
165 " <node id='heron' stratum='0' timestamp='9408630564'/>\n" +
166 " </route>\n" +
167 " <topic readonly='true' destroyDelay='120000' createDomEntry='true'>\n" +
168 " <persistence relating='msgUnitStore' type='TO' version='3.0' maxEntries='4' maxBytes='40' onOverflow='deadMessage'/>\n" +
169 " <queue relating='history' type='HI' version='2.0' maxEntries='3' maxBytes='30' onOverflow='deadMessage'/>\n" +
170 " </topic>\n" +
171 "</qos>\n";
172
173 MsgQosSaxFactory factory = new MsgQosSaxFactory(glob);
174 MsgQosData qos = factory.readObject(xml);
175 String newXml = qos.toXml();
176 log.info("lifeTime=" + qos.getLifeTimeProp().toXml());
177 log.info("New XML=" + newXml);
178 qos = factory.readObject(newXml);
179
180 assertEquals("", "AA", qos.getState());
181 assertEquals("", "SOMETHING", qos.getStateInfo());
182 assertEquals("", true, qos.isPtp());
183 assertEquals("", false, qos.isVolatile());
184 assertEquals("", true, qos.isAdministrative());
185 assertEquals("", true, qos.isPersistent());
186 assertEquals("", false, qos.isForceUpdate());
187 assertEquals("", true, qos.isReadonly());
188 assertEquals("", "Gesa", qos.getSender().getLoginName());
189
190 assertEquals("", 2400L, qos.getLifeTime());
191 assertEquals("", 12000L, qos.getRemainingLifeStatic());
192 assertEquals("", 1234L, qos.getRcvTimestamp().getTimestamp());
193 assertEquals("", true, qos.isForceDestroy());
194 //assertTrue("no receive timestamp expected", qos.getRcvTimestamp() == null);
195
196 assertEquals("", 3, qos.getRouteNodes().length);
197 assertEquals("", 2, qos.getRouteNodes()[0].getStratum());
198 assertEquals("", 0, qos.getRouteNodes()[2].getStratum());
199 assertEquals("", 9408630500L, qos.getRouteNodes()[0].getTimestamp().getTimestamp());
200 assertEquals("", true, qos.getRouteNodes()[0].getDirtyRead());
201 assertEquals("", false, qos.getRouteNodes()[1].getDirtyRead());
202 assertEquals("", false, qos.getRouteNodes()[2].getDirtyRead());
203
204 assertEquals("", PriorityEnum.MIN_PRIORITY, qos.getPriority());
205 assertEquals("", false, qos.isFromPersistenceStore());
206 assertEquals("", false, qos.isSubscribable());
207 assertEquals("", 2, qos.getDestinations().size());
208 assertEquals("", true, ((Destination)qos.getDestinations().get(0)).forceQueuing());
209 assertEquals("", true, ((Destination)qos.getDestinations().get(0)).isExactAddress());
210 assertEquals("", false, ((Destination)qos.getDestinations().get(0)).isXPathQuery());
211 // XPATH is currently not supported
212 //assertEquals("", false, ((Destination)qos.getDestinations().get(2)).isExactAddress());
213 //assertEquals("", true, ((Destination)qos.getDestinations().get(2)).isXPathQuery());
214
215 assertEquals("", true, qos.hasTopicProperty());
216 TopicProperty topicProperty = qos.getTopicProperty();
217 assertEquals("", true, topicProperty.isReadonly());
218 assertEquals("", 120000, topicProperty.getDestroyDelay());
219 assertEquals("", true, topicProperty.createDomEntry());
220
221 assertEquals("", true, topicProperty.hasMsgUnitStoreProperty());
222 MsgUnitStoreProperty cache = topicProperty.getMsgUnitStoreProperty();
223 assertEquals("", "msgUnitStore", cache.getRelating());
224 assertEquals("", "TO", cache.getType());
225 assertEquals("", "3.0", cache.getVersion());
226 assertEquals("", 4L, cache.getMaxEntries());
227 assertEquals("", 40L, cache.getMaxBytes());
228 assertEquals("", "deadMessage", cache.getOnOverflow());
229
230 assertEquals("", true, topicProperty.hasHistoryQueueProperty());
231 HistoryQueueProperty hist = topicProperty.getHistoryQueueProperty();
232 assertEquals("", "history", hist.getRelating());
233 assertEquals("", "HI", hist.getType());
234 assertEquals("", "2.0", hist.getVersion());
235 assertEquals("", 3L, hist.getMaxEntries());
236 assertEquals("", 30L, hist.getMaxBytes());
237 assertEquals("", "deadMessage", hist.getOnOverflow());
238 }
239 catch (XmlBlasterException e) {
240 fail("testToXml failed: " + e.toString());
241 }
242
243 System.out.println("***MsgQosFactoryTest: testToXml [SUCCESS]");
244 }
245
246 /**
247 * Tries with all known tags
248 */
249 public void testPublishQosServer() {
250 System.out.println("***MsgQosFactoryTest: testPublishQosServer ...");
251
252 try {
253 String xml =
254 "<qos>\n" +
255 " <destination queryType='EXACT' forceQueuing='true'>\n" +
256 " Tim\n" +
257 " </destination>\n" +
258 " <destination queryType='EXACT'>\n" +
259 " Ben\n" +
260 " </destination>\n" +
261 /*
262 " <destination queryType='XPATH'>\n" +
263 " //[GROUP='Manager']\n" +
264 " </destination>\n" +
265 " <destination queryType='XPATH'>\n" +
266 " //ROLE/[@id='Developer']\n" +
267 " </destination>\n" +
268 */
269 " <sender>\n" +
270 " Gesa\n" +
271 " </sender>\n" +
272 " <priority>7</priority>\n" +
273 " <expiration lifeTime='2400' remainingLife='12000'/>\n" +
274 " <persistent/>\n" +
275 " <forceUpdate>false</forceUpdate>\n" +
276 " <route>\n" +
277 " <node id='bilbo' stratum='2' timestamp='9408630500' dirtyRead='true'/>\n" +
278 " <node id='frodo' stratum='1' timestamp='9408630538' dirtyRead='false'/>\n" +
279 " <node id='heron' stratum='0' timestamp='9408630564'/>\n" +
280 " </route>\n" +
281 "</qos>\n";
282
283 PublishQosServer qos = new PublishQosServer(new org.xmlBlaster.engine.ServerScope(), xml);
284
285 assertEquals("", true, qos.isSubscribable());
286 assertEquals("", true, qos.isPtp());
287 assertEquals("", false, qos.isVolatile());
288 assertEquals("", true, qos.isPersistent());
289 assertEquals("", false, qos.isForceUpdate());
290 assertEquals("", false, qos.isReadonly());
291 assertEquals("", "Gesa", qos.getSender().getLoginName());
292
293 assertEquals("", 3, qos.getRouteNodes().length);
294 assertEquals("", 2, qos.getRouteNodes()[0].getStratum());
295 assertEquals("", 0, qos.getRouteNodes()[2].getStratum());
296 assertEquals("", 9408630500L, qos.getRouteNodes()[0].getTimestamp().getTimestamp());
297 assertEquals("", true, qos.getRouteNodes()[0].getDirtyRead());
298 assertEquals("", false, qos.getRouteNodes()[1].getDirtyRead());
299 assertEquals("", false, qos.getRouteNodes()[2].getDirtyRead());
300
301 assertEquals("", PriorityEnum.HIGH_PRIORITY, qos.getPriority());
302 assertEquals("", false, qos.isFromPersistenceStore());
303 Timestamp timestamp = new Timestamp();
304 assertTrue("timestamp.getTimestamp()="+timestamp.getTimestamp()+" qos.getRcvTimestamp().getTimestamp()="+qos.getRcvTimestamp().getTimestamp() , timestamp.getTimestamp() > qos.getRcvTimestamp().getTimestamp());
305 assertTrue("timestamp.getTimestamp()="+timestamp.getTimestamp()+" qos.getRcvTimestamp().getTimestamp()="+qos.getRcvTimestamp().getTimestamp() , timestamp.getTimestamp() < (qos.getRcvTimestamp().getTimestamp()+10000000));
306 assertEquals("", 2, qos.getDestinations().size());
307 assertEquals("", true, ((Destination)qos.getDestinations().get(0)).forceQueuing());
308 }
309 catch (XmlBlasterException e) {
310 fail("testPublishQosServer failed: " + e.toString());
311 }
312
313 System.out.println("***MsgQosFactoryTest: testPublishQosServer [SUCCESS]");
314 }
315
316 /**
317 * Tries with all known tags
318 */
319 public void testGetReturnQos() {
320 System.out.println("***MsgQosFactoryTest: testGetReturnQos ...");
321
322 try {
323 Timestamp timestamp = new Timestamp();
324 String xml =
325 "<qos>\n" +
326 " <destination queryType='EXACT' forceQueuing='true'>\n" +
327 " Tim\n" +
328 " </destination>\n" +
329 " <destination queryType='EXACT'>\n" +
330 " Ben\n" +
331 " </destination>\n" +
332 /*
333 " <destination queryType='XPATH'>\n" +
334 " //[GROUP='Manager']\n" +
335 " </destination>\n" +
336 " <destination queryType='XPATH'>\n" +
337 " //ROLE/[@id='Developer']\n" +
338 " </destination>\n" +
339 */
340 " <sender>\n" +
341 " Gesa\n" +
342 " </sender>\n" +
343 " <priority>7</priority>\n" +
344 " <expiration lifeTime='2400' remainingLife='12000'/>\n" +
345 " <rcvTimestamp nanos='" + timestamp.getTimestamp() + "'/>\n" + // if from persistent store
346 " <persistent/>\n" +
347 " <forceUpdate>false</forceUpdate>\n" +
348 " <route>\n" +
349 " <node id='bilbo' stratum='2' timestamp='9408630500' dirtyRead='true'/>\n" +
350 " <node id='frodo' stratum='1' timestamp='9408630538' dirtyRead='false'/>\n" +
351 " <node id='heron' stratum='0' timestamp='9408630564'/>\n" +
352 " </route>\n" +
353 "</qos>\n";
354
355 GetReturnQos qos = new GetReturnQos(glob, xml);
356
357 assertEquals("", false, qos.isVolatile());
358 assertEquals("", true, qos.isPersistent());
359 assertEquals("", false, qos.isReadonly());
360 assertEquals("", "Gesa", qos.getSender().getLoginName());
361
362 assertEquals("", 3, qos.getRouteNodes().length);
363 assertEquals("", 2, qos.getRouteNodes()[0].getStratum());
364 assertEquals("", 0, qos.getRouteNodes()[2].getStratum());
365 assertEquals("", 9408630500L, qos.getRouteNodes()[0].getTimestamp().getTimestamp());
366 assertEquals("", true, qos.getRouteNodes()[0].getDirtyRead());
367 assertEquals("", false, qos.getRouteNodes()[1].getDirtyRead());
368 assertEquals("", false, qos.getRouteNodes()[2].getDirtyRead());
369
370 assertEquals("", PriorityEnum.HIGH_PRIORITY, qos.getPriority());
371 assertEquals("", timestamp.getTimestamp(), qos.getRcvTimestamp().getTimestamp());
372 }
373 catch (XmlBlasterException e) {
374 fail("testGetReturnQos failed: " + e.toString());
375 }
376
377 System.out.println("***MsgQosFactoryTest: testGetReturnQos [SUCCESS]");
378 }
379
380 /**
381 * Tries with all known tags
382 */
383 public void testUpdateQos() {
384 System.out.println("***MsgQosFactoryTest: testUpdateQos ...");
385
386 try {
387 Timestamp timestamp = new Timestamp();
388 String xml =
389 "<qos>\n" +
390 " <destination queryType='EXACT' forceQueuing='true'>\n" +
391 " Tim\n" +
392 " </destination>\n" +
393 " <destination queryType='EXACT'>\n" +
394 " Ben\n" +
395 " </destination>\n" +
396 /*
397 " <destination queryType='XPATH'>\n" +
398 " //[GROUP='Manager']\n" +
399 " </destination>\n" +
400 " <destination queryType='XPATH'>\n" +
401 " //ROLE/[@id='Developer']\n" +
402 " </destination>\n" +
403 */
404 " <sender>\n" +
405 " Gesa\n" +
406 " </sender>\n" +
407 " <priority>7</priority>\n" +
408 " <expiration lifeTime='2400' remainingLife='12000'/>\n" +
409 " <rcvTimestamp nanos='" + timestamp.getTimestamp() + "'/>\n" + // if from persistent store
410 " <persistent/>\n" +
411 " <forceUpdate>false</forceUpdate>\n" +
412 " <route>\n" +
413 " <node id='bilbo' stratum='2' timestamp='9408630500' dirtyRead='true'/>\n" +
414 " <node id='frodo' stratum='1' timestamp='9408630538' dirtyRead='false'/>\n" +
415 " <node id='heron' stratum='0' timestamp='9408630564'/>\n" +
416 " </route>\n" +
417 " <topic readonly='true'/>\n" +
418 "</qos>\n";
419
420 UpdateQos qos = new UpdateQos(glob, xml);
421
422 assertEquals("", true, qos.isSubscribable());
423 assertEquals("", true, qos.isPtp());
424 assertEquals("", false, qos.isVolatile());
425 assertEquals("", true, qos.isPersistent());
426 assertEquals("", true, qos.isReadonly());
427 assertEquals("", "Gesa", qos.getSender().getLoginName());
428
429 assertEquals("", 3, qos.getRouteNodes().length);
430 assertEquals("", 2, qos.getRouteNodes()[0].getStratum());
431 assertEquals("", 0, qos.getRouteNodes()[2].getStratum());
432 assertEquals("", 9408630500L, qos.getRouteNodes()[0].getTimestamp().getTimestamp());
433 assertEquals("", true, qos.getRouteNodes()[0].getDirtyRead());
434 assertEquals("", false, qos.getRouteNodes()[1].getDirtyRead());
435 assertEquals("", false, qos.getRouteNodes()[2].getDirtyRead());
436
437 assertEquals("", PriorityEnum.HIGH_PRIORITY, qos.getPriority());
438 assertEquals("", timestamp.getTimestamp(), qos.getRcvTimestamp().getTimestamp());
439 }
440 catch (XmlBlasterException e) {
441 fail("testUpdateQos failed: " + e.toString());
442 }
443
444 System.out.println("***MsgQosFactoryTest: testUpdateQos [SUCCESS]");
445 }
446
447 /**
448 * Tests given rcvTimestamp
449 */
450 public void testFromPersistentStore() {
451 System.out.println("***MsgQosFactoryTest: testFromPersistentStore ...");
452
453 try {
454 Timestamp timestamp = new Timestamp();
455 String xml =
456 "<qos>\n" +
457 " <rcvTimestamp nanos='" + timestamp.getTimestamp() + "'/>\n" + // if from persistent store
458 "</qos>\n";
459
460 MsgQosSaxFactory factory = new MsgQosSaxFactory(glob);
461 MsgQosData qos = factory.readObject(xml);
462
463 assertEquals("", timestamp.getTimestamp(), qos.getRcvTimestamp().getTimestamp());
464 }
465 catch (XmlBlasterException e) {
466 fail("testFromPersistentStore failed: " + e.toString());
467 }
468
469 System.out.println("***MsgQosFactoryTest: testFromPersistentStore [SUCCESS]");
470 }
471
472 /**
473 * Tests given administrative
474 */
475 public void testAdministrative() {
476 System.out.println("***MsgQosFactoryTest: testAdministrative ...");
477
478 //try {
479 MsgQosData msgQosData = new MsgQosData(glob, MethodName.PUBLISH);
480 msgQosData.setAdministrative(true);
481 assertEquals("", PriorityEnum.MAX_PRIORITY.getInt(), msgQosData.getPriority().getInt());
482 String xml = msgQosData.toXml();
483 /*
484 "<qos>\n" +
485 " <priority>MAX</priority>\n" +
486 " <administrative/>\n" +
487 "</qos>\n";
488 */
489 log.info("Created administrative publish" + xml);
490 assertTrue("Missing administrative in " + xml, xml.indexOf("<administrative/>") > -1);
491 assertTrue("Wrong priority in " + xml, xml.indexOf("9") > -1 || xml.indexOf("MAX") > -1 );
492
493 //}
494 //catch (XmlBlasterException e) {
495 // fail("testAdministrative failed: " + e.toString());
496 //}
497
498 System.out.println("***MsgQosFactoryTest: testAdministrative [SUCCESS]");
499 }
500
501 /**
502 * Tests empty xml string
503 */
504 public void testDefault() {
505 System.out.println("***MsgQosFactoryTest: testDefault ...");
506
507 try {
508 MsgQosSaxFactory factory = new MsgQosSaxFactory(glob);
509 MsgQosData qos = factory.readObject((String)null);
510 //qos.addRouteInfo(new RouteInfo(new NodeId("master"), 0, new Timestamp(9408630587L)));
511 assertEquals("", true, qos.isSubscribable());
512 assertEquals("", false, qos.isPtp());
513 assertEquals("", false, qos.isVolatile());
514 assertEquals("", false, qos.isAdministrative());
515 assertEquals("", false, qos.isPersistent());
516 assertEquals("", true, qos.isForceUpdate());
517 assertEquals("", false, qos.isReadonly());
518 assertEquals("", null, qos.getSender());
519 assertEquals("", 0, qos.getRouteNodes().length);
520 assertEquals("", PriorityEnum.NORM_PRIORITY, qos.getPriority());
521 assertEquals("", false, qos.isFromPersistenceStore());
522 assertTrue("", qos.getRcvTimestamp() == null);
523 assertEquals("", null, qos.getDestinations());
524 }
525 catch (XmlBlasterException e) {
526 fail("testDefault failed: " + e.toString());
527 }
528
529 System.out.println("***MsgQosFactoryTest: testDefault [SUCCESS]");
530 }
531
532 /**
533 * <pre>
534 * java org.xmlBlaster.test.classtest.qos.MsgQosFactoryTest
535 * </pre>
536 */
537 public static void main(String args[])
538 {
539 MsgQosFactoryTest testSub = new MsgQosFactoryTest("MsgQosFactoryTest");
540 testSub.setUp();
541 testSub.testParse();
542 testSub.testToXml();
543 testSub.testFromPersistentStore();
544 testSub.testAdministrative();
545 testSub.testPublishQosServer();
546 testSub.testGetReturnQos();
547 testSub.testUpdateQos();
548 testSub.testDefault();
549 //testSub.tearDown();
550 }
551 }
syntax highlighted by Code2HTML, v. 0.9.1