@Test public void testAuthMechanismParsing(){
  List<AuthMethodConfig> res=AuthMethodParser.parse("BASIC",Collections.<String,String>emptyMap());
  Assert.assertEquals(1,res.size());
  Assert.assertEquals(0,res.get(0).getProperties().size());
  Assert.assertEquals("BASIC",res.get(0).getName());
  res=AuthMethodParser.parse("BASIC?silent=true",Collections.<String,String>emptyMap());
  Assert.assertEquals(1,res.size());
  Assert.assertEquals(1,res.get(0).getProperties().size());
  Assert.assertEquals("BASIC",res.get(0).getName());
  Assert.assertEquals("true",res.get(0).getProperties().get("silent"));
  res=AuthMethodParser.parse("BASIC?silent=true,FORM",Collections.<String,String>emptyMap());
  Assert.assertEquals(2,res.size());
  Assert.assertEquals(1,res.get(0).getProperties().size());
  Assert.assertEquals("BASIC",res.get(0).getName());
  Assert.assertEquals("true",res.get(0).getProperties().get("silent"));
  Assert.assertEquals(0,res.get(1).getProperties().size());
  Assert.assertEquals("FORM",res.get(1).getName());
  res=AuthMethodParser.parse("BASIC?silent=true,FORM,",Collections.<String,String>emptyMap());
  Assert.assertEquals(2,res.size());
  Assert.assertEquals(1,res.get(0).getProperties().size());
  Assert.assertEquals("BASIC",res.get(0).getName());
  Assert.assertEquals("true",res.get(0).getProperties().get("silent"));
  Assert.assertEquals(0,res.get(1).getProperties().size());
  Assert.assertEquals("FORM",res.get(1).getName());
  res=AuthMethodParser.parse("BASIC?silent=true,FORM?,",Collections.<String,String>emptyMap());
  Assert.assertEquals(2,res.size());
  Assert.assertEquals(1,res.get(0).getProperties().size());
  Assert.assertEquals("BASIC",res.get(0).getName());
  Assert.assertEquals("true",res.get(0).getProperties().get("silent"));
  Assert.assertEquals(0,res.get(1).getProperties().size());
  Assert.assertEquals("FORM",res.get(1).getName());
  res=AuthMethodParser.parse("BASIC?silent=true,FORM?a=b+c&d=e%20f,",Collections.<String,String>emptyMap());
  Assert.assertEquals(2,res.size());
  Assert.assertEquals(1,res.get(0).getProperties().size());
  Assert.assertEquals("BASIC",res.get(0).getName());
  Assert.assertEquals("true",res.get(0).getProperties().get("silent"));
  Assert.assertEquals(2,res.get(1).getProperties().size());
  Assert.assertEquals("FORM",res.get(1).getName());
  Assert.assertEquals("b c",res.get(1).getProperties().get("a"));
  Assert.assertEquals("e f",res.get(1).getProperties().get("d"));
}
