package org.jboss.seam.example.restbay.test;
import org.jboss.seam.mock.EnhancedMockHttpServletResponse;
import org.jboss.seam.mock.SeamTest;
import org.jboss.seam.mock.ResourceRequestEnvironment;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
import static org.jboss.seam.mock.ResourceRequestEnvironment.Method;
import static org.jboss.seam.mock.ResourceRequestEnvironment.ResourceRequest;
import java.util.HashMap;
import java.util.Map;
public class AuctionServiceTest extends SeamTest
{
ResourceRequestEnvironment requestEnv;
@BeforeClass
public void prepareEnv() throws Exception
{
requestEnv = new ResourceRequestEnvironment(this)
{
@Override
public Map<String, Object> getDefaultHeaders()
{
return new HashMap<String, Object>()
{{
put("Accept", "text/plain");
}};
}
};
}
@Test
public void testCategories() throws Exception
{
// Just verify we can do that, even if it doesn't make much sense
new ResourceRequest(new ResourceRequestEnvironment(this), Method.GET, "/restv1/category").run();
reset();
new ResourceRequest(requestEnv, Method.GET, "/restv1/category")
{
@Override
protected void onResponse(EnhancedMockHttpServletResponse response)
{
assert response.getStatus() == 200;
String[] lines = response.getContentAsString().split("\n");
assert lines[0].equals("1,Antiques");
assert lines[1].equals("2,Art");
assert lines[2].equals("3,Books");
}
}.run();
reset();
new ResourceRequest(requestEnv, Method.GET, "/restv1/category/1")
{
@Override
protected void onResponse(EnhancedMockHttpServletResponse response)
{
assert response.getStatus() == 200;
assert response.getContentAsString().equals("Antiques");
}
}.run();
}
@Test
public void testAuctions() throws Exception
{
new ResourceRequest(requestEnv, Method.GET, "/restv1/auction")
{
@Override
protected void onResponse(EnhancedMockHttpServletResponse response)
{
assert response.getStatus() == 200;
// TODO: Assert content
}
}.run();
reset();
new ResourceRequest(requestEnv, Method.GET, "/restv1/auction/19264723")
{
@Override
protected void onResponse(EnhancedMockHttpServletResponse response)
{
assert response.getStatus() == 200;
assert response.getContentAsString().equals("Whistler's Mother, original painting by James McNeill Whistler");
}
}.run();
}
}