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); |