package org.jboss.seam.example.restbay.test; import static org.testng.Assert.assertEquals; import org.jboss.seam.mock.EnhancedMockHttpServletRequest; import org.jboss.seam.mock.EnhancedMockHttpServletResponse; import static org.jboss.seam.mock.ResourceRequestEnvironment.Method; import static org.jboss.seam.mock.ResourceRequestEnvironment.ResourceRequest; import org.jboss.seam.mock.SeamTest; import org.jboss.seam.mock.ResourceRequestEnvironment; import org.testng.annotations.DataProvider; import org.testng.annotations.Test; /** * * @author Jozef Hartinger * */ public class ResourceQueryTest extends SeamTest { @DataProvider(name = "queryPaths") public Object[][] getData() { String[][] data = new String[2][1]; data[0][0] = "/configuredCategory"; data[1][0] = "/extendedCategory"; return data; } @Test(dataProvider = "queryPaths") public void testResourceQuery(String path) throws Exception { new ResourceRequest(new ResourceRequestEnvironment(this), Method.GET, "/restv1" + path) { @Override protected void prepareRequest(EnhancedMockHttpServletRequest request) { super.prepareRequest(request); request.addHeader("Accept", "application/xml"); request.setQueryString("start=2&show=2"); } @Override protected void onResponse(EnhancedMockHttpServletResponse response) { String expectedResponse = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><collection><category><categoryId>3</categoryId><name>Books</name></category><category><categoryId>4</categoryId><name>Cameras and Photography</name></category></collection>"; assertEquals(response.getContentAsString(), expectedResponse, "Unexpected response."); } }.run(); } }