public static HttpRequest request() { return new HttpRequest(); }
public static HttpRequest request(String path) { return new HttpRequest().withPath(path); }
public HttpRequest mapHttpServletRequestToMockServerRequest(HttpServletRequest httpServletRequest) { HttpRequest request = new HttpRequest(); setMethod(request, httpServletRequest); setPath(request, httpServletRequest); setQueryString(request, httpServletRequest); setBody(request, httpServletRequest); setHeaders(request, httpServletRequest); setCookies(request, httpServletRequest); request.withKeepAlive(isKeepAlive(httpServletRequest)); request.withSecure(httpServletRequest.isSecure()); return request; }
public HttpRequest buildObject() { return new HttpRequest() .withMethod(method) .withPath(path) .withQueryStringParameters(queryStringParameters) .withBody((body != null ? Not.not(body.buildObject(), body.getNot()) : null)) .withHeaders(headers) .withCookies(cookies) .withSecure(secure) .withKeepAlive(keepAlive); }
public HttpRequest decode(FullHttpRequest fullHttpRequest) { HttpRequest httpRequest = new HttpRequest(); if (fullHttpRequest != null) { setMethod(httpRequest, fullHttpRequest); setPath(httpRequest, fullHttpRequest); setQueryString(httpRequest, new QueryStringDecoder(fullHttpRequest.uri())); setHeaders(httpRequest, fullHttpRequest); setCookies(httpRequest, fullHttpRequest); setBody(httpRequest, fullHttpRequest); httpRequest.withKeepAlive(isKeepAlive(fullHttpRequest)); httpRequest.withSecure(isSecure); } return httpRequest; }
public static HttpRequest request() { return new HttpRequest(); }
public static HttpRequest request(String path) { return new HttpRequest().withPath(path); }
@BeforeEach void emptyExports() { server.when(new HttpRequest()).respond(new HttpResponse().withBody("")); // just return something to be downloaded final Response response = mock(Response.class); when(response.getStatus()).thenReturn(302); when(response.getHeaderString(any())).thenReturn("http://" + serverUrl + "/file"); doReturn(response).when(zonky).downloadWalletExport(); doReturn(response).when(zonky).downloadInvestmentsExport(); }
@BeforeEach void emptyExports() { server.when(new HttpRequest()).respond(new HttpResponse()); // just return something to be downloaded final Response response = mock(Response.class); when(response.getStatus()).thenReturn(302); when(response.getHeaderString(any())).thenReturn("http://" + serverUrl + "/file"); doReturn(response).when(zonky).downloadWalletExport(); doReturn(response).when(zonky).downloadInvestmentsExport(); }
public HttpRequest mapHttpServletRequestToMockServerRequest(HttpServletRequest httpServletRequest) { HttpRequest request = new HttpRequest(); setMethod(request, httpServletRequest); setPath(request, httpServletRequest); setQueryString(request, httpServletRequest); setBody(request, httpServletRequest); setHeaders(request, httpServletRequest); setCookies(request, httpServletRequest); request.withKeepAlive(isKeepAlive(httpServletRequest)); request.withSecure(httpServletRequest.isSecure()); return request; }
public HttpRequest buildObject() { return new HttpRequest() .withMethod(method) .withPath(path) .withQueryStringParameters(queryStringParameters) .withBody((body != null ? Not.not(body.buildObject(), body.getNot()) : null)) .withHeaders(headers) .withCookies(cookies) .withSecure(secure) .withKeepAlive(keepAlive); }
public HttpRequest decode(FullHttpRequest fullHttpRequest) { HttpRequest httpRequest = new HttpRequest(); if (fullHttpRequest != null) { setMethod(httpRequest, fullHttpRequest); setPath(httpRequest, fullHttpRequest); setQueryString(httpRequest, new QueryStringDecoder(fullHttpRequest.uri())); setHeaders(httpRequest, fullHttpRequest); setCookies(httpRequest, fullHttpRequest); setBody(httpRequest, fullHttpRequest); httpRequest.withKeepAlive(isKeepAlive(fullHttpRequest)); httpRequest.withSecure(isSecure); } return httpRequest; }
@Test public void testMissingUploadOffsetHeader() throws Exception { byte[] content = "hello world".getBytes(); mockServer.when(new HttpRequest() .withPath("/files/missingHeader")) .respond(new HttpResponse() .withStatusCode(204) .withHeader("Tus-Resumable", TusClient.TUS_VERSION)); TusClient client = new TusClient(); URL uploadUrl = new URL(mockServerURL + "/missingHeader"); TusInputStream input = new TusInputStream(new ByteArrayInputStream(content)); TusUploader uploader = new TusUploader(client, uploadUrl, input, 0); boolean exceptionThrown = false; try { assertEquals(11, uploader.uploadChunk()); uploader.finish(); } catch(ProtocolException e) { assertTrue(e.getMessage().contains("no or invalid Upload-Offset header")); exceptionThrown = true; } finally { assertTrue(exceptionThrown); } }
@Test public void testUnmatchingUploadOffsetHeader() throws Exception { byte[] content = "hello world".getBytes(); mockServer.when(new HttpRequest() .withPath("/files/unmatchingHeader")) .respond(new HttpResponse() .withStatusCode(204) .withHeader("Tus-Resumable", TusClient.TUS_VERSION) .withHeader("Upload-Offset", "44")); TusClient client = new TusClient(); URL uploadUrl = new URL(mockServerURL + "/unmatchingHeader"); TusInputStream input = new TusInputStream(new ByteArrayInputStream(content)); TusUploader uploader = new TusUploader(client, uploadUrl, input, 0); boolean exceptionThrown = false; try { assertEquals(11, uploader.uploadChunk()); uploader.finish(); } catch(ProtocolException e) { assertTrue(e.getMessage().contains("different Upload-Offset value (44) than expected (11)")); exceptionThrown = true; } finally { assertTrue(exceptionThrown); } } }
@Test public void testCreateUpload() throws IOException, ProtocolException { mockServer.when(new HttpRequest() .withMethod("POST") .withPath("/files") .withHeader("Tus-Resumable", TusClient.TUS_VERSION) .withHeader("Upload-Metadata", "foo aGVsbG8=,bar d29ybGQ=") .withHeader("Upload-Length", "10")) .respond(new HttpResponse() .withStatusCode(201) .withHeader("Tus-Resumable", TusClient.TUS_VERSION) .withHeader("Location", mockServerURL + "/foo")); Map<String, String> metadata = new LinkedHashMap<String, String>(); metadata.put("foo", "hello"); metadata.put("bar", "world"); TusClient client = new TusClient(); client.setUploadCreationURL(mockServerURL); TusUpload upload = new TusUpload(); upload.setSize(10); upload.setInputStream(new ByteArrayInputStream(new byte[10])); upload.setMetadata(metadata); TusUploader uploader = client.createUpload(upload); assertEquals(uploader.getUploadURL(), new URL(mockServerURL + "/foo")); }
@Test public void testBeginOrResumeUploadFromURL() throws IOException, ProtocolException { mockServer.when(new HttpRequest() .withMethod("HEAD") .withPath("/files/fooFromURL") .withHeader("Tus-Resumable", TusClient.TUS_VERSION)) .respond(new HttpResponse() .withStatusCode(204) .withHeader("Tus-Resumable", TusClient.TUS_VERSION) .withHeader("Upload-Offset", "3")); TusClient client = new TusClient(); URL uploadURL = new URL(mockServerURL.toString() + "/fooFromURL"); TusUpload upload = new TusUpload(); upload.setSize(10); upload.setInputStream(new ByteArrayInputStream(new byte[10])); TusUploader uploader = client.beginOrResumeUploadFromURL(upload, uploadURL); assertEquals(uploader.getUploadURL(), uploadURL); assertEquals(uploader.getOffset(), 3); }
mockServer.when(new HttpRequest() .withMethod("POST") .withPath("/filesRedirect") .withHeader("Location", mockServerURL + "Redirected/")); mockServer.when(new HttpRequest() .withMethod("POST") .withPath("/filesRedirected/")
@Test public void testResumeUpload() throws ResumingNotEnabledException, FingerprintNotFoundException, IOException, ProtocolException { mockServer.when(new HttpRequest() .withMethod("HEAD") .withPath("/files/foo") .withHeader("Tus-Resumable", TusClient.TUS_VERSION)) .respond(new HttpResponse() .withStatusCode(204) .withHeader("Tus-Resumable", TusClient.TUS_VERSION) .withHeader("Upload-Offset", "3")); TusClient client = new TusClient(); client.setUploadCreationURL(mockServerURL); client.enableResuming(new TestResumeUploadStore()); TusUpload upload = new TusUpload(); upload.setSize(10); upload.setInputStream(new ByteArrayInputStream(new byte[10])); upload.setFingerprint("test-fingerprint"); TusUploader uploader = client.resumeUpload(upload); assertEquals(uploader.getUploadURL(), new URL(mockServerURL.toString() + "/foo")); assertEquals(uploader.getOffset(), 3); }
@Test public void testResumeOrCreateUpload() throws IOException, ProtocolException { mockServer.when(new HttpRequest() .withMethod("POST") .withPath("/files") .withHeader("Tus-Resumable", TusClient.TUS_VERSION) .withHeader("Upload-Length", "10")) .respond(new HttpResponse() .withStatusCode(201) .withHeader("Tus-Resumable", TusClient.TUS_VERSION) .withHeader("Location", mockServerURL + "/foo")); TusClient client = new TusClient(); client.setUploadCreationURL(mockServerURL); TusUpload upload = new TusUpload(); upload.setSize(10); upload.setInputStream(new ByteArrayInputStream(new byte[10])); TusUploader uploader = client.resumeOrCreateUpload(upload); assertEquals(uploader.getUploadURL(), new URL(mockServerURL + "/foo")); }
@Test public void testCreateUploadWithMissingLocationHeader() throws IOException, Exception { mockServer.when(new HttpRequest() .withMethod("POST") .withPath("/files") .withHeader("Tus-Resumable", TusClient.TUS_VERSION) .withHeader("Upload-Length", "10")) .respond(new HttpResponse() .withStatusCode(201) .withHeader("Tus-Resumable", TusClient.TUS_VERSION)); TusClient client = new TusClient(); client.setUploadCreationURL(mockServerURL); TusUpload upload = new TusUpload(); upload.setSize(10); upload.setInputStream(new ByteArrayInputStream(new byte[10])); try { TusUploader uploader = client.createUpload(upload); throw new Exception("unreachable code reached"); } catch(ProtocolException e) { assertEquals(e.getMessage(), "missing upload URL in response for creating upload"); } }