📄 msgqosfactorytest.java
字号:
" <node id='bilbo' stratum='2' timestamp='9408630500' dirtyRead='true'/>\n" + " <node id='frodo' stratum='1' timestamp='9408630538' dirtyRead='false'/>\n" + " <node id='heron' stratum='0' timestamp='9408630564'/>\n" + " </route>\n" + "</qos>\n"; PublishQosServer qos = new PublishQosServer(new org.xmlBlaster.engine.ServerScope(), xml); assertEquals("", true, qos.isSubscribable()); assertEquals("", true, qos.isPtp()); assertEquals("", false, qos.isVolatile()); assertEquals("", true, qos.isPersistent()); assertEquals("", false, qos.isForceUpdate()); assertEquals("", false, qos.isReadonly()); assertEquals("", "Gesa", qos.getSender().getLoginName()); assertEquals("", 3, qos.getRouteNodes().length); assertEquals("", 2, qos.getRouteNodes()[0].getStratum()); assertEquals("", 0, qos.getRouteNodes()[2].getStratum()); assertEquals("", 9408630500L, qos.getRouteNodes()[0].getTimestamp().getTimestamp()); assertEquals("", true, qos.getRouteNodes()[0].getDirtyRead()); assertEquals("", false, qos.getRouteNodes()[1].getDirtyRead()); assertEquals("", false, qos.getRouteNodes()[2].getDirtyRead()); assertEquals("", PriorityEnum.HIGH_PRIORITY, qos.getPriority()); assertEquals("", false, qos.isFromPersistenceStore()); Timestamp timestamp = new Timestamp(); assertTrue("timestamp.getTimestamp()="+timestamp.getTimestamp()+" qos.getRcvTimestamp().getTimestamp()="+qos.getRcvTimestamp().getTimestamp() , timestamp.getTimestamp() > qos.getRcvTimestamp().getTimestamp()); assertTrue("timestamp.getTimestamp()="+timestamp.getTimestamp()+" qos.getRcvTimestamp().getTimestamp()="+qos.getRcvTimestamp().getTimestamp() , timestamp.getTimestamp() < (qos.getRcvTimestamp().getTimestamp()+10000000)); assertEquals("", 2, qos.getDestinations().size()); assertEquals("", true, ((Destination)qos.getDestinations().get(0)).forceQueuing()); } catch (XmlBlasterException e) { fail("testPublishQosServer failed: " + e.toString()); } System.out.println("***MsgQosFactoryTest: testPublishQosServer [SUCCESS]"); } /** * Tries with all known tags */ public void testGetReturnQos() { System.out.println("***MsgQosFactoryTest: testGetReturnQos ..."); try { Timestamp timestamp = new Timestamp(); String xml = "<qos>\n" + " <destination queryType='EXACT' forceQueuing='true'>\n" + " Tim\n" + " </destination>\n" + " <destination queryType='EXACT'>\n" + " Ben\n" + " </destination>\n" + /* " <destination queryType='XPATH'>\n" + " //[GROUP='Manager']\n" + " </destination>\n" + " <destination queryType='XPATH'>\n" + " //ROLE/[@id='Developer']\n" + " </destination>\n" + */ " <sender>\n" + " Gesa\n" + " </sender>\n" + " <priority>7</priority>\n" + " <expiration lifeTime='2400' remainingLife='12000'/>\n" + " <rcvTimestamp nanos='" + timestamp.getTimestamp() + "'/>\n" + // if from persistent store " <persistent/>\n" + " <forceUpdate>false</forceUpdate>\n" + " <route>\n" + " <node id='bilbo' stratum='2' timestamp='9408630500' dirtyRead='true'/>\n" + " <node id='frodo' stratum='1' timestamp='9408630538' dirtyRead='false'/>\n" + " <node id='heron' stratum='0' timestamp='9408630564'/>\n" + " </route>\n" + "</qos>\n"; GetReturnQos qos = new GetReturnQos(glob, xml); assertEquals("", false, qos.isVolatile()); assertEquals("", true, qos.isPersistent()); assertEquals("", false, qos.isReadonly()); assertEquals("", "Gesa", qos.getSender().getLoginName()); assertEquals("", 3, qos.getRouteNodes().length); assertEquals("", 2, qos.getRouteNodes()[0].getStratum()); assertEquals("", 0, qos.getRouteNodes()[2].getStratum()); assertEquals("", 9408630500L, qos.getRouteNodes()[0].getTimestamp().getTimestamp()); assertEquals("", true, qos.getRouteNodes()[0].getDirtyRead()); assertEquals("", false, qos.getRouteNodes()[1].getDirtyRead()); assertEquals("", false, qos.getRouteNodes()[2].getDirtyRead()); assertEquals("", PriorityEnum.HIGH_PRIORITY, qos.getPriority()); assertEquals("", timestamp.getTimestamp(), qos.getRcvTimestamp().getTimestamp()); } catch (XmlBlasterException e) { fail("testGetReturnQos failed: " + e.toString()); } System.out.println("***MsgQosFactoryTest: testGetReturnQos [SUCCESS]"); } /** * Tries with all known tags */ public void testUpdateQos() { System.out.println("***MsgQosFactoryTest: testUpdateQos ..."); try { Timestamp timestamp = new Timestamp(); String xml = "<qos>\n" + " <destination queryType='EXACT' forceQueuing='true'>\n" + " Tim\n" + " </destination>\n" + " <destination queryType='EXACT'>\n" + " Ben\n" + " </destination>\n" + /* " <destination queryType='XPATH'>\n" + " //[GROUP='Manager']\n" + " </destination>\n" + " <destination queryType='XPATH'>\n" + " //ROLE/[@id='Developer']\n" + " </destination>\n" + */ " <sender>\n" + " Gesa\n" + " </sender>\n" + " <priority>7</priority>\n" + " <expiration lifeTime='2400' remainingLife='12000'/>\n" + " <rcvTimestamp nanos='" + timestamp.getTimestamp() + "'/>\n" + // if from persistent store " <persistent/>\n" + " <forceUpdate>false</forceUpdate>\n" + " <route>\n" + " <node id='bilbo' stratum='2' timestamp='9408630500' dirtyRead='true'/>\n" + " <node id='frodo' stratum='1' timestamp='9408630538' dirtyRead='false'/>\n" + " <node id='heron' stratum='0' timestamp='9408630564'/>\n" + " </route>\n" + " <topic readonly='true'/>\n" + "</qos>\n"; UpdateQos qos = new UpdateQos(glob, xml); assertEquals("", true, qos.isSubscribable()); assertEquals("", true, qos.isPtp()); assertEquals("", false, qos.isVolatile()); assertEquals("", true, qos.isPersistent()); assertEquals("", true, qos.isReadonly()); assertEquals("", "Gesa", qos.getSender().getLoginName()); assertEquals("", 3, qos.getRouteNodes().length); assertEquals("", 2, qos.getRouteNodes()[0].getStratum()); assertEquals("", 0, qos.getRouteNodes()[2].getStratum()); assertEquals("", 9408630500L, qos.getRouteNodes()[0].getTimestamp().getTimestamp()); assertEquals("", true, qos.getRouteNodes()[0].getDirtyRead()); assertEquals("", false, qos.getRouteNodes()[1].getDirtyRead()); assertEquals("", false, qos.getRouteNodes()[2].getDirtyRead()); assertEquals("", PriorityEnum.HIGH_PRIORITY, qos.getPriority()); assertEquals("", timestamp.getTimestamp(), qos.getRcvTimestamp().getTimestamp()); } catch (XmlBlasterException e) { fail("testUpdateQos failed: " + e.toString()); } System.out.println("***MsgQosFactoryTest: testUpdateQos [SUCCESS]"); } /** * Tests given rcvTimestamp */ public void testFromPersistentStore() { System.out.println("***MsgQosFactoryTest: testFromPersistentStore ..."); try { Timestamp timestamp = new Timestamp(); String xml = "<qos>\n" + " <rcvTimestamp nanos='" + timestamp.getTimestamp() + "'/>\n" + // if from persistent store "</qos>\n"; MsgQosSaxFactory factory = new MsgQosSaxFactory(glob); MsgQosData qos = factory.readObject(xml); assertEquals("", timestamp.getTimestamp(), qos.getRcvTimestamp().getTimestamp()); } catch (XmlBlasterException e) { fail("testFromPersistentStore failed: " + e.toString()); } System.out.println("***MsgQosFactoryTest: testFromPersistentStore [SUCCESS]"); } /** * Tests given administrative */ public void testAdministrative() { System.out.println("***MsgQosFactoryTest: testAdministrative ..."); //try { MsgQosData msgQosData = new MsgQosData(glob, MethodName.PUBLISH); msgQosData.setAdministrative(true); assertEquals("", PriorityEnum.MAX_PRIORITY.getInt(), msgQosData.getPriority().getInt()); String xml = msgQosData.toXml(); /* "<qos>\n" + " <priority>MAX</priority>\n" + " <administrative/>\n" + "</qos>\n"; */ log.info("Created administrative publish" + xml); assertTrue("Missing administrative in " + xml, xml.indexOf("<administrative/>") > -1); assertTrue("Wrong priority in " + xml, xml.indexOf("9") > -1 || xml.indexOf("MAX") > -1 ); //} //catch (XmlBlasterException e) { // fail("testAdministrative failed: " + e.toString()); //} System.out.println("***MsgQosFactoryTest: testAdministrative [SUCCESS]"); } /** * Tests empty xml string */ public void testDefault() { System.out.println("***MsgQosFactoryTest: testDefault ..."); try { MsgQosSaxFactory factory = new MsgQosSaxFactory(glob); MsgQosData qos = factory.readObject((String)null); //qos.addRouteInfo(new RouteInfo(new NodeId("master"), 0, new Timestamp(9408630587L))); assertEquals("", true, qos.isSubscribable()); assertEquals("", false, qos.isPtp()); assertEquals("", false, qos.isVolatile()); assertEquals("", false, qos.isAdministrative()); assertEquals("", false, qos.isPersistent()); assertEquals("", true, qos.isForceUpdate()); assertEquals("", false, qos.isReadonly()); assertEquals("", null, qos.getSender()); assertEquals("", 0, qos.getRouteNodes().length); assertEquals("", PriorityEnum.NORM_PRIORITY, qos.getPriority()); assertEquals("", false, qos.isFromPersistenceStore()); assertTrue("", qos.getRcvTimestamp() == null); assertEquals("", null, qos.getDestinations()); } catch (XmlBlasterException e) { fail("testDefault failed: " + e.toString()); } System.out.println("***MsgQosFactoryTest: testDefault [SUCCESS]"); } /** * <pre> * java org.xmlBlaster.test.classtest.qos.MsgQosFactoryTest * </pre> */ public static void main(String args[]) { MsgQosFactoryTest testSub = new MsgQosFactoryTest("MsgQosFactoryTest"); testSub.setUp(); testSub.testParse(); testSub.testToXml(); testSub.testFromPersistentStore(); testSub.testAdministrative(); testSub.testPublishQosServer(); testSub.testGetReturnQos(); testSub.testUpdateQos(); testSub.testDefault(); //testSub.tearDown(); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -