@After public void tearDown() throws IOException { mockWebServer.shutdown(); requestQueue.stop(); }
/** * Starts the dispatchers in this queue. */ public void start() { stop(); // Make sure any currently running dispatchers are stopped. // Create the cache dispatcher and start it. mCacheDispatcher = new CacheDispatcher(mCacheQueue, mNetworkQueue, mCache, mDelivery); mCacheDispatcher.start(); // Create network dispatchers (and corresponding threads) up to the pool size. for (int i = 0; i < mDispatchers.length; i++) { NetworkDispatcher networkDispatcher = new NetworkDispatcher(mNetworkQueue, mNetwork, mCache, mDelivery); mDispatchers[i] = networkDispatcher; networkDispatcher.start(); } }
/** * Starts the dispatchers in this queue. */ public void start() { stop(); // Make sure any currently running dispatchers are stopped. // Create the cache dispatcher and start it. mCacheDispatcher = new CacheDispatcher(mCacheQueue, mNetworkQueue, mCache, mDelivery); mCacheDispatcher.start(); // Create network dispatchers (and corresponding threads) up to the pool size. for (int i = 0; i < mDispatchers.length; i++) { NetworkDispatcher networkDispatcher = new NetworkDispatcher(mNetworkQueue, mNetwork, mCache, mDelivery); mDispatchers[i] = networkDispatcher; networkDispatcher.start(); } }
/** * Starts the dispatchers in this queue. */ public void start() { stop(); // Make sure any currently running dispatchers are stopped. // Create the cache dispatcher and start it. mCacheDispatcher = new CacheDispatcher(mCacheQueue, mNetworkQueue, mCache, mDelivery); mCacheDispatcher.start(); // Create network dispatchers (and corresponding threads) up to the pool size. for (int i = 0; i < mDispatchers.length; i++) { NetworkDispatcher networkDispatcher = new NetworkDispatcher(mNetworkQueue, mNetwork, mCache, mDelivery); mDispatchers[i] = networkDispatcher; networkDispatcher.start(); } }
/** * 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(); }
/** * 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(); }
/** * 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(); }
verify(listener, timeout(100)).onRequestFinished(req1); verify(listener, timeout(10)).onRequestFinished(req2); queue.stop();
/** * 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(); }
verify(listener, timeout(100)).onRequestFinished(req1); verify(listener, timeout(10)).onRequestFinished(req2); queue.stop();
/** * 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(); }
/** * 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(); }
queue.stop();
public void stop() { getRequestQueue().stop(); } }
/** * Starts the dispatchers in this queue. */ public void start() { stop(); // Make sure any currently running dispatchers are stopped. // Create the cache dispatcher and start it. mCacheDispatcher = new CacheDispatcher(mCacheQueue, mNetworkQueue, mCache, mDelivery); mCacheDispatcher.start(); // Create network dispatchers (and corresponding threads) up to the pool size. for (int i = 0; i < mDispatchers.length; i++) { NetworkDispatcher networkDispatcher = new NetworkDispatcher(mNetworkQueue, mNetwork, mCache, mDelivery); mDispatchers[i] = networkDispatcher; networkDispatcher.start(); } }
/** * Starts the dispatchers in this queue. */ public void start() { stop(); // Make sure any currently running dispatchers are stopped. // Create the cache dispatcher and start it. mCacheDispatcher = new CacheDispatcher(mCacheQueue, mNetworkQueue, mCache, mDelivery); mCacheDispatcher.start(); // Create network dispatchers (and corresponding threads) up to the pool size. for (int i = 0; i < mDispatchers.length; i++) { NetworkDispatcher networkDispatcher = new NetworkDispatcher(mNetworkQueue, mNetwork, mCache, mDelivery); mDispatchers[i] = networkDispatcher; networkDispatcher.start(); } }
/** * Starts the dispatchers in this queue. */ public void start() { stop(); // Make sure any currently running dispatchers are stopped. // Create the cache dispatcher and start it. mCacheDispatcher = new CacheDispatcher(mCacheQueue, mNetworkQueue, mCache, mDelivery); mCacheDispatcher.start(); // Create network dispatchers (and corresponding threads) up to the pool size. for (int i = 0; i < mDispatchers.length; i++) { NetworkDispatcher networkDispatcher = new NetworkDispatcher(mNetworkQueue, mNetwork, mCache, mDelivery); mDispatchers[i] = networkDispatcher; networkDispatcher.start(); } }
/** * 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(); }
/** * 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(TIMEOUT)).onRequestFinished(request); queue.stop(); }