@Override public MockLowLevelHttpResponse getHttpResponse(String httpMethod, String targetUrl) { MockLowLevelHttpResponse httpResponse = new MockLowLevelHttpResponse(); httpResponse.setStatusCode(400); httpResponse.setContent(exception.toString().getBytes()); httpResponse.setContentEncoding("text/plain"); return httpResponse; } });
@Override protected MockLowLevelHttpResponse respond(final String method, final String url) { return new MockLowLevelHttpResponse().setContent("{}"); } }
private MockLowLevelHttpResponse makeErrorResponse() { MockLowLevelHttpResponse errorResponse = new MockLowLevelHttpResponse(); errorResponse.addHeader("custom_header", "value"); errorResponse.setStatusCode(HttpStatusCodes.STATUS_CODE_UNAUTHORIZED); errorResponse.setContentType(Json.MEDIA_TYPE); errorResponse.setContent("{\"error\":\"invalid credentials\"}"); return errorResponse; }
/** * Returns a new {@link MockHttpTransport} with a sample {@link MockLowLevelHttpResponse}. The * response includes sample TokenResponse content as specified in DEFAULT_TOKEN_RESPONSE_JSON. This * is meant to produce a minimal implementation that allows methods such as * {@link GoogleCredential#executeRefreshToken()} to be called without failing abruptly. This * content is static. If you are making assertions based on the content of the request, then * MockTokenServerTransport should be used instead. * * @return mockHttpTransport */ public static MockHttpTransport newMockHttpTransportWithSampleTokenResponse() { MockLowLevelHttpResponse mockLowLevelHttpResponse = new MockLowLevelHttpResponse() .setContentType(Json.MEDIA_TYPE) .setContent(DEFAULT_TOKEN_RESPONSE_JSON); MockLowLevelHttpRequest request = new MockLowLevelHttpRequest() .setResponse(mockLowLevelHttpResponse); return new MockHttpTransport.Builder() .setLowLevelHttpRequest(request) .build(); }
@Override protected MockLowLevelHttpResponse respond(final String method, final String url) { return new MockLowLevelHttpResponse() .setContent("{ " + "\"kind\": \"drive#fileList\"," + "\"incompleteSearch\": false," + "\"files\": [" + toJson(files) + "]}"); } }
private MockLowLevelHttpResponse makeSuccessResponse() { MockLowLevelHttpResponse successResponse = new MockLowLevelHttpResponse(); successResponse.addHeader("custom_header", "value"); successResponse.setStatusCode(HttpStatusCodes.STATUS_CODE_OK); successResponse.setContentType(Json.MEDIA_TYPE); successResponse.setContent(SUCCESS_CONTENT); return successResponse; }
@Override protected MockLowLevelHttpResponse respond(final String method, final String url) { return new MockLowLevelHttpResponse().setContent(toJson(file)); } }
@Override public LowLevelHttpResponse execute() throws IOException { // Create the JSON response GenericJson signContents = new GenericJson(); signContents.setFactory(OAuth2Utils.JSON_FACTORY); signContents.put("signature", BaseEncoding.base64().encode(signature)); String signature = signContents.toPrettyString(); return new MockLowLevelHttpResponse() .setContentType(Json.MEDIA_TYPE) .setContent(signature); } };
@Override protected MockLowLevelHttpResponse respond(final String method, final String url) { return new MockLowLevelHttpResponse().setContent(toJson("")); } }
@Override public LowLevelHttpResponse execute() throws IOException { // Create the JSON response GenericJson serviceAccountsContents = new GenericJson(); serviceAccountsContents.setFactory(OAuth2Utils.JSON_FACTORY); GenericJson defaultAccount = new GenericJson(); defaultAccount.put("email", serviceAccountEmail); serviceAccountsContents.put("default", defaultAccount); String serviceAccounts = serviceAccountsContents.toPrettyString(); return new MockLowLevelHttpResponse() .setContentType(Json.MEDIA_TYPE) .setContent(serviceAccounts); } };
@Override protected MockLowLevelHttpResponse respond(final String method, final String url) { return new MockLowLevelHttpResponse().setContent(toJson(file)); } }
@Override public LowLevelHttpRequest buildRequest(String method, String url) throws IOException { ErrorInfo errorInfo = new ErrorInfo(); errorInfo.setReason(reason); errorInfo.setMessage(message); errorInfo.setFactory(jsonFactory); GenericJson error = new GenericJson(); error.set("code", status); error.set("errors", Arrays.asList(errorInfo)); error.setFactory(jsonFactory); GenericJson errorResponse = new GenericJson(); errorResponse.set("error", error); errorResponse.setFactory(jsonFactory); return new MockLowLevelHttpRequest() .setResponse( new MockLowLevelHttpResponse() .setContent(errorResponse.toPrettyString()) .setContentType(Json.MEDIA_TYPE) .setStatusCode(status)); } };
@Override protected MockLowLevelHttpResponse respond(final String method, final String url) { return new MockLowLevelHttpResponse().setContent(toJson(target)); } }
@Override protected MockLowLevelHttpResponse respond(final String method, final String url) { final ValueRange range = new ValueRange(); final List<Object> row = Arrays.asList("", "123456", "", "", id); range.setValues(Collections.singletonList(row)); return new MockLowLevelHttpResponse().setContent(toJson(range)); } }
@Override protected MockLowLevelHttpResponse respond(final String method, final String url) { final File file = GoogleUtil.getFile(UUID.randomUUID().toString()); updater.accept(file); // inform other code that a new file has been created /* * * "location" header handles the redirect from first part to second part, otherwise API will throw NPE. the * value given is synthetic and has no relation to anything that Google may put there. */ return new MockLowLevelHttpResponse() .setContent(toJson(file)) .addHeader("Location", ROOT + "?id=" + file.getId() + "uploadType=resumable"); } }
@Override public LowLevelHttpResponse execute() throws IOException { lastRequestUrl = getUrl(); lastRequestContent = getContentAsString(); MockLowLevelHttpResponse mock = new MockLowLevelHttpResponse(); mock.setStatusCode(httpStatusCode); mock.setContent(httpResponseContent); return mock; } };
@Override protected MockLowLevelHttpResponse respond(final String method, final String url) { /* * * "location" header handles the redirect from first part to second part, otherwise API will throw NPE. the * value given is synthetic and has no relation to anything that Google may put there. */ return new MockLowLevelHttpResponse() .setContent(toJson(file)) .addHeader("Location", ROOT + "?id=" + file.getId() + "uploadType=resumable"); } }
@Override protected MockLowLevelHttpResponse respond(final String method, final String url) { final SheetProperties cloned = source.getProperties().clone(); return new MockLowLevelHttpResponse().setContent(toJson(cloned)); } }
MockJsonFactory mockJsonFactory = new MockJsonFactory(); HttpTransport transport = new MockHttpTransport() { @Override public LowLevelHttpRequest buildRequest(String method, String url) throws IOException { return new MockLowLevelHttpRequest() { @Override public LowLevelHttpResponse execute() throws IOException { MockLowLevelHttpResponse response = new MockLowLevelHttpResponse(); response.setStatusCode(408); response.setContent("{\"error\":\"Timeout\"}"); return response; } }; } }; HttpRequest httpRequest = transport.createRequestFactory().buildGetRequest(HttpTesting.SIMPLE_GENERIC_URL); httpRequest.setThrowExceptionOnExecuteError(false); HttpResponse httpResponse = httpRequest.execute(); GoogleJsonResponseException googleJsonResponseException =
@Test public void testFileSizeWhenFileNotFoundNonBatch() throws Exception { MockLowLevelHttpResponse notFoundResponse = new MockLowLevelHttpResponse(); notFoundResponse.setContent(""); notFoundResponse.setStatusCode(HttpStatusCodes.STATUS_CODE_NOT_FOUND); MockHttpTransport mockTransport = new MockHttpTransport.Builder().setLowLevelHttpResponse(notFoundResponse).build(); GcsOptions pipelineOptions = gcsOptionsWithTestCredential(); GcsUtil gcsUtil = pipelineOptions.getGcsUtil(); gcsUtil.setStorageClient(new Storage(mockTransport, Transport.getJsonFactory(), null)); thrown.expect(FileNotFoundException.class); gcsUtil.fileSize(GcsPath.fromComponents("testbucket", "testobject")); }