package org.geoserver.gss.xml;
import static org.custommonkey.xmlunit.XMLAssert.*;
import javax.xml.namespace.QName;
import org.geoserver.gss.GetCentralRevisionType;
import org.w3c.dom.Document;
public class GetCentralRevisionTypeBindingTest extends GSSXMLTestSupport {
public void testParseOne() throws Exception {
document = dom("GetCentralRevisionRequest.xml");
GetCentralRevisionType gcr = (GetCentralRevisionType) parse(GSS.GetCentralRevisionType);
assertEquals(1, gcr.getTypeNames().size());
assertEquals("archsites", gcr.getTypeNames().get(0).getLocalPart());
assertEquals(SF_NAMESPACE, gcr.getTypeNames().get(0).getNamespaceURI());
assertEquals("GSS", gcr.getService());
assertEquals("1.0.0", gcr.getVersion());
}
public void testParseTwo() throws Exception {
document = dom("GetCentralRevisionRequestTwoTypes.xml");
GetCentralRevisionType gcr = (GetCentralRevisionType) parse(GSS.GetCentralRevisionType);
assertEquals(2, gcr.getTypeNames().size());
assertEquals("archsites", gcr.getTypeNames().get(0).getLocalPart());
assertEquals(SF_NAMESPACE, gcr.getTypeNames().get(0).getNamespaceURI());
assertEquals("restricted", gcr.getTypeNames().get(1).getLocalPart());
assertEquals(SF_NAMESPACE, gcr.getTypeNames().get(1).getNamespaceURI());
}
public void testEncode() throws Exception {
GetCentralRevisionType gcr = new GetCentralRevisionType();
gcr.getTypeNames().add(new QName(SF_NAMESPACE, "archsites"));
gcr.getTypeNames().add(new QName(SF_NAMESPACE, "restricted"));
Document doc = encode(gcr, GSS.GetCentralRevision);
// print(doc);
assertXpathEvaluatesTo("2", "count(//gss:GetCentralRevision/gss:TypeName)", doc);
assertXpathEvaluatesTo("sf:archsites", "//gss:GetCentralRevision/gss:TypeName[1]", doc);
assertXpathEvaluatesTo("sf:restricted", "//gss:GetCentralRevision/gss:TypeName[2]", doc);
}
}