76 lines
1.6 KiB
Java
76 lines
1.6 KiB
Java
package org.scribe.model;
|
|
|
|
import static org.junit.Assert.*;
|
|
|
|
import java.io.*;
|
|
|
|
import org.junit.*;
|
|
|
|
public class ResponseTest
|
|
{
|
|
|
|
private Response response;
|
|
private ConnectionStub connection;
|
|
|
|
@Before
|
|
public void setup() throws Exception
|
|
{
|
|
connection = new ConnectionStub();
|
|
connection.addResponseHeader("one", "one");
|
|
connection.addResponseHeader("two", "two");
|
|
response = new Response(connection);
|
|
}
|
|
|
|
@Test
|
|
public void shouldPopulateResponseHeaders()
|
|
{
|
|
assertEquals(2, response.getHeaders().size());
|
|
assertEquals("one", response.getHeader("one"));
|
|
}
|
|
|
|
@Test
|
|
public void shouldParseBodyContents()
|
|
{
|
|
assertEquals("contents", response.getBody());
|
|
assertEquals(1, connection.getTimesCalledInpuStream());
|
|
}
|
|
|
|
@Test
|
|
public void shouldParseBodyContentsOnlyOnce()
|
|
{
|
|
assertEquals("contents", response.getBody());
|
|
assertEquals("contents", response.getBody());
|
|
assertEquals("contents", response.getBody());
|
|
assertEquals(1, connection.getTimesCalledInpuStream());
|
|
}
|
|
|
|
@Test
|
|
public void shouldHandleAConnectionWithErrors() throws Exception
|
|
{
|
|
Response errResponse = new Response(new FaultyConnection());
|
|
assertEquals(400, errResponse.getCode());
|
|
assertEquals("errors", errResponse.getBody());
|
|
}
|
|
|
|
private static class FaultyConnection extends ConnectionStub
|
|
{
|
|
|
|
public FaultyConnection() throws Exception
|
|
{
|
|
super();
|
|
}
|
|
|
|
@Override
|
|
public InputStream getErrorStream()
|
|
{
|
|
return new ByteArrayInputStream("errors".getBytes());
|
|
}
|
|
|
|
@Override
|
|
public int getResponseCode() throws IOException
|
|
{
|
|
return 400;
|
|
}
|
|
}
|
|
}
|