44import com .marklogic .junit5 .MarkLogicNamespaceProvider ;
55import com .marklogic .junit5 .NamespaceProvider ;
66import com .marklogic .junit5 .XmlNode ;
7+ import org .jdom2 .Namespace ;
78import org .junit .jupiter .api .Assertions ;
9+ import org .junit .jupiter .api .BeforeEach ;
810import org .junit .jupiter .api .Test ;
911
1012import static org .junit .jupiter .api .Assertions .assertEquals ;
1113import static org .junit .jupiter .api .Assertions .assertNotNull ;
1214
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 ;
1420
1521 @ Override
1622 protected NamespaceProvider getNamespaceProvider () {
17- return new MarkLogicNamespaceProvider ("m" , "org:example" );
23+ return useCustomNamespaceProvider ?
24+ new MarkLogicNamespaceProvider ("m" , "org:example" ) :
25+ super .getNamespaceProvider ();
1826 }
1927
20- @ Test
21- public void test () {
22- getDatabaseClient ().newXMLDocumentManager ().write ("/test/1.xml" ,
28+ @ BeforeEach
29+ void setup () {
30+ getDatabaseClient ().newXMLDocumentManager ().write (TEST_URI ,
2331 new StringHandle ("" +
2432 "<message xmlns='org:example'>" +
2533 "<color important='true'>red</color>" +
2634 "<color>blue</color>" +
2735 "<size>medium</size>" +
2836 "<parent><kid>hello</kid></parent>" +
2937 "</message>" ));
38+ }
3039
31- XmlNode xml = readXmlDocument ("/test/1.xml" );
40+ @ Test
41+ public void test () {
42+ XmlNode xml = readXmlDocument (TEST_URI );
3243
33- assertEquals ("/test/1.xml" , xml .getUri ());
44+ assertEquals (TEST_URI , xml .getUri ());
3445 xml .assertElementValue ("/m:message/m:size" , "medium" );
3546 assertEquals ("medium" , xml .getElementValue ("/m:message/m:size" ));
3647 assertEquals ("true" , xml .getAttributeValue ("/m:message/m:color[. = 'red']" , "important" ));
@@ -47,4 +58,11 @@ public void test() {
4758 xml .prettyPrint ();
4859 assertNotNull (xml .getPrettyXml ());
4960 }
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+ }
5068}
0 commit comments