@Override public LowLevelHttpResponse execute() throws IOException { Map<String, String> parameters = TestUtils.parseQuery(query); String token = parameters.get("token"); if (token == null) { throw new IOException("Token to revoke not found."); } // Token could be access token or refresh token so remove keys and values refreshTokens.values().removeAll(Collections.singleton(token)); refreshTokens.remove(token); return new MockLowLevelHttpResponse().setContentType(Json.MEDIA_TYPE); } };
.setContentType(Json.MEDIA_TYPE) .setContent(refreshText); return response;
@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); } };
/** * 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(); }
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; }
@Override public LowLevelHttpResponse execute() throws IOException { if (tokenRequestStatusCode != null) { MockLowLevelHttpResponse response = new MockLowLevelHttpResponse() .setStatusCode(tokenRequestStatusCode) .setContent("Token Fetch Error"); return response; } String metadataRequestHeader = getFirstHeaderValue("Metadata-Flavor"); if (!"Google".equals(metadataRequestHeader)) { throw new IOException("Metadata request header not found."); } // Create the JSon response GenericJson refreshContents = new GenericJson(); refreshContents.setFactory(JSON_FACTORY); refreshContents.put("access_token", accessToken); refreshContents.put("expires_in", 3600000); refreshContents.put("token_type", "Bearer"); String refreshText = refreshContents.toPrettyString(); MockLowLevelHttpResponse response = new MockLowLevelHttpResponse() .setContentType(Json.MEDIA_TYPE) .setContent(refreshText); return response; } };
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; }
.setContentType(Json.MEDIA_TYPE) .setContent(refreshText);
@Override public LowLevelHttpResponse execute() throws IOException { if (tokenResponseErrorCode != null) { return new MockLowLevelHttpResponse() .setStatusCode(tokenResponseErrorCode) .setContentType(Json.MEDIA_TYPE) .setContent(tokenResponseErrorContent); } // Create the JSON response GenericJson refreshContents = new GenericJson(); refreshContents.setFactory(OAuth2Utils.JSON_FACTORY); refreshContents.put("accessToken", accessToken); refreshContents.put("expireTime", expireTime); String refreshText = refreshContents.toPrettyString(); return new MockLowLevelHttpResponse() .setContentType(Json.MEDIA_TYPE) .setContent(refreshText); } };
response.setContentType(mockResponse.getContentType()); response.setContent(mockResponse.getBody()); return response;
@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 public LowLevelHttpResponse execute() throws IOException { if (tokenRequestStatusCode != null) { return new MockLowLevelHttpResponse() .setStatusCode(tokenRequestStatusCode) .setContent("Token Fetch Error"); } String metadataRequestHeader = getFirstHeaderValue("Metadata-Flavor"); if (!"Google".equals(metadataRequestHeader)) { throw new IOException("Metadata request header not found."); } // Create the JSON response GenericJson refreshContents = new GenericJson(); refreshContents.setFactory(OAuth2Utils.JSON_FACTORY); refreshContents.put("access_token", accessToken); refreshContents.put("expires_in", 3600000); refreshContents.put("token_type", "Bearer"); String refreshText = refreshContents.toPrettyString(); return new MockLowLevelHttpResponse() .setContentType(Json.MEDIA_TYPE) .setContent(refreshText); } };
@Override public LowLevelHttpRequest buildRequest(String method, String url) throws IOException { errorInfo.setFactory(jsonFactory); GoogleJsonError jsonError = new GoogleJsonError(); jsonError.setCode(status); jsonError.setErrors(Collections.singletonList(errorInfo)); jsonError.setMessage(httpStatusString); jsonError.setFactory(jsonFactory); GenericJson errorResponse = new GenericJson(); errorResponse.set("error", jsonError); errorResponse.setFactory(jsonFactory); return new MockLowLevelHttpRequest() .setResponse( new MockLowLevelHttpResponse() .setContent(errorResponse.toPrettyString()) .setContentType(Json.MEDIA_TYPE) .setStatusCode(status)); } };
@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 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)); } };
MockLowLevelHttpResponse notFoundResponse = new MockLowLevelHttpResponse() .setContentType("multipart/mixed; boundary=" + contentBoundary) .setContent(content) .setStatusCode(HttpStatusCodes.STATUS_CODE_OK);