4
4
import com .marklogic .junit5 .MarkLogicNamespaceProvider ;
5
5
import com .marklogic .junit5 .NamespaceProvider ;
6
6
import com .marklogic .junit5 .XmlNode ;
7
+ import org .jdom2 .Namespace ;
7
8
import org .junit .jupiter .api .Assertions ;
9
+ import org .junit .jupiter .api .BeforeEach ;
8
10
import org .junit .jupiter .api .Test ;
9
11
10
12
import static org .junit .jupiter .api .Assertions .assertEquals ;
11
13
import static org .junit .jupiter .api .Assertions .assertNotNull ;
12
14
13
- public class XmlNodeTest extends AbstractSpringMarkLogicTest {
15
+ class XmlNodeTest extends AbstractSpringMarkLogicTest {
16
+
17
+ private static final String TEST_URI = "/test/1.xml" ;
18
+
19
+ private boolean useCustomNamespaceProvider = true ;
14
20
15
21
@ Override
16
22
protected NamespaceProvider getNamespaceProvider () {
17
- return new MarkLogicNamespaceProvider ("m" , "org:example" );
23
+ return useCustomNamespaceProvider ?
24
+ new MarkLogicNamespaceProvider ("m" , "org:example" ) :
25
+ super .getNamespaceProvider ();
18
26
}
19
27
20
- @ Test
21
- public void test () {
22
- getDatabaseClient ().newXMLDocumentManager ().write ("/test/1.xml" ,
28
+ @ BeforeEach
29
+ void setup () {
30
+ getDatabaseClient ().newXMLDocumentManager ().write (TEST_URI ,
23
31
new StringHandle ("" +
24
32
"<message xmlns='org:example'>" +
25
33
"<color important='true'>red</color>" +
26
34
"<color>blue</color>" +
27
35
"<size>medium</size>" +
28
36
"<parent><kid>hello</kid></parent>" +
29
37
"</message>" ));
38
+ }
30
39
31
- XmlNode xml = readXmlDocument ("/test/1.xml" );
40
+ @ Test
41
+ public void test () {
42
+ XmlNode xml = readXmlDocument (TEST_URI );
32
43
33
- assertEquals ("/test/1.xml" , xml .getUri ());
44
+ assertEquals (TEST_URI , xml .getUri ());
34
45
xml .assertElementValue ("/m:message/m:size" , "medium" );
35
46
assertEquals ("medium" , xml .getElementValue ("/m:message/m:size" ));
36
47
assertEquals ("true" , xml .getAttributeValue ("/m:message/m:color[. = 'red']" , "important" ));
@@ -47,4 +58,11 @@ public void test() {
47
58
xml .prettyPrint ();
48
59
assertNotNull (xml .getPrettyXml ());
49
60
}
61
+
62
+ @ Test
63
+ void readWithNamespaces () {
64
+ useCustomNamespaceProvider = false ;
65
+ XmlNode xml = readXmlDocument (TEST_URI , Namespace .getNamespace ("m" , "org:example" ));
66
+ xml .assertElementValue ("/m:message/m:size" , "medium" );
67
+ }
50
68
}
0 commit comments