1 55 package org.apache.excalibur.configuration.validation.test; 56 57 import junit.framework.TestCase; 58 59 import org.apache.avalon.framework.configuration.Configuration; 60 import org.apache.avalon.framework.configuration.DefaultConfiguration; 61 import org.apache.avalon.framework.logger.ConsoleLogger; 62 import org.apache.excalibur.configuration.validation.ConfigurationValidator; 63 import org.apache.excalibur.configuration.validation.JarvConfigurationValidatorFactory; 64 import org.apache.excalibur.configuration.validation.ValidationResult; 65 66 70 public class JarvConfigurationValidatorFactoryTestCase extends TestCase 71 { 72 private JarvConfigurationValidatorFactory m_factory; 73 private DefaultConfiguration m_configuration; 74 75 public JarvConfigurationValidatorFactoryTestCase() 76 { 77 this( "JarvConfigurationValidatorFactoryTestCase" ); 78 } 79 80 public JarvConfigurationValidatorFactoryTestCase( String s ) 81 { 82 super( s ); 83 } 84 85 public void setUp() throws Exception 86 { 87 m_configuration = new DefaultConfiguration( "a", "b" ); 88 m_configuration.setAttribute( "test", "test" ); 89 m_configuration.setValue( "test" ); 90 91 m_factory = new JarvConfigurationValidatorFactory(); 92 m_factory.enableLogging( new ConsoleLogger() ); 93 m_factory.configure( createConfiguration() ); 94 m_factory.initialize(); 95 } 96 97 private Configuration createConfiguration() throws Exception 98 { 99 final DefaultConfiguration c = new DefaultConfiguration( "validator", "0" ); 100 final DefaultConfiguration child = new DefaultConfiguration( "schema-language", "1" ); 101 102 c.setAttribute( "schema-type", "relax-ng" ); 103 child.setValue( "http://relaxng.org/ns/structure/1.0" ); 104 105 c.addChild( child ); 106 107 c.makeReadOnly(); 108 109 return c; 110 } 111 112 public void tearDowm() 113 { 114 m_configuration = null; 115 } 116 117 public void testValidConfiguration() 118 throws Exception 119 { 120 final ConfigurationValidator validator = 121 m_factory.createValidator( 122 "relax-ng", 123 this.getClass().getResourceAsStream( "valid.rng" ) ); 124 125 final ValidationResult result = validator.isValid( m_configuration ); 126 127 System.out.println( "(bad) testValidConfiguration.warning: " + result.getWarnings() ); 128 System.out.println( "(bad) testValidConfiguration.errors: " + result.getErrors() ); 129 130 assertEquals( "failure!!", true, result.isValid() ); 131 } 132 133 public void testInvalidConfiguration() 134 throws Exception 135 { 136 final ConfigurationValidator validator = 137 m_factory.createValidator( 138 "relax-ng", 139 this.getClass().getResourceAsStream( "invalid.rng" ) ); 140 141 final ValidationResult result = validator.isValid( m_configuration ); 142 143 System.out.println( "(expected) testInvalidConfiguration.warning: " + result.getWarnings() ); 144 System.out.println( "(expected) testInvalidConfiguration.errors: " + result.getErrors() ); 145 146 assertEquals( false, result.isValid() ); 147 } 148 } 149 | Popular Tags |