@Test
public void testActionParsing() throws IOException, SAXException {
Reader reader;
UrlRewriteRulesDescriptor config;
UrlRewriteRuleDescriptor rule;
UrlRewriteActionDescriptorBase step;
reader = new StringReader( "<rules><rule><action></action></rule></rules>" );
config = digester.parse( reader );
assertThat( config, notNullValue() );
assertThat( config.getRules(), notNullValue() );
assertThat( config.getRules().size(), is( 1 ) );
rule = config.getRules().get( 0 );
assertThat( rule.steps(), notNullValue() );
assertThat( rule.steps().size(), is( 1 ) );
step = (UrlRewriteActionDescriptorBase)rule.steps().get( 0 );
assertThat( step, notNullValue() );
//assertThat( step.type(), nullValue() );
assertThat( step.parameter(), nullValue() );
reader = new StringReader( "<rules><rule><action type=\"test-type\" param=\"test-param\"></action></rule></rules>" );
config = digester.parse( reader );
assertThat( config, notNullValue() );
assertThat( config.getRules(), notNullValue() );
assertThat( config.getRules().size(), is( 1 ) );
rule = config.getRules().get( 0 );
assertThat( rule.steps(), notNullValue() );
assertThat( rule.steps().size(), is( 1 ) );
step = (UrlRewriteActionDescriptorBase)rule.steps().get( 0 );
assertThat( step, notNullValue() );
//assertThat( step.type(), is( "test-type" ) );
assertThat( step.parameter(), is( "test-param" ) );
}