-package de.juplo.facebook.errors;
-
-
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.net.URI;
-import java.nio.charset.StandardCharsets;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.http.HttpHeaders;
-import org.springframework.http.HttpMethod;
-import org.springframework.http.HttpStatus;
-import org.springframework.http.client.ClientHttpRequest;
-import org.springframework.http.client.ClientHttpRequestFactory;
-import org.springframework.http.client.ClientHttpResponse;
-
-
-
-/**
- *
- * @author kai
- */
-public class MockClientHttpRequestFactory implements ClientHttpRequestFactory
-{
- private static final Logger log =
- LoggerFactory.getLogger(MockClientHttpRequestFactory.class);
-
- private HttpStatus status = HttpStatus.OK;
- private HttpHeaders headers = new HttpHeaders();
- private String body = "";
-
-
- @Override
- public ClientHttpRequest createRequest(URI uri, HttpMethod method) throws IOException
- {
- return new MockClientHttpRequest(uri, method);
- }
-
- public void setStatus(HttpStatus status)
- {
- this.status = status;
- }
-
- public void setHeaders(HttpHeaders headers)
- {
- this.headers = headers;
- }
-
- public void addHeader(String name, String value)
- {
- headers.add(name, value);
- }
-
- public void setBody(String body)
- {
- log.trace(body);
- this.body = body;
- }
-
-
- class MockClientHttpRequest implements ClientHttpRequest
- {
- private final URI uri;
- private final HttpMethod method;
-
-
- public MockClientHttpRequest(URI uri, HttpMethod method)
- {
- this.uri = uri;
- this.method = method;
- }
-
-
- @Override
- public ClientHttpResponse execute() throws IOException
- {
- return new MockClientHttpResponse();
- }
-
- @Override
- public HttpMethod getMethod()
- {
- return method;
- }
-
- @Override
- public URI getURI()
- {
- return uri;
- }
-
- @Override
- public HttpHeaders getHeaders()
- {
- return headers;
- }
-
- @Override
- public OutputStream getBody() throws IOException
- {
- throw new UnsupportedOperationException("Not supported yet.");
- }
- }
-
-
- class MockClientHttpResponse implements ClientHttpResponse
- {
- @Override
- public HttpStatus getStatusCode() throws IOException
- {
- return status;
- }
-
- @Override
- public int getRawStatusCode() throws IOException
- {
- return status.value();
- }
-
- @Override
- public String getStatusText() throws IOException
- {
- return status.getReasonPhrase();
- }
-
- @Override
- public void close()
- {
- }
-
- @Override
- public InputStream getBody() throws IOException
- {
- return new ByteArrayInputStream(body.getBytes(StandardCharsets.UTF_8));
- }
-
- @Override
- public HttpHeaders getHeaders()
- {
- return headers;
- }
- }
-}