aboutsummaryrefslogtreecommitdiff
path: root/src/test/java/com/android/volley/mock
diff options
context:
space:
mode:
authorAnonymous <no-reply@google.com>2020-10-02 16:21:32 -0700
committerJeff Davidson <jpd@google.com>2020-10-07 01:33:22 +0000
commitb6bd7aa39db62c517d97ff0a97d8d073bdf83a47 (patch)
treeb9b7a6b9928136e83fda62aaa8b8887df88839b5 /src/test/java/com/android/volley/mock
parentdc9062756c4835ac62ade2f3fb8ace20e8dbf3a6 (diff)
downloadvolley-b6bd7aa39db62c517d97ff0a97d8d073bdf83a47.tar.gz
Import of Volley from GitHub to AOSP.
Includes AsyncRequestQueue and asynchronous infrastructure, but the Cronet-based components are excluded from Android.bp as Cronet is not broadly exposed for application usage. - ae701b33e718782e914108f9b6d1f1bb5f1ab7f8 Fix empty responses when content length is unknown. by Jeff Davidson <jpd@google.com> - 055fc535255367e5556d6274aadcbb5cd3be5ed3 Add hook to allow customization of UrlRequest.Builder. by Jeff Davidson <jpd@google.com> - bc64707525d43b2ddc1cad08a3445cc34111c47f Set Content-Type header for requests with bodies. (#371) by Jeff Davidson <jpd@google.com> - 4083c43bcfc8cc31be709574f6d1b923c2bf869d Add cURL logging support to CronetHttpStack. (#370) by Jeff Davidson <jpd@google.com> - 46a4f9040126940be79b10633be470dea32958a3 Fix dependencies from base Volley package to toolbox pack... by Jeff Davidson <jpd@google.com> - cde6d4367210819f357b1397d17b4656b773a0d9 Provide a ScheduledExecutorService to AsyncRequestQueue/A... by Jeff Davidson <jpd@google.com> - f582ee6f7b7067b6bce21239f904f3066b778dad Move CronetHttpStack tests to the expected location. (#368) by Jeff Davidson <jpd@google.com> - a4954c6661b01a5950f973d873b8e21d2a5dcc40 Revert DiskBasedCache. (#366) by Jeff Davidson <jpd@google.com> - 7b0a3119b499989c31611a8fb944015aa9a400c5 AsyncRequestQueue implementation + some tests (#361) by sphill99 <s.phill99@gmail.com> - d777e8a7bc4136b311913178021894adec73bfdb Created builder for DiskBasedAsyncCache (#360) by sphill99 <s.phill99@gmail.com> - 3ff2427da1db5c5a46c1dfa0aaf7c097258be7ce AsyncNetwork implementation as well as unit testing (#357) by sphill99 <s.phill99@gmail.com> - bb85de2f41a1bf9fe8b1ef15a41a9057947a0724 Added licensing headers for all newly created files (#358) by sphill99 <s.phill99@gmail.com> - 82c828d65a8f317a55a1a7b067a60df8fe566a02 AsyncHttpStack and Cronet implementation. Limited unit te... by sphill99 <s.phill99@gmail.com> - d0fb8dea486cc9b164cf140661225160dd5454d7 Implementations for rest of AsyncCache, tests for cache m... by sphill99 <s.phill99@gmail.com> - 94e3a4da70cf1803426de6a2579676966c670d78 Include license in generated POM file. (#352) by Jeff Davidson <jpd@google.com> - cae1570bc5d96cd2b840b39e5c742a397c76b45f Put implementation for async cache that uses callback met... by sphill99 <s.phill99@gmail.com> - a791d09a6747ca4923352405b20c229eafad5866 Get Implementation in AsyncCache that takes in a callback... by sphill99 <s.phill99@gmail.com> - 504e41a1c749ebbf3b63b6ab58533c8219cb6df1 Retry on NoConnectionError (#342) by sphill99 <s.phill99@gmail.com> - 40d4ffb7ec5dab4cfb32d6d19db8f45419742671 Fixed testCompile and testApi deprecations (#341) by sphill99 <s.phill99@gmail.com> - 7c767521db6aab17cb706d114570a557dc1c1efa Fix Android Studio project import of Volley. (#335) by Jeff Davidson <jpd@google.com> GitOrigin-RevId: ae701b33e718782e914108f9b6d1f1bb5f1ab7f8 Change-Id: I8f5792f679e88591c213156dcdd13482105e1c53
Diffstat (limited to 'src/test/java/com/android/volley/mock')
-rw-r--r--src/test/java/com/android/volley/mock/MockAsyncStack.java86
1 files changed, 86 insertions, 0 deletions
diff --git a/src/test/java/com/android/volley/mock/MockAsyncStack.java b/src/test/java/com/android/volley/mock/MockAsyncStack.java
new file mode 100644
index 0000000..5ea8343
--- /dev/null
+++ b/src/test/java/com/android/volley/mock/MockAsyncStack.java
@@ -0,0 +1,86 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.volley.mock;
+
+import com.android.volley.AuthFailureError;
+import com.android.volley.Request;
+import com.android.volley.toolbox.AsyncHttpStack;
+import com.android.volley.toolbox.HttpResponse;
+import java.io.IOException;
+import java.util.HashMap;
+import java.util.Map;
+
+public class MockAsyncStack extends AsyncHttpStack {
+
+ private HttpResponse mResponseToReturn;
+
+ private IOException mExceptionToThrow;
+
+ private String mLastUrl;
+
+ private Map<String, String> mLastHeaders;
+
+ private byte[] mLastPostBody;
+
+ public String getLastUrl() {
+ return mLastUrl;
+ }
+
+ public Map<String, String> getLastHeaders() {
+ return mLastHeaders;
+ }
+
+ public byte[] getLastPostBody() {
+ return mLastPostBody;
+ }
+
+ public void setResponseToReturn(HttpResponse response) {
+ mResponseToReturn = response;
+ }
+
+ public void setExceptionToThrow(IOException exception) {
+ mExceptionToThrow = exception;
+ }
+
+ @Override
+ public void executeRequest(
+ Request<?> request, Map<String, String> additionalHeaders, OnRequestComplete callback) {
+ if (mExceptionToThrow != null) {
+ callback.onError(mExceptionToThrow);
+ return;
+ }
+ mLastUrl = request.getUrl();
+ mLastHeaders = new HashMap<>();
+ try {
+ if (request.getHeaders() != null) {
+ mLastHeaders.putAll(request.getHeaders());
+ }
+ } catch (AuthFailureError authFailureError) {
+ callback.onAuthError(authFailureError);
+ return;
+ }
+ if (additionalHeaders != null) {
+ mLastHeaders.putAll(additionalHeaders);
+ }
+ try {
+ mLastPostBody = request.getBody();
+ } catch (AuthFailureError e) {
+ mLastPostBody = null;
+ }
+ callback.onSuccess(mResponseToReturn);
+ }
+}