1 package de.juplo.facebook.errors;
4 import java.io.ByteArrayInputStream;
5 import java.io.IOException;
6 import java.io.InputStream;
7 import java.io.OutputStream;
9 import java.nio.charset.StandardCharsets;
10 import org.slf4j.Logger;
11 import org.slf4j.LoggerFactory;
12 import org.springframework.http.HttpHeaders;
13 import org.springframework.http.HttpMethod;
14 import org.springframework.http.HttpStatus;
15 import org.springframework.http.client.ClientHttpRequest;
16 import org.springframework.http.client.ClientHttpRequestFactory;
17 import org.springframework.http.client.ClientHttpResponse;
25 public class MockClientHttpRequestFactory implements ClientHttpRequestFactory
27 private static final Logger log =
28 LoggerFactory.getLogger(MockClientHttpRequestFactory.class);
30 private HttpStatus status = HttpStatus.OK;
31 private HttpHeaders headers = new HttpHeaders();
32 private String body = "";
36 public ClientHttpRequest createRequest(URI uri, HttpMethod method) throws IOException
38 return new MockClientHttpRequest(uri, method);
41 public void setStatus(HttpStatus status)
46 public void setHeaders(HttpHeaders headers)
48 this.headers = headers;
51 public void addHeader(String name, String value)
53 headers.add(name, value);
56 public void setBody(String body)
63 class MockClientHttpRequest implements ClientHttpRequest
65 private final URI uri;
66 private final HttpMethod method;
69 public MockClientHttpRequest(URI uri, HttpMethod method)
77 public ClientHttpResponse execute() throws IOException
79 return new MockClientHttpResponse();
83 public HttpMethod getMethod()
89 public String getMethodValue()
101 public HttpHeaders getHeaders()
107 public OutputStream getBody() throws IOException
109 throw new UnsupportedOperationException("Not supported yet.");
114 class MockClientHttpResponse implements ClientHttpResponse
117 public HttpStatus getStatusCode() throws IOException
123 public int getRawStatusCode() throws IOException
125 return status.value();
129 public String getStatusText() throws IOException
131 return status.getReasonPhrase();
140 public InputStream getBody() throws IOException
142 return new ByteArrayInputStream(body.getBytes(StandardCharsets.UTF_8));
146 public HttpHeaders getHeaders()