aboutsummaryrefslogtreecommitdiff
path: root/src/test
diff options
context:
space:
mode:
authorAnonymous <no-reply@google.com>2017-09-26 12:01:07 -0700
committerJeff Davidson <jpd@google.com>2017-09-26 12:03:26 -0700
commit2021ca6a6c3fa80646220cb97746f0b1cd3ae103 (patch)
tree3ad9d0d376af6f97c8ff9c2505237a638201e07b /src/test
parentac8d9a1d940de5b5335c82c56dd42dec728dd443 (diff)
downloadvolley-2021ca6a6c3fa80646220cb97746f0b1cd3ae103.tar.gz
Import of Volley from GitHub to AOSP.
- f07e05eec3aa3539d908ad22cc0cd7efa8a8960b Fix an issue when the first request returns an error. (#98) by Ulrike Hager <uhager42@gmail.com> GitOrigin-RevId: f07e05eec3aa3539d908ad22cc0cd7efa8a8960b Change-Id: I2b5ca99bab7d6bfd2ff4fa11f633f9be8a637056
Diffstat (limited to 'src/test')
-rw-r--r--src/test/java/com/android/volley/CacheDispatcherTest.java27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/test/java/com/android/volley/CacheDispatcherTest.java b/src/test/java/com/android/volley/CacheDispatcherTest.java
index 54886f8..a39be7b 100644
--- a/src/test/java/com/android/volley/CacheDispatcherTest.java
+++ b/src/test/java/com/android/volley/CacheDispatcherTest.java
@@ -124,6 +124,33 @@ public class CacheDispatcherTest {
assertFalse(mDelivery.postResponse_called);
}
+ @Test public void tripleCacheMiss_networkErrorOnFirst() throws Exception {
+ MockRequest secondRequest = new MockRequest();
+ MockRequest thirdRequest = new MockRequest();
+ mRequest.setSequence(1);
+ secondRequest.setSequence(2);
+ thirdRequest.setSequence(3);
+ mCacheQueue.add(mRequest);
+ mCacheQueue.add(secondRequest);
+ mCacheQueue.add(thirdRequest);
+ mCacheQueue.waitUntilEmpty(TIMEOUT_MILLIS);
+
+ assertTrue(mNetworkQueue.size() == 1);
+ assertFalse(mDelivery.postResponse_called);
+
+ Request request = mNetworkQueue.take();
+ request.notifyListenerResponseNotUsable();
+ // Second request should now be in network queue.
+ assertTrue(mNetworkQueue.size() == 1);
+ request = mNetworkQueue.take();
+ assertTrue(request.equals(secondRequest));
+ // Another unusable response, third request should now be added.
+ request.notifyListenerResponseNotUsable();
+ assertTrue(mNetworkQueue.size() == 1);
+ request = mNetworkQueue.take();
+ assertTrue(request.equals(thirdRequest));
+ }
+
@Test public void duplicateSoftExpiredCacheHit_failedRequest() throws Exception {
Cache.Entry entry = CacheTestUtils.makeRandomCacheEntry(null, false, true);
mCache.setEntryToReturn(entry);