Changeset 4624
- Timestamp:
- 03/06/14 08:47:50 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
ComponentRegistry/trunk/CMDValidate/src/test/java/clarin/cmdi/schema/cmd/TestCMDValidate.java
r4623 r4624 22 22 @Before 23 23 public void setUp() { 24 25 24 cmdValidator = new Validator(getClass().getResource("/schema/general-component-schema.xsd")); 25 cmdValidator.setResourceResolver(new ResourceResolver()); 26 26 } 27 27 28 28 @After 29 29 public void tearDown() { 30 30 cmdValidator = null; 31 31 } 32 32 33 33 protected boolean validate(String prof) throws Exception { 34 35 36 37 38 39 40 41 42 43 34 System.out.print("Test CMD validation [" + prof + "] "); 35 Source src = new javax.xml.transform.stream.StreamSource(new java.io.File(TestCMDValidate.class.getResource("/docs/" + prof).toURI())); 36 boolean valid = cmdValidator.validateProfile(src); 37 if (valid) { 38 System.out.println("valid"); 39 } else { 40 System.out.println("invalid"); 41 } 42 cmdValidator.printMessages(System.out); 43 return valid; 44 44 } 45 45 46 46 @Test 47 47 public void valid_0() throws Exception { 48 49 48 assertTrue(validate("CLARINWebService.xml")); 49 assertEquals(0, cmdValidator.getMessages().size()); 50 50 } 51 51 52 52 @Test 53 53 public void invalid_1() throws Exception { 54 54 assertFalse(validate("CLARINWebService_faulty-1.xml")); 55 55 56 57 58 59 60 61 62 56 final List<Message> messages = cmdValidator.getMessages(); 57 assertEquals(1, messages.size()); 58 Message message = messages.get(0); 59 assertTrue(message.error); 60 assertEquals("/CMD_ComponentSpec[1]/CMD_Component[1]/CMD_Component[1]/AttributeList[1]/Attribute[1]", message.location); 61 assertEquals("not(Name=('ref','ComponentId'))", message.test); 62 assertNotNull(message.text); 63 63 } 64 64 65 65 @Test 66 66 public void invalid_2() throws Exception { 67 67 assertFalse(validate("CLARINWebService_faulty-2.xml")); 68 68 69 70 71 72 73 74 75 69 final List<Message> messages = cmdValidator.getMessages(); 70 assertEquals(1, messages.size()); 71 Message message = messages.get(0); 72 assertTrue(message.error); 73 assertEquals("/CMD_ComponentSpec[1]/CMD_Component[1]/CMD_Component[1]/AttributeList[1]/Attribute[1]/ValueScheme[1]/enumeration[1]/item[2]", message.location); 74 assertEquals("empty(preceding-sibling::item[.=current()])", message.test); 75 assertNotNull(message.text); 76 76 } 77 77 78 78 @Test 79 79 public void invalid_3() throws Exception { 80 80 assertFalse(validate("CLARINWebService_faulty-3.xml")); 81 81 82 83 84 85 86 87 88 82 final List<Message> messages = cmdValidator.getMessages(); 83 assertEquals(1, messages.size()); 84 Message message = messages.get(0); 85 assertTrue(message.error); 86 assertEquals("/CMD_ComponentSpec[1]/CMD_Component[1]/CMD_Component[1]/AttributeList[1]/Attribute[2]", message.location); 87 assertEquals("empty(preceding-sibling::Attribute[Name=current()/Name])", message.test); 88 assertNotNull(message.text); 89 89 } 90 90 91 91 @Test 92 92 public void invalid_4() throws Exception { 93 93 assertFalse(validate("CLARINWebService_faulty-4.xml")); 94 94 95 96 97 98 99 100 101 95 final List<Message> messages = cmdValidator.getMessages(); 96 assertEquals(1, messages.size()); 97 Message message = messages.get(0); 98 assertTrue(message.error); 99 assertEquals("/CMD_ComponentSpec[1]/CMD_Component[1]/CMD_Component[1]/CMD_Component[2]", message.location); 100 assertEquals("empty(preceding-sibling::*[@name=current()/@name])", message.test); 101 assertNotNull(message.text); 102 102 } 103 103 104 104 @Test 105 105 public void invalid_5() throws Exception { 106 106 assertFalse(validate("CLARINWebService_faulty-5.xml")); 107 107 108 109 110 111 112 113 114 108 final List<Message> messages = cmdValidator.getMessages(); 109 assertEquals(1, messages.size()); 110 Message message = messages.get(0); 111 assertTrue(message.error); 112 assertEquals("/CMD_ComponentSpec[1]/CMD_Component[1]/CMD_Component[1]/CMD_Element[3]", message.location); 113 assertEquals("empty(preceding-sibling::*[@name=current()/@name])", message.test); 114 assertNotNull(message.text); 115 115 } 116 116 117 117 @Test 118 118 public void invalid_6() throws Exception { 119 119 assertFalse(validate("CLARINWebService_faulty-6.xml")); 120 120 121 122 123 124 125 126 127 121 final List<Message> messages = cmdValidator.getMessages(); 122 assertEquals(1, messages.size()); 123 Message message = messages.get(0); 124 assertTrue(message.error); 125 assertEquals("/CMD_ComponentSpec[1]/CMD_Component[1]/CMD_Component[1]/CMD_Component[1]", message.location); 126 assertEquals("empty(preceding-sibling::*[@name=current()/@name])", message.test); 127 assertNotNull(message.text); 128 128 } 129 129 130 130 @Test 131 131 public void invalid_7() throws Exception { 132 132 assertFalse(validate("CLARINWebService_faulty-7.xml")); 133 133 134 135 136 137 138 139 140 134 final List<Message> messages = cmdValidator.getMessages(); 135 assertEquals(1, messages.size()); 136 Message message = messages.get(0); 137 assertTrue(message.error); 138 assertNull(message.location); 139 assertNull(message.test); 140 assertNotNull(message.text); 141 141 } 142 142 143 143 @Test 144 144 public void valid_8() throws Exception { 145 145 assertTrue(validate("CLARINWebService_warn-8.xml")); 146 146 147 148 149 150 151 assertEquals("/CMD_ComponentSpec[1]/CMD_Component[1]",message.location);152 153 assertEquals("A nested component or element has the same name ('Service') as this component! Please, consider to rename one of them.",message.text);154 155 156 assertEquals("/CMD_ComponentSpec[1]/CMD_Component[1]/CMD_Component[1]/AttributeList[1]/Attribute[1]",message.location);157 158 assertEquals("An attribute has the same name ('Service') as its element or component! Please, consider to rename one of them.",message.text);147 final List<Message> messages = cmdValidator.getMessages(); 148 assertEquals(2, messages.size()); 149 Message message = messages.get(0); 150 assertFalse(message.error); 151 assertEquals("/CMD_ComponentSpec[1]/CMD_Component[1]", message.location); 152 assertNotNull(message.test); 153 assertEquals("A nested component or element has the same name ('Service') as this component! Please, consider to rename one of them.", message.text); 154 message = messages.get(1); 155 assertFalse(message.error); 156 assertEquals("/CMD_ComponentSpec[1]/CMD_Component[1]/CMD_Component[1]/AttributeList[1]/Attribute[1]", message.location); 157 assertNotNull(message.test); 158 assertEquals("An attribute has the same name ('Service') as its element or component! Please, consider to rename one of them.", message.text); 159 159 } 160 160 161 161 @Test 162 162 public void invalid_9() throws Exception { 163 163 assertFalse(validate("CLARINWebService_faulty-9.xml")); 164 164 165 166 167 168 169 170 171 165 final List<Message> messages = cmdValidator.getMessages(); 166 assertEquals(1, messages.size()); 167 Message message = messages.get(0); 168 assertTrue(message.error); 169 assertEquals("/CMD_ComponentSpec[1]/CMD_Component[1]/CMD_Component[1]/CMD_Component[2]/CMD_Component[1]/CMD_Component[2]/CMD_Component[3]", message.location); 170 assertEquals("empty(preceding-sibling::CMD_Component[@ComponentId=current()/@ComponentId])", message.test); 171 assertNotNull(message.text); 172 172 } 173 173 174 174 @Test 175 175 public void invalid_10() throws Exception { 176 assertFalse(validate("CLARINWebService_faulty-10.xml")); 177 178 } 176 assertFalse("There should be invalid cardinality values", validate("CLARINWebService_faulty-10.xml")); 177 final List<Message> messages = cmdValidator.getMessages(); 178 assertEquals("There should be 5 invalid cardinality sets", 5, messages.size()); 179 assertEquals("UNK, number, maximum ne 0", "/CMD_ComponentSpec[1]/CMD_Component[1]/CMD_Element[3]", messages.get(0).location); 180 assertEquals("number, UNK, minimum le 1","/CMD_ComponentSpec[1]/CMD_Component[1]/CMD_Element[6]", messages.get(1).location); 181 assertEquals("number, number, minimum le maximum","/CMD_ComponentSpec[1]/CMD_Component[1]/CMD_Element[8]", messages.get(2).location); 182 assertEquals("unbounded, UNK", "/CMD_ComponentSpec[1]/CMD_Component[1]/CMD_Element[10]", messages.get(3).location); 183 assertEquals("unbounded, 1", "/CMD_ComponentSpec[1]/CMD_Component[1]/CMD_Element[11]", messages.get(4).location); 184 } 179 185 }
Note: See TracChangeset
for help on using the changeset viewer.