diff options
author | Anonymous <no-reply@google.com> | 2017-09-25 10:46:08 -0700 |
---|---|---|
committer | Jeff Davidson <jpd@google.com> | 2017-09-25 10:50:44 -0700 |
commit | ac8d9a1d940de5b5335c82c56dd42dec728dd443 (patch) | |
tree | fb13707e6dfdd4c3a4cbee1f66749bf6066b0dad /src/test/java/com/android/volley/CacheDispatcherTest.java | |
parent | 8b42d211a58fc5b434921a51cae2c99a806e00eb (diff) | |
download | volley-ac8d9a1d940de5b5335c82c56dd42dec728dd443.tar.gz |
Import of Volley from GitHub to AOSP.
- 5fb28f66748df4f89b49c1493693d1f65c6bb23e Fix NPEs/compile errors introduced by header changes. (#96) by Jeff Davidson <jpd236@cornell.edu>
- e16a426da3bcffb1a8de1700ddbe69201540d93c Fix RequestQueueIntegrationTest flakiness. (#94) by Jeff Davidson <jpd236@cornell.edu>
- 96feb3b09a6301b9573212027af21db7be5c8be1 Improve Volley header handling. (#91) by Jeff Davidson <jpd236@cornell.edu>
- a794c075a62ddf438178b2e15cc79ab5502588fb For waiting requests, use ArrayList instead of LinkedList... by Ulrike Hager <uhager42@gmail.com>
- 787ef0cc731c28b528f744dea64bd5429f99e153 Specify .aar packaging in SNAPSHOT POM. by Jeff Davidson <jpd236@cornell.edu>
- b2bb59ab2ff08f4d468303071f050ce938349379 Fix soft TTL for duplicate requests (#73) by Ulrike Hager <uhager42@gmail.com>
- b33a53f1793b475842f91a0fe166749118afcfc0 Deprecate Volley's use of Apache HTTP. (#75) by Jeff Davidson <jpd236@cornell.edu>
GitOrigin-RevId: 5fb28f66748df4f89b49c1493693d1f65c6bb23e
Change-Id: Ia04d2967e9923d2430a04f2474aa69ce82e114ce
Diffstat (limited to 'src/test/java/com/android/volley/CacheDispatcherTest.java')
-rw-r--r-- | src/test/java/com/android/volley/CacheDispatcherTest.java | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/src/test/java/com/android/volley/CacheDispatcherTest.java b/src/test/java/com/android/volley/CacheDispatcherTest.java index 42bdda0..54886f8 100644 --- a/src/test/java/com/android/volley/CacheDispatcherTest.java +++ b/src/test/java/com/android/volley/CacheDispatcherTest.java @@ -112,4 +112,60 @@ public class CacheDispatcherTest { Request request = mNetworkQueue.take(); assertSame(entry, request.getCacheEntry()); } + + @Test public void duplicateCacheMiss() throws Exception { + MockRequest secondRequest = new MockRequest(); + mRequest.setSequence(1); + secondRequest.setSequence(2); + mCacheQueue.add(mRequest); + mCacheQueue.add(secondRequest); + mCacheQueue.waitUntilEmpty(TIMEOUT_MILLIS); + assertTrue(mNetworkQueue.size() == 1); + assertFalse(mDelivery.postResponse_called); + } + + @Test public void duplicateSoftExpiredCacheHit_failedRequest() throws Exception { + Cache.Entry entry = CacheTestUtils.makeRandomCacheEntry(null, false, true); + mCache.setEntryToReturn(entry); + + MockRequest secondRequest = new MockRequest(); + mRequest.setSequence(1); + secondRequest.setSequence(2); + + mCacheQueue.add(mRequest); + mCacheQueue.add(secondRequest); + mCacheQueue.waitUntilEmpty(TIMEOUT_MILLIS); + + assertTrue(mNetworkQueue.size() == 1); + assertTrue(mDelivery.postResponse_calledNtimes == 2); + + 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)); + } + + @Test public void duplicateSoftExpiredCacheHit_successfulRequest() throws Exception { + Cache.Entry entry = CacheTestUtils.makeRandomCacheEntry(null, false, true); + mCache.setEntryToReturn(entry); + + MockRequest secondRequest = new MockRequest(); + mRequest.setSequence(1); + secondRequest.setSequence(2); + + mCacheQueue.add(mRequest); + mCacheQueue.add(secondRequest); + mCacheQueue.waitUntilEmpty(TIMEOUT_MILLIS); + + assertTrue(mNetworkQueue.size() == 1); + assertTrue(mDelivery.postResponse_calledNtimes == 2); + + Request request = mNetworkQueue.take(); + request.notifyListenerResponseReceived(Response.success(null, entry)); + // Second request should have delivered response. + assertTrue(mNetworkQueue.size() == 0); + assertTrue(mDelivery.postResponse_calledNtimes == 3); + } } |