1 package de.juplo.facebook.client;
3 import java.io.ByteArrayInputStream;
4 import java.io.IOException;
5 import java.io.InputStream;
6 import java.io.OutputStream;
8 import java.nio.charset.StandardCharsets;
9 import org.slf4j.Logger;
10 import org.slf4j.LoggerFactory;
11 import org.springframework.http.HttpHeaders;
12 import org.springframework.http.HttpMethod;
13 import org.springframework.http.HttpStatus;
14 import org.springframework.http.client.ClientHttpRequest;
15 import org.springframework.http.client.ClientHttpRequestFactory;
16 import org.springframework.http.client.ClientHttpResponse;
24 public class MockClientHttpRequestFactory implements ClientHttpRequestFactory
26 private static final Logger log =
27 LoggerFactory.getLogger(MockClientHttpRequestFactory.class);
29 private HttpStatus status = HttpStatus.OK;
30 private HttpHeaders headers = new HttpHeaders();
31 private String body = "";
35 public ClientHttpRequest createRequest(URI uri, HttpMethod method) throws IOException
37 return new MockClientHttpRequest(uri, method);
40 public void setStatus(HttpStatus status)
45 public void setHeaders(HttpHeaders headers)
47 this.headers = headers;
50 public void addHeader(String name, String value)
52 headers.add(name, value);
55 public void setBody(String body)
62 class MockClientHttpRequest implements ClientHttpRequest
64 private final URI uri;
65 private final HttpMethod method;
68 public MockClientHttpRequest(URI uri, HttpMethod method)
76 public ClientHttpResponse execute() throws IOException
78 return new MockClientHttpResponse();
82 public HttpMethod getMethod()
94 public HttpHeaders getHeaders()
100 public OutputStream getBody() throws IOException
102 throw new UnsupportedOperationException("Not supported yet.");
107 class MockClientHttpResponse implements ClientHttpResponse
110 public HttpStatus getStatusCode() throws IOException
116 public int getRawStatusCode() throws IOException
118 return status.value();
122 public String getStatusText() throws IOException
124 return status.getReasonPhrase();
133 public InputStream getBody() throws IOException
135 return new ByteArrayInputStream(body.getBytes(StandardCharsets.UTF_8));
139 public HttpHeaders getHeaders()