[jboss-dev-forums] [Design of Messaging on JBoss (Messaging/JBoss)] - Re: Wild card Subscriptions

timfox do-not-reply at jboss.com
Sat Jan 10 04:50:45 EST 2009


I have created a bunch more tests that fail using the current address manager, some come straight from the AMQP spec:


  | public void testAddressManager2() throws Exception
  |    {
  |       AddressManager am = new WildcardAddressManager();
  |       
  |       Binding binding1 = new MyBinding();
  |       
  |       am.addMapping(new SimpleString("a.b.c.#"), binding1);
  |             
  |       //# should match zero or more words (see AMQP spec 0.10, 2.3.1.3)
  |       Bindings bindings = am.getBindings(new SimpleString("a.b.c"));
  |       
  |       assertTrue(bindings.getBindings().contains(binding1));
  |       assertEquals(1, bindings.getBindings().size());
  |    }
  |    
  |    public void testAddressManager3() throws Exception
  |    {
  |       AddressManager am = new WildcardAddressManager();
  |       
  |       Binding binding1 = new MyBinding();
  |       
  |       am.addMapping(new SimpleString("a.b.c.#"), binding1);
  |             
  |       //# should match zero or more words (see AMQP spec 0.10, 2.3.1.3)
  |       Bindings bindings = am.getBindings(new SimpleString("a.b.c.d"));
  |       
  |       assertTrue(bindings.getBindings().contains(binding1));
  |       assertEquals(1, bindings.getBindings().size());
  |    }
  |    
  |    public void testAddressManager4() throws Exception
  |    {
  |       AddressManager am = new WildcardAddressManager();
  |       
  |       Binding binding1 = new MyBinding();
  |       
  |       try
  |       {
  |          //Should fail, a.b.c# is not a valid key - all tokens should be delimited by '.'
  |          am.addMapping(new SimpleString("a.b.c#"), binding1);
  |          
  |          fail("Should throw exception");
  |       }
  |       catch (Exception e)
  |       {
  |          //Ok
  |       }
  |             
  |    }
  |    
  |    public void testAddressManager5() throws Exception
  |    {
  |       AddressManager am = new WildcardAddressManager();
  |       
  |       Binding binding1 = new MyBinding();
  |       
  |       try
  |       {         
  |          am.addMapping(new SimpleString("#a.b.c"), binding1);
  |          
  |          fail("Should throw exception");
  |       }
  |       catch (Exception e)
  |       {
  |          //Ok
  |       }
  |             
  |    }
  |    
  |    public void testAddressManager6() throws Exception
  |    {
  |       AddressManager am = new WildcardAddressManager();
  |       
  |       Binding binding1 = new MyBinding();
  |       
  |       try
  |       {         
  |          am.addMapping(new SimpleString("#*a.b.c"), binding1);
  |          
  |          fail("Should throw exception");
  |       }
  |       catch (Exception e)
  |       {
  |          //Ok
  |       }
  |             
  |    }
  |    
  |    public void testAddressManager7() throws Exception
  |    {
  |       AddressManager am = new WildcardAddressManager();
  |       
  |       Binding binding1 = new MyBinding();
  |       
  |       try
  |       {
  |          //Should fail, a.b.c* is not a valid key - all tokens should be delimited by '.'
  |          am.addMapping(new SimpleString("a.b.c*"), binding1);
  |          
  |          fail("Should throw exception");
  |       }
  |       catch (Exception e)
  |       {
  |          //Ok
  |       }
  |             
  |    }
  |    
  |    public void testAddressManager8() throws Exception
  |    {
  |       AddressManager am = new WildcardAddressManager();
  |       
  |       Binding binding1 = new MyBinding();
  |       
  |       try
  |       {         
  |          am.addMapping(new SimpleString("*a.b.c"), binding1);
  |          
  |          fail("Should throw exception");
  |       }
  |       catch (Exception e)
  |       {
  |          //Ok
  |       }
  |             
  |    }
  |    
  |    public void testAddressManager9() throws Exception
  |    {
  |       AddressManager am = new WildcardAddressManager();
  |       
  |       Binding binding1 = new MyBinding();
  |       
  |       try
  |       {         
  |          am.addMapping(new SimpleString(".."), binding1);
  |          
  |          fail("Should throw exception");
  |       }
  |       catch (Exception e)
  |       {
  |          //Ok
  |       }
  |             
  |    }
  |    
  |    public void testAddressManager10() throws Exception
  |    {
  |       AddressManager am = new WildcardAddressManager();
  |       
  |       Binding binding1 = new MyBinding();
  |       
  |       //Should fail, a.b.c# is not a valid key - all tokens should be delimited by '.'
  |       am.addMapping(new SimpleString("*.stock.#"), binding1);
  |       
  |       Bindings bindings = am.getBindings(new SimpleString("usd.stock"));
  |       
  |       assertTrue(bindings.getBindings().contains(binding1));             
  |    }
  |    
  |    public void testAddressManager11() throws Exception
  |    {
  |       AddressManager am = new WildcardAddressManager();
  |       
  |       Binding binding1 = new MyBinding();
  |       
  |       //Should fail, a.b.c# is not a valid key - all tokens should be delimited by '.'
  |       am.addMapping(new SimpleString("*.stock.#"), binding1);
  |       
  |       Bindings bindings = am.getBindings(new SimpleString("eur.stock.db"));
  |       
  |       assertTrue(bindings.getBindings().contains(binding1));             
  |    }
  |    
  |    public void testAddressManager12() throws Exception
  |    {
  |       AddressManager am = new WildcardAddressManager();
  |       
  |       Binding binding1 = new MyBinding();
  |       
  |       //Should fail, a.b.c# is not a valid key - all tokens should be delimited by '.'
  |       am.addMapping(new SimpleString("*.stock.#"), binding1);
  |       
  |       Bindings bindings = am.getBindings(new SimpleString("stock.nasdaq"));
  |       
  |       assertNull(bindings.getBindings());             
  |    }
  | 

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4200763#4200763

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4200763



More information about the jboss-dev-forums mailing list