MockRequest lowerPriorityReq = new MockRequest(); MockRequest higherPriorityReq = new MockRequest(); lowerPriorityReq.setCacheKey("1"); higherPriorityReq.setCacheKey("2"); lowerPriorityReq.setPriority(Priority.LOW); higherPriorityReq.setPriority(Priority.HIGH);
@Test public void postResponseSuppressesCanceled() { mRequest.cancel(); mDelivery.postResponse(mRequest, mSuccessResponse); assertFalse(mRequest.deliverResponse_called); assertFalse(mRequest.deliverError_called); }
@Before public void setUp() throws Exception { // Make the delivery just run its posted responses immediately. mDelivery = new ImmediateResponseDelivery(); mRequest = new MockRequest(); mRequest.setSequence(1); byte[] data = new byte[16]; Cache.Entry cacheEntry = CacheTestUtils.makeRandomCacheEntry(data); mSuccessResponse = Response.success(data, cacheEntry); }
@Test public void shouldCacheTrue() throws Exception { mNetwork.setDataToReturn(CANNED_DATA); mRequest.setShouldCache(true); mRequest.setCacheKey("bananaphone"); mNetworkQueue.add(mRequest); mNetworkQueue.waitUntilEmpty(TIMEOUT_MILLIS); assertTrue(mCache.putCalled); assertNotNull(mCache.entryPut); assertTrue(Arrays.equals(mCache.entryPut.data, CANNED_DATA)); assertEquals("bananaphone", mCache.keyPut); } }
Request req1 = new MockRequest(); Request req2 = new MockRequest(); RequestFinishedListener listener = mock(RequestFinishedListener.class); Answer<NetworkResponse> delayAnswer = new Answer<NetworkResponse>() {
@Test public void shouldCacheFalse() throws Exception { mRequest.setShouldCache(false); mNetworkQueue.add(mRequest); mNetworkQueue.waitUntilEmpty(TIMEOUT_MILLIS); assertFalse(mCache.putCalled); }
Request req1 = new MockRequest(); Request req2 = new MockRequest(); RequestFinishedListener listener = mock(RequestFinishedListener.class); Answer<NetworkResponse> delayAnswer = new Answer<NetworkResponse>() {
@Test public void shouldCacheTrue() throws Exception { mNetwork.setDataToReturn(CANNED_DATA); mRequest.setShouldCache(true); mRequest.setCacheKey("bananaphone"); mNetworkQueue.add(mRequest); mNetworkQueue.waitUntilEmpty(TIMEOUT_MILLIS); assertTrue(mCache.putCalled); assertNotNull(mCache.entryPut); assertTrue(Arrays.equals(mCache.entryPut.data, CANNED_DATA)); assertEquals("bananaphone", mCache.keyPut); } }
@Test public void shouldCacheFalse() throws Exception { mRequest.setShouldCache(false); mNetworkQueue.add(mRequest); mNetworkQueue.waitUntilEmpty(TIMEOUT_MILLIS); assertFalse(mCache.putCalled); }
MockRequest lowerPriorityReq = new MockRequest(); MockRequest higherPriorityReq = new MockRequest(); lowerPriorityReq.setCacheKey("1"); higherPriorityReq.setCacheKey("2"); lowerPriorityReq.setPriority(Priority.LOW); higherPriorityReq.setPriority(Priority.HIGH);
/** * Verify RequestFinishedListeners are informed when request errors * * Needs to be an integration test because relies on Request -> dispatcher -> RequestQueue interaction */ @Test public void add_requestFinishedListenerError() throws Exception { RequestFinishedListener listener = mock(RequestFinishedListener.class); Request request = new MockRequest(); RequestQueue queue = new RequestQueue(new NoCache(), mMockNetwork, 1, mDelivery); when(mMockNetwork.performRequest(request)).thenThrow(new VolleyError()); queue.addRequestFinishedListener(listener); queue.start(); queue.add(request); verify(listener, timeout(100)).onRequestFinished(request); queue.stop(); }
@Test public void shouldCacheTrue() throws Exception { mNetwork.setDataToReturn(CANNED_DATA); mRequest.setShouldCache(true); mRequest.setCacheKey("bananaphone"); mNetworkQueue.add(mRequest); mNetworkQueue.waitUntilEmpty(TIMEOUT_MILLIS); assertTrue(mCache.putCalled); assertNotNull(mCache.entryPut); assertTrue(Arrays.equals(mCache.entryPut.data, CANNED_DATA)); assertEquals("bananaphone", mCache.keyPut); } }
@Before public void setUp() throws Exception { // Make the delivery just run its posted responses immediately. mDelivery = new ImmediateResponseDelivery(); mRequest = new MockRequest(); mRequest.setSequence(1); byte[] data = new byte[16]; Cache.Entry cacheEntry = CacheTestUtils.makeRandomCacheEntry(data); mSuccessResponse = Response.success(data, cacheEntry); }
@Test public void postResponseSuppressesCanceled() { mRequest.cancel(); mDelivery.postResponse(mRequest, mSuccessResponse); assertFalse(mRequest.deliverResponse_called); assertFalse(mRequest.deliverError_called); }
@Test public void shouldCacheFalse() throws Exception { mRequest.setShouldCache(false); mNetworkQueue.add(mRequest); mNetworkQueue.waitUntilEmpty(TIMEOUT_MILLIS); assertFalse(mCache.putCalled); }
MockRequest lowerPriorityReq = new MockRequest(); MockRequest higherPriorityReq = new MockRequest(); lowerPriorityReq.setCacheKey("1"); higherPriorityReq.setCacheKey("2"); lowerPriorityReq.setPriority(Priority.LOW); higherPriorityReq.setPriority(Priority.HIGH);
/** * Verify RequestFinishedListeners are informed when requests are successfully delivered * * Needs to be an integration test because relies on Request -> dispatcher -> RequestQueue interaction */ @Test public void add_requestFinishedListenerSuccess() throws Exception { NetworkResponse response = mock(NetworkResponse.class); Request request = new MockRequest(); RequestFinishedListener listener = mock(RequestFinishedListener.class); RequestFinishedListener listener2 = mock(RequestFinishedListener.class); RequestQueue queue = new RequestQueue(new NoCache(), mMockNetwork, 1, mDelivery); queue.addRequestFinishedListener(listener); queue.addRequestFinishedListener(listener2); queue.start(); queue.add(request); verify(listener, timeout(100)).onRequestFinished(request); verify(listener2, timeout(100)).onRequestFinished(request); queue.stop(); }
@Test public void shouldCacheTrue() throws Exception { mNetwork.setDataToReturn(CANNED_DATA); mRequest.setShouldCache(true); mRequest.setCacheKey("bananaphone"); mNetworkQueue.add(mRequest); mNetworkQueue.waitUntilEmpty(TIMEOUT_MILLIS); assertTrue(mCache.putCalled); assertNotNull(mCache.entryPut); assertTrue(Arrays.equals(mCache.entryPut.data, CANNED_DATA)); assertEquals("bananaphone", mCache.keyPut); } }
@Before public void setUp() throws Exception { // Make the delivery just run its posted responses immediately. mDelivery = new ImmediateResponseDelivery(); mRequest = new MockRequest(); mRequest.setSequence(1); byte[] data = new byte[16]; Cache.Entry cacheEntry = CacheTestUtils.makeRandomCacheEntry(data); mSuccessResponse = Response.success(data, cacheEntry); }
@Test public void cancelledRequest() throws Exception { mRequest.cancel(); mCacheQueue.add(mRequest); mCacheQueue.waitUntilEmpty(TIMEOUT_MILLIS); assertFalse(mCache.getCalled); assertFalse(mDelivery.wasEitherResponseCalled()); }