com.android.volley.RequestQueue.RequestFinishedListener Java Examples
The following examples show how to use
com.android.volley.RequestQueue.RequestFinishedListener.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: RequestQueueIntegrationTest.java From device-database with Apache License 2.0 | 6 votes |
/** * Verify RequestFinishedListeners are informed when requests are canceled * * Needs to be an integration test because relies on Request -> dispatcher -> RequestQueue interaction */ @Test public void add_requestFinishedListenerCanceled() throws Exception { RequestFinishedListener listener = mock(RequestFinishedListener.class); Request request = new MockRequest(); Answer<NetworkResponse> delayAnswer = new Answer<NetworkResponse>() { @Override public NetworkResponse answer(InvocationOnMock invocationOnMock) throws Throwable { Thread.sleep(200); return mock(NetworkResponse.class); } }; RequestQueue queue = new RequestQueue(new NoCache(), mMockNetwork, 1, mDelivery); when(mMockNetwork.performRequest(request)).thenAnswer(delayAnswer); queue.addRequestFinishedListener(listener); queue.start(); queue.add(request); request.cancel(); verify(listener, timeout(100)).onRequestFinished(request); queue.stop(); }
Example #2
Source File: RequestQueueIntegrationTest.java From device-database with Apache License 2.0 | 6 votes |
/** * 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(); }
Example #3
Source File: RequestQueueIntegrationTest.java From CrossBow with Apache License 2.0 | 6 votes |
/** * 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(); }
Example #4
Source File: RequestQueueIntegrationTest.java From CrossBow with Apache License 2.0 | 6 votes |
/** * Verify RequestFinishedListeners are informed when requests are canceled * * Needs to be an integration test because relies on Request -> dispatcher -> RequestQueue interaction */ @Test public void add_requestFinishedListenerCanceled() throws Exception { RequestFinishedListener listener = mock(RequestFinishedListener.class); Request request = new MockRequest(); Answer<NetworkResponse> delayAnswer = new Answer<NetworkResponse>() { @Override public NetworkResponse answer(InvocationOnMock invocationOnMock) throws Throwable { Thread.sleep(200); return mock(NetworkResponse.class); } }; RequestQueue queue = new RequestQueue(new NoCache(), mMockNetwork, 1, mDelivery); when(mMockNetwork.performRequest(request)).thenAnswer(delayAnswer); queue.addRequestFinishedListener(listener); queue.start(); queue.add(request); request.cancel(); verify(listener, timeout(100)).onRequestFinished(request); queue.stop(); }
Example #5
Source File: RequestQueueIntegrationTest.java From SaveVolley with Apache License 2.0 | 6 votes |
/** * Verify RequestFinishedListeners are informed when requests are canceled * * Needs to be an integration test because relies on Request -> dispatcher -> RequestQueue * interaction */ @Test public void add_requestFinishedListenerCanceled() throws Exception { RequestFinishedListener listener = mock(RequestFinishedListener.class); Request request = new MockRequest(); Answer<NetworkResponse> delayAnswer = new Answer<NetworkResponse>() { @Override public NetworkResponse answer(InvocationOnMock invocationOnMock) throws Throwable { Thread.sleep(200); return mock(NetworkResponse.class); } }; RequestQueue queue = new RequestQueue(new NoCache(), mMockNetwork, 1, mDelivery); when(mMockNetwork.performRequest(request)).thenAnswer(delayAnswer); queue.addRequestFinishedListener(listener); queue.start(); queue.add(request); request.cancel(); verify(listener, timeout(100)).onRequestFinished(request); queue.stop(); }
Example #6
Source File: RequestQueueIntegrationTest.java From SaveVolley with Apache License 2.0 | 6 votes |
/** * 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(); }
Example #7
Source File: RequestQueueIntegrationTest.java From product-emm with Apache License 2.0 | 6 votes |
/** * 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(); }
Example #8
Source File: RequestQueueIntegrationTest.java From product-emm with Apache License 2.0 | 6 votes |
/** * Verify RequestFinishedListeners are informed when requests are canceled * * Needs to be an integration test because relies on Request -> dispatcher -> RequestQueue interaction */ @Test public void add_requestFinishedListenerCanceled() throws Exception { RequestFinishedListener listener = mock(RequestFinishedListener.class); Request request = new MockRequest(); Answer<NetworkResponse> delayAnswer = new Answer<NetworkResponse>() { @Override public NetworkResponse answer(InvocationOnMock invocationOnMock) throws Throwable { Thread.sleep(200); return mock(NetworkResponse.class); } }; RequestQueue queue = new RequestQueue(new NoCache(), mMockNetwork, 1, mDelivery); when(mMockNetwork.performRequest(request)).thenAnswer(delayAnswer); queue.addRequestFinishedListener(listener); queue.start(); queue.add(request); request.cancel(); verify(listener, timeout(100)).onRequestFinished(request); queue.stop(); }
Example #9
Source File: RequestQueueIntegrationTest.java From product-emm with Apache License 2.0 | 6 votes |
/** * 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(); }
Example #10
Source File: RequestQueueIntegrationTest.java From product-emm with Apache License 2.0 | 6 votes |
/** * Verify RequestFinishedListeners are informed when requests are canceled * * Needs to be an integration test because relies on Request -> dispatcher -> RequestQueue interaction */ @Test public void add_requestFinishedListenerCanceled() throws Exception { RequestFinishedListener listener = mock(RequestFinishedListener.class); Request request = new MockRequest(); Answer<NetworkResponse> delayAnswer = new Answer<NetworkResponse>() { @Override public NetworkResponse answer(InvocationOnMock invocationOnMock) throws Throwable { Thread.sleep(200); return mock(NetworkResponse.class); } }; RequestQueue queue = new RequestQueue(new NoCache(), mMockNetwork, 1, mDelivery); when(mMockNetwork.performRequest(request)).thenAnswer(delayAnswer); queue.addRequestFinishedListener(listener); queue.start(); queue.add(request); request.cancel(); verify(listener, timeout(100)).onRequestFinished(request); queue.stop(); }
Example #11
Source File: RequestQueueIntegrationTest.java From CrossBow with Apache License 2.0 | 5 votes |
/** * 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(); }
Example #12
Source File: RequestQueueIntegrationTest.java From device-database with Apache License 2.0 | 5 votes |
@Test public void add_requestProcessedInCorrectOrder() throws Exception { // Enqueue 2 requests with different cache keys, and different priorities. The second, higher priority request // takes 20ms. // Assert that first request is only handled after the first one has been parsed and delivered. MockRequest lowerPriorityReq = new MockRequest(); MockRequest higherPriorityReq = new MockRequest(); lowerPriorityReq.setCacheKey("1"); higherPriorityReq.setCacheKey("2"); lowerPriorityReq.setPriority(Priority.LOW); higherPriorityReq.setPriority(Priority.HIGH); RequestFinishedListener listener = mock(RequestFinishedListener.class); Answer<NetworkResponse> delayAnswer = new Answer<NetworkResponse>() { @Override public NetworkResponse answer(InvocationOnMock invocationOnMock) throws Throwable { Thread.sleep(20); return mock(NetworkResponse.class); } }; //delay only for higher request when(mMockNetwork.performRequest(higherPriorityReq)).thenAnswer(delayAnswer); when(mMockNetwork.performRequest(lowerPriorityReq)).thenReturn(mock(NetworkResponse.class)); RequestQueue queue = new RequestQueue(new NoCache(), mMockNetwork, 1, mDelivery); queue.addRequestFinishedListener(listener); queue.add(lowerPriorityReq); queue.add(higherPriorityReq); queue.start(); // you cannot do strict order verification in combination with timeouts with mockito 1.9.5 :( // as an alternative, first verify no requests have finished, while higherPriorityReq should be processing verifyNoMoreInteractions(listener); // verify higherPriorityReq goes through first verify(listener, timeout(100)).onRequestFinished(higherPriorityReq); // verify lowerPriorityReq goes last verify(listener, timeout(10)).onRequestFinished(lowerPriorityReq); queue.stop(); }
Example #13
Source File: RequestQueueIntegrationTest.java From CrossBow with Apache License 2.0 | 5 votes |
/** * Asserts that requests with same cache key are processed in order. * * Needs to be an integration test because relies on complex interations between various queues */ @Test public void add_dedupeByCacheKey() throws Exception { // Enqueue 2 requests with the same cache key. The first request takes 20ms. Assert that the // second request is only handled after the first one has been parsed and delivered. Request req1 = new MockRequest(); Request req2 = new MockRequest(); RequestFinishedListener listener = mock(RequestFinishedListener.class); Answer<NetworkResponse> delayAnswer = new Answer<NetworkResponse>() { @Override public NetworkResponse answer(InvocationOnMock invocationOnMock) throws Throwable { Thread.sleep(20); return mock(NetworkResponse.class); } }; //delay only for first when(mMockNetwork.performRequest(req1)).thenAnswer(delayAnswer); when(mMockNetwork.performRequest(req2)).thenReturn(mock(NetworkResponse.class)); RequestQueue queue = new RequestQueue(new NoCache(), mMockNetwork, 3, mDelivery); queue.addRequestFinishedListener(listener); queue.add(req1); queue.add(req2); queue.start(); // you cannot do strict order verification with mockito 1.9.5 :( // as an alternative, first verify no requests have finished, then verify req1 goes through verifyNoMoreInteractions(listener); verify(listener, timeout(100)).onRequestFinished(req1); verify(listener, timeout(10)).onRequestFinished(req2); queue.stop(); }
Example #14
Source File: RequestQueueIntegrationTest.java From CrossBow with Apache License 2.0 | 5 votes |
@Test public void add_requestProcessedInCorrectOrder() throws Exception { // Enqueue 2 requests with different cache keys, and different priorities. The second, higher priority request // takes 20ms. // Assert that first request is only handled after the first one has been parsed and delivered. MockRequest lowerPriorityReq = new MockRequest(); MockRequest higherPriorityReq = new MockRequest(); lowerPriorityReq.setCacheKey("1"); higherPriorityReq.setCacheKey("2"); lowerPriorityReq.setPriority(Priority.LOW); higherPriorityReq.setPriority(Priority.HIGH); RequestFinishedListener listener = mock(RequestFinishedListener.class); Answer<NetworkResponse> delayAnswer = new Answer<NetworkResponse>() { @Override public NetworkResponse answer(InvocationOnMock invocationOnMock) throws Throwable { Thread.sleep(20); return mock(NetworkResponse.class); } }; //delay only for higher request when(mMockNetwork.performRequest(higherPriorityReq)).thenAnswer(delayAnswer); when(mMockNetwork.performRequest(lowerPriorityReq)).thenReturn(mock(NetworkResponse.class)); RequestQueue queue = new RequestQueue(new NoCache(), mMockNetwork, 1, mDelivery); queue.addRequestFinishedListener(listener); queue.add(lowerPriorityReq); queue.add(higherPriorityReq); queue.start(); // you cannot do strict order verification in combination with timeouts with mockito 1.9.5 :( // as an alternative, first verify no requests have finished, while higherPriorityReq should be processing verifyNoMoreInteractions(listener); // verify higherPriorityReq goes through first verify(listener, timeout(100)).onRequestFinished(higherPriorityReq); // verify lowerPriorityReq goes last verify(listener, timeout(10)).onRequestFinished(lowerPriorityReq); queue.stop(); }
Example #15
Source File: RequestQueueIntegrationTest.java From product-emm with Apache License 2.0 | 5 votes |
/** * 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(); }
Example #16
Source File: RequestQueueIntegrationTest.java From product-emm with Apache License 2.0 | 5 votes |
/** * Asserts that requests with same cache key are processed in order. * * Needs to be an integration test because relies on complex interations between various queues */ @Test public void add_dedupeByCacheKey() throws Exception { // Enqueue 2 requests with the same cache key. The first request takes 20ms. Assert that the // second request is only handled after the first one has been parsed and delivered. Request req1 = new MockRequest(); Request req2 = new MockRequest(); RequestFinishedListener listener = mock(RequestFinishedListener.class); Answer<NetworkResponse> delayAnswer = new Answer<NetworkResponse>() { @Override public NetworkResponse answer(InvocationOnMock invocationOnMock) throws Throwable { Thread.sleep(20); return mock(NetworkResponse.class); } }; //delay only for first when(mMockNetwork.performRequest(req1)).thenAnswer(delayAnswer); when(mMockNetwork.performRequest(req2)).thenReturn(mock(NetworkResponse.class)); RequestQueue queue = new RequestQueue(new NoCache(), mMockNetwork, 3, mDelivery); queue.addRequestFinishedListener(listener); queue.add(req1); queue.add(req2); queue.start(); // you cannot do strict order verification with mockito 1.9.5 :( // as an alternative, first verify no requests have finished, then verify req1 goes through verifyNoMoreInteractions(listener); verify(listener, timeout(100)).onRequestFinished(req1); verify(listener, timeout(10)).onRequestFinished(req2); queue.stop(); }
Example #17
Source File: RequestQueueIntegrationTest.java From product-emm with Apache License 2.0 | 5 votes |
@Test public void add_requestProcessedInCorrectOrder() throws Exception { // Enqueue 2 requests with different cache keys, and different priorities. The second, higher priority request // takes 20ms. // Assert that first request is only handled after the first one has been parsed and delivered. MockRequest lowerPriorityReq = new MockRequest(); MockRequest higherPriorityReq = new MockRequest(); lowerPriorityReq.setCacheKey("1"); higherPriorityReq.setCacheKey("2"); lowerPriorityReq.setPriority(Priority.LOW); higherPriorityReq.setPriority(Priority.HIGH); RequestFinishedListener listener = mock(RequestFinishedListener.class); Answer<NetworkResponse> delayAnswer = new Answer<NetworkResponse>() { @Override public NetworkResponse answer(InvocationOnMock invocationOnMock) throws Throwable { Thread.sleep(20); return mock(NetworkResponse.class); } }; //delay only for higher request when(mMockNetwork.performRequest(higherPriorityReq)).thenAnswer(delayAnswer); when(mMockNetwork.performRequest(lowerPriorityReq)).thenReturn(mock(NetworkResponse.class)); RequestQueue queue = new RequestQueue(new NoCache(), mMockNetwork, 1, mDelivery); queue.addRequestFinishedListener(listener); queue.add(lowerPriorityReq); queue.add(higherPriorityReq); queue.start(); // you cannot do strict order verification in combination with timeouts with mockito 1.9.5 :( // as an alternative, first verify no requests have finished, while higherPriorityReq should be processing verifyNoMoreInteractions(listener); // verify higherPriorityReq goes through first verify(listener, timeout(100)).onRequestFinished(higherPriorityReq); // verify lowerPriorityReq goes last verify(listener, timeout(10)).onRequestFinished(lowerPriorityReq); queue.stop(); }
Example #18
Source File: RequestQueueIntegrationTest.java From product-emm with Apache License 2.0 | 5 votes |
/** * 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(); }
Example #19
Source File: RequestQueueIntegrationTest.java From product-emm with Apache License 2.0 | 5 votes |
/** * Asserts that requests with same cache key are processed in order. * * Needs to be an integration test because relies on complex interations between various queues */ @Test public void add_dedupeByCacheKey() throws Exception { // Enqueue 2 requests with the same cache key. The first request takes 20ms. Assert that the // second request is only handled after the first one has been parsed and delivered. Request req1 = new MockRequest(); Request req2 = new MockRequest(); RequestFinishedListener listener = mock(RequestFinishedListener.class); Answer<NetworkResponse> delayAnswer = new Answer<NetworkResponse>() { @Override public NetworkResponse answer(InvocationOnMock invocationOnMock) throws Throwable { Thread.sleep(20); return mock(NetworkResponse.class); } }; //delay only for first when(mMockNetwork.performRequest(req1)).thenAnswer(delayAnswer); when(mMockNetwork.performRequest(req2)).thenReturn(mock(NetworkResponse.class)); RequestQueue queue = new RequestQueue(new NoCache(), mMockNetwork, 3, mDelivery); queue.addRequestFinishedListener(listener); queue.add(req1); queue.add(req2); queue.start(); // you cannot do strict order verification with mockito 1.9.5 :( // as an alternative, first verify no requests have finished, then verify req1 goes through verifyNoMoreInteractions(listener); verify(listener, timeout(100)).onRequestFinished(req1); verify(listener, timeout(10)).onRequestFinished(req2); queue.stop(); }
Example #20
Source File: RequestQueueIntegrationTest.java From product-emm with Apache License 2.0 | 5 votes |
@Test public void add_requestProcessedInCorrectOrder() throws Exception { // Enqueue 2 requests with different cache keys, and different priorities. The second, higher priority request // takes 20ms. // Assert that first request is only handled after the first one has been parsed and delivered. MockRequest lowerPriorityReq = new MockRequest(); MockRequest higherPriorityReq = new MockRequest(); lowerPriorityReq.setCacheKey("1"); higherPriorityReq.setCacheKey("2"); lowerPriorityReq.setPriority(Priority.LOW); higherPriorityReq.setPriority(Priority.HIGH); RequestFinishedListener listener = mock(RequestFinishedListener.class); Answer<NetworkResponse> delayAnswer = new Answer<NetworkResponse>() { @Override public NetworkResponse answer(InvocationOnMock invocationOnMock) throws Throwable { Thread.sleep(20); return mock(NetworkResponse.class); } }; //delay only for higher request when(mMockNetwork.performRequest(higherPriorityReq)).thenAnswer(delayAnswer); when(mMockNetwork.performRequest(lowerPriorityReq)).thenReturn(mock(NetworkResponse.class)); RequestQueue queue = new RequestQueue(new NoCache(), mMockNetwork, 1, mDelivery); queue.addRequestFinishedListener(listener); queue.add(lowerPriorityReq); queue.add(higherPriorityReq); queue.start(); // you cannot do strict order verification in combination with timeouts with mockito 1.9.5 :( // as an alternative, first verify no requests have finished, while higherPriorityReq should be processing verifyNoMoreInteractions(listener); // verify higherPriorityReq goes through first verify(listener, timeout(100)).onRequestFinished(higherPriorityReq); // verify lowerPriorityReq goes last verify(listener, timeout(10)).onRequestFinished(lowerPriorityReq); queue.stop(); }
Example #21
Source File: RequestQueueIntegrationTest.java From SaveVolley with Apache License 2.0 | 5 votes |
/** * 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(); }
Example #22
Source File: RequestQueueIntegrationTest.java From SaveVolley with Apache License 2.0 | 5 votes |
/** * Asserts that requests with same cache key are processed in order. * * Needs to be an integration test because relies on complex interations between various queues */ @Test public void add_dedupeByCacheKey() throws Exception { // Enqueue 2 requests with the same cache key. The first request takes 20ms. Assert that the // second request is only handled after the first one has been parsed and delivered. Request req1 = new MockRequest(); Request req2 = new MockRequest(); RequestFinishedListener listener = mock(RequestFinishedListener.class); Answer<NetworkResponse> delayAnswer = new Answer<NetworkResponse>() { @Override public NetworkResponse answer(InvocationOnMock invocationOnMock) throws Throwable { Thread.sleep(20); return mock(NetworkResponse.class); } }; //delay only for first when(mMockNetwork.performRequest(req1)).thenAnswer(delayAnswer); when(mMockNetwork.performRequest(req2)).thenReturn(mock(NetworkResponse.class)); RequestQueue queue = new RequestQueue(new NoCache(), mMockNetwork, 3, mDelivery); queue.addRequestFinishedListener(listener); queue.add(req1); queue.add(req2); queue.start(); // you cannot do strict order verification with mockito 1.9.5 :( // as an alternative, first verify no requests have finished, then verify req1 goes through verifyNoMoreInteractions(listener); verify(listener, timeout(100)).onRequestFinished(req1); verify(listener, timeout(10)).onRequestFinished(req2); queue.stop(); }
Example #23
Source File: RequestQueueIntegrationTest.java From SaveVolley with Apache License 2.0 | 5 votes |
@Test public void add_requestProcessedInCorrectOrder() throws Exception { // Enqueue 2 requests with different cache keys, and different priorities. The second, higher priority request // takes 20ms. // Assert that first request is only handled after the first one has been parsed and delivered. MockRequest lowerPriorityReq = new MockRequest(); MockRequest higherPriorityReq = new MockRequest(); lowerPriorityReq.setCacheKey("1"); higherPriorityReq.setCacheKey("2"); lowerPriorityReq.setPriority(Priority.LOW); higherPriorityReq.setPriority(Priority.HIGH); RequestFinishedListener listener = mock(RequestFinishedListener.class); Answer<NetworkResponse> delayAnswer = new Answer<NetworkResponse>() { @Override public NetworkResponse answer(InvocationOnMock invocationOnMock) throws Throwable { Thread.sleep(20); return mock(NetworkResponse.class); } }; //delay only for higher request when(mMockNetwork.performRequest(higherPriorityReq)).thenAnswer(delayAnswer); when(mMockNetwork.performRequest(lowerPriorityReq)).thenReturn(mock(NetworkResponse.class)); RequestQueue queue = new RequestQueue(new NoCache(), mMockNetwork, 1, mDelivery); queue.addRequestFinishedListener(listener); queue.add(lowerPriorityReq); queue.add(higherPriorityReq); queue.start(); // you cannot do strict order verification in combination with timeouts with mockito 1.9.5 :( // as an alternative, first verify no requests have finished, while higherPriorityReq should be processing verifyNoMoreInteractions(listener); // verify higherPriorityReq goes through first verify(listener, timeout(100)).onRequestFinished(higherPriorityReq); // verify lowerPriorityReq goes last verify(listener, timeout(10)).onRequestFinished(lowerPriorityReq); queue.stop(); }
Example #24
Source File: RequestQueueIntegrationTest.java From device-database with Apache License 2.0 | 5 votes |
/** * 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(); }
Example #25
Source File: RequestQueueIntegrationTest.java From device-database with Apache License 2.0 | 5 votes |
/** * Asserts that requests with same cache key are processed in order. * * Needs to be an integration test because relies on complex interations between various queues */ @Test public void add_dedupeByCacheKey() throws Exception { // Enqueue 2 requests with the same cache key. The first request takes 20ms. Assert that the // second request is only handled after the first one has been parsed and delivered. Request req1 = new MockRequest(); Request req2 = new MockRequest(); RequestFinishedListener listener = mock(RequestFinishedListener.class); Answer<NetworkResponse> delayAnswer = new Answer<NetworkResponse>() { @Override public NetworkResponse answer(InvocationOnMock invocationOnMock) throws Throwable { Thread.sleep(20); return mock(NetworkResponse.class); } }; //delay only for first when(mMockNetwork.performRequest(req1)).thenAnswer(delayAnswer); when(mMockNetwork.performRequest(req2)).thenReturn(mock(NetworkResponse.class)); RequestQueue queue = new RequestQueue(new NoCache(), mMockNetwork, 3, mDelivery); queue.addRequestFinishedListener(listener); queue.add(req1); queue.add(req2); queue.start(); // you cannot do strict order verification with mockito 1.9.5 :( // as an alternative, first verify no requests have finished, then verify req1 goes through verifyNoMoreInteractions(listener); verify(listener, timeout(100)).onRequestFinished(req1); verify(listener, timeout(10)).onRequestFinished(req2); queue.stop(); }