/* Copyright (c) 2001 - 2007 TOPP - www.openplans.org. All rights reserved. * This code is licensed under the GPL 2.0 license, availible at the root * application directory. */ package org.geoserver.rest; import static org.custommonkey.xmlunit.XMLAssert.assertXpathEvaluatesTo; import org.restlet.data.Request; import org.restlet.data.Response; import org.w3c.dom.Document; public class MapResourceTest extends RestletTestSupport { public void testMapGET() throws Exception { Request request = newRequestGET( "foo.xml" ); Response response = new Response(request); FooMapResource resource = new FooMapResource( null, request, response ); resource.handleGet(); Document dom = getDOM( response ); assertEquals( "root", dom.getDocumentElement().getNodeName() ); assertXpathEvaluatesTo("one", "//prop1", dom); assertXpathEvaluatesTo("2", "//prop2", dom); assertXpathEvaluatesTo("3.0", "//prop3", dom); } public void testObjectPOST() throws Exception { String xml = "<org.geoserver.rest.Foo>" + "<prop1>one</prop1>" + "<prop2>2</prop2>" + "<prop3>3.0</prop3>" + "</org.geoserver.rest.Foo>"; Request request = newRequestPOST("foo",xml,"text/xml"); Response response = new Response(request); FooMapResource resource = new FooMapResource( null, request, response ); resource.handlePost(); assertEquals( "one", resource.posted.get("prop1") ); assertEquals( "2", resource.posted.get("prop2") ); assertEquals( "3.0", resource.posted.get("prop3") ); } public void testObjectPUT() throws Exception { String xml = "<root>" + "<prop1>one</prop1>" + "<prop2>2</prop2>" + "<prop3>3.0</prop3>" + "</root>"; Request request = newRequestPOST("foo",xml,"text/xml"); Response response = new Response(request); FooMapResource resource = new FooMapResource( null, request, response ); resource.handlePut(); assertEquals( "one", resource.puted.get("prop1") ); assertEquals( "2", resource.puted.get("prop2") ); assertEquals( "3.0", resource.puted.get("prop3") ); } }