| Index: adblock-android-tests/src/org/adblockplus/libadblockplus/tests/UpdateCheckTest.java |
| diff --git a/adblock-android-tests/src/org/adblockplus/libadblockplus/tests/UpdateCheckTest.java b/adblock-android-tests/src/org/adblockplus/libadblockplus/tests/UpdateCheckTest.java |
| index 2aa5c139002e268952c385f8fbd9cac51cb0ed2a..fe5b8ee84115ce5d6d8aba2e852e51d780a20583 100644 |
| --- a/adblock-android-tests/src/org/adblockplus/libadblockplus/tests/UpdateCheckTest.java |
| +++ b/adblock-android-tests/src/org/adblockplus/libadblockplus/tests/UpdateCheckTest.java |
| @@ -17,14 +17,15 @@ |
| package org.adblockplus.libadblockplus.tests; |
| +import android.os.SystemClock; |
| + |
| import org.adblockplus.libadblockplus.AppInfo; |
| +import org.adblockplus.libadblockplus.BaseFilterEngineTest; |
| import org.adblockplus.libadblockplus.EventCallback; |
| import org.adblockplus.libadblockplus.HeaderEntry; |
| import org.adblockplus.libadblockplus.JsValue; |
| -import org.adblockplus.libadblockplus.LazyLogSystem; |
| -import org.adblockplus.libadblockplus.LazyWebRequest; |
| -import org.adblockplus.libadblockplus.Platform; |
| import org.adblockplus.libadblockplus.ServerResponse; |
| +import org.adblockplus.libadblockplus.ThrowingWebRequest; |
| import org.adblockplus.libadblockplus.UpdateCheckDoneCallback; |
| import org.junit.Test; |
| @@ -35,7 +36,7 @@ public class UpdateCheckTest extends BaseFilterEngineTest |
| { |
| protected String previousRequestUrl; |
| - public class TestWebRequest extends LazyWebRequest |
| + public class TestWebRequest extends ThrowingWebRequest |
| { |
| public ServerResponse response = new ServerResponse(); |
| @@ -52,7 +53,6 @@ public class UpdateCheckTest extends BaseFilterEngineTest |
| } |
| } |
| - protected AppInfo appInfo; |
| protected TestWebRequest webRequest; |
| protected boolean eventCallbackCalled; |
| @@ -80,41 +80,43 @@ public class UpdateCheckTest extends BaseFilterEngineTest |
| } |
| }; |
| - public void reset() throws InterruptedException |
| + public void reset() |
| { |
| - disposeFilterEngine(); |
| - if (platform != null) |
| - { |
| - platform.dispose(); |
| - } |
| - platform = new Platform(new LazyLogSystem(), webRequest, |
| - getContext().getFilesDir().getAbsolutePath()); |
| - platform.setUpJsEngine(appInfo); |
| - platform.getJsEngine().setEventCallback("updateAvailable", eventCallback); |
| - filterEngine = platform.getFilterEngine(); |
| + disposeEngines(); |
| + setupJsEngine(); |
| + jsEngine.setEventCallback("updateAvailable", eventCallback); |
| + setupFilterEngine(); |
| } |
| @Override |
| protected void setUp() throws Exception |
| { |
| - appInfo = AppInfo.builder().build(); |
| webRequest = new TestWebRequest(); |
| + setWebRequest(webRequest); |
| eventCallbackCalled = false; |
| updateCallbackCalled = false; |
| - reset(); |
| + super.setUp(); |
| } |
| public void forceUpdateCheck() |
| { |
| filterEngine.forceUpdateCheck(updateCallback); |
| + for (int i = 0; i < UPDATE_SUBSCRIPTIONS_WAIT_CHUNKS; i++) |
| + { |
| + if (eventCallbackCalled || updateCallbackCalled) |
| + { |
| + break; |
| + } |
| + SystemClock.sleep(UPDATE_SUBSCRIPTIONS_WAIT_DELAY_MS / UPDATE_SUBSCRIPTIONS_WAIT_CHUNKS); |
| + } |
| } |
| @Test |
| - public void testRequestFailure() throws InterruptedException |
| + public void testRequestFailure() |
| { |
| webRequest.response.setStatus(ServerResponse.NsStatus.ERROR_FAILURE); |
| - appInfo = AppInfo |
| + AppInfo appInfo = AppInfo |
| .builder() |
| .setName("1") |
| .setVersion("3") |
| @@ -122,12 +124,11 @@ public class UpdateCheckTest extends BaseFilterEngineTest |
| .setApplicationVersion("2") |
| .setDevelopmentBuild(false) |
| .build(); |
| + setAppInfo(appInfo); |
| reset(); |
| forceUpdateCheck(); |
| - Thread.sleep(100); |
| - |
| assertFalse(eventCallbackCalled); |
| assertTrue(updateCallbackCalled); |
| assertNotNull(updateError); |
| @@ -153,14 +154,14 @@ public class UpdateCheckTest extends BaseFilterEngineTest |
| } |
| @Test |
| - public void testApplicationUpdateAvailable() throws InterruptedException |
| + public void testApplicationUpdateAvailable() |
| { |
| webRequest.response.setStatus(ServerResponse.NsStatus.OK); |
| webRequest.response.setResponseStatus(200); |
| webRequest.response.setResponse( |
| "{\"1/4\": {\"version\":\"3.1\",\"url\":\"https://foo.bar/\"}}"); |
| - appInfo = AppInfo |
| + AppInfo appInfo = AppInfo |
| .builder() |
| .setName("1") |
| .setVersion("3") |
| @@ -168,12 +169,11 @@ public class UpdateCheckTest extends BaseFilterEngineTest |
| .setApplicationVersion("2") |
| .setDevelopmentBuild(true) |
| .build(); |
| + setAppInfo(appInfo); |
| reset(); |
| forceUpdateCheck(); |
| - Thread.sleep(1000); |
| - |
| assertTrue(eventCallbackCalled); |
| assertNotNull(eventCallbackParams); |
| assertEquals(1l, eventCallbackParams.size()); |
| @@ -183,14 +183,14 @@ public class UpdateCheckTest extends BaseFilterEngineTest |
| } |
| @Test |
| - public void testWrongApplication() throws InterruptedException |
| + public void testWrongApplication() |
| { |
| webRequest.response.setStatus(ServerResponse.NsStatus.OK); |
| webRequest.response.setResponseStatus(200); |
| webRequest.response.setResponse( |
| "{\"1/3\": {\"version\":\"3.1\",\"url\":\"https://foo.bar/\"}}"); |
| - appInfo = AppInfo |
| + AppInfo appInfo = AppInfo |
| .builder() |
| .setName("1") |
| .setVersion("3") |
| @@ -198,26 +198,25 @@ public class UpdateCheckTest extends BaseFilterEngineTest |
| .setApplicationVersion("2") |
| .setDevelopmentBuild(true) |
| .build(); |
| + setAppInfo(appInfo); |
| reset(); |
| forceUpdateCheck(); |
| - Thread.sleep(1000); |
| - |
| assertFalse(eventCallbackCalled); |
| assertTrue(updateCallbackCalled); |
| assertEquals("", updateError); |
| } |
| @Test |
| - public void testWrongVersion() throws InterruptedException |
| + public void testWrongVersion() |
| { |
| webRequest.response.setStatus(ServerResponse.NsStatus.OK); |
| webRequest.response.setResponseStatus(200); |
| webRequest.response.setResponse( |
| "{\"1\": {\"version\":\"3\",\"url\":\"https://foo.bar/\"}}"); |
| - appInfo = AppInfo |
| + AppInfo appInfo = AppInfo |
| .builder() |
| .setName("1") |
| .setVersion("3") |
| @@ -225,26 +224,25 @@ public class UpdateCheckTest extends BaseFilterEngineTest |
| .setApplicationVersion("2") |
| .setDevelopmentBuild(true) |
| .build(); |
| + setAppInfo(appInfo); |
| reset(); |
| forceUpdateCheck(); |
| - Thread.sleep(1000); |
| - |
| assertFalse(eventCallbackCalled); |
| assertTrue(updateCallbackCalled); |
| assertEquals("", updateError); |
| } |
| @Test |
| - public void testWrongURL() throws InterruptedException |
| + public void testWrongURL() |
| { |
| webRequest.response.setStatus(ServerResponse.NsStatus.OK); |
| webRequest.response.setResponseStatus(200); |
| webRequest.response.setResponse( |
| "{\"1\": {\"version\":\"3.1\",\"url\":\"http://insecure/\"}}"); |
| - appInfo = AppInfo |
| + AppInfo appInfo = AppInfo |
| .builder() |
| .setName("1") |
| .setVersion("3") |
| @@ -252,12 +250,11 @@ public class UpdateCheckTest extends BaseFilterEngineTest |
| .setApplicationVersion("2") |
| .setDevelopmentBuild(true) |
| .build(); |
| + setAppInfo(appInfo); |
| reset(); |
| forceUpdateCheck(); |
| - Thread.sleep(1000); |
| - |
| assertFalse(eventCallbackCalled); |
| assertTrue(updateCallbackCalled); |
| assertTrue(updateError.length() > 0); |