Index: adblock-android-tests/src/org/adblockplus/libadblockplus/tests/IsAllowedConnectionCallbackTest.java |
diff --git a/adblock-android-tests/src/org/adblockplus/libadblockplus/tests/IsAllowedConnectionCallbackTest.java b/adblock-android-tests/src/org/adblockplus/libadblockplus/tests/IsAllowedConnectionCallbackTest.java |
index 49af1316e0f7a9b73d612212a7f8a831d00fc0fb..a2bd7a7c7d7476c16d744bd23950fc9324dffc79 100644 |
--- a/adblock-android-tests/src/org/adblockplus/libadblockplus/tests/IsAllowedConnectionCallbackTest.java |
+++ b/adblock-android-tests/src/org/adblockplus/libadblockplus/tests/IsAllowedConnectionCallbackTest.java |
@@ -17,15 +17,11 @@ |
package org.adblockplus.libadblockplus.tests; |
-import android.os.SystemClock; |
- |
+import org.adblockplus.libadblockplus.BaseFilterEngineTest; |
import org.adblockplus.libadblockplus.HeaderEntry; |
import org.adblockplus.libadblockplus.IsAllowedConnectionCallback; |
-import org.adblockplus.libadblockplus.Platform; |
import org.adblockplus.libadblockplus.ServerResponse; |
-import org.adblockplus.libadblockplus.Subscription; |
-import org.adblockplus.libadblockplus.WebRequest; |
-import org.adblockplus.libadblockplus.android.AndroidWebRequest; |
+import org.adblockplus.libadblockplus.ThrowingWebRequest; |
import org.junit.Test; |
import java.util.LinkedList; |
@@ -33,10 +29,10 @@ import java.util.List; |
public class IsAllowedConnectionCallbackTest extends BaseFilterEngineTest |
{ |
- private static final int UPDATE_SUBSCRIPTIONS_WAIT_DELAY_MS = 5 * 1000; // 5s |
- |
- private static final class TestRequest extends AndroidWebRequest |
+ private static final class TestRequest extends ThrowingWebRequest |
{ |
+ private volatile int callCount; |
+ |
private List<String> urls = new LinkedList<String>(); |
public List<String> getUrls() |
@@ -44,24 +40,24 @@ public class IsAllowedConnectionCallbackTest extends BaseFilterEngineTest |
return urls; |
} |
+ public int getCallCount() { return this.callCount; } |
+ |
+ public void reset() { this.callCount = 0; } |
+ |
@Override |
public ServerResponse httpGET(String url, List<HeaderEntry> headers) |
{ |
urls.add(url); |
+ this.callCount++; |
return super.httpGET(url, headers); |
} |
} |
private static final class TestCallback implements IsAllowedConnectionCallback |
{ |
+ private volatile int callCount; |
private boolean result; |
- private boolean invoked; |
- private String connectionType; |
- |
- public boolean isResult() |
- { |
- return result; |
- } |
+ private volatile String connectionType; |
public void setResult(boolean result) |
{ |
@@ -75,15 +71,18 @@ public class IsAllowedConnectionCallbackTest extends BaseFilterEngineTest |
public boolean isInvoked() |
{ |
- return invoked; |
+ return this.callCount > 0; |
} |
+ public int getCallCount() { return this.callCount; } |
+ |
+ public void reset() { this.callCount = 0; } |
+ |
@Override |
public boolean isConnectionAllowed(String connectionType) |
{ |
- this.invoked = true; |
this.connectionType = connectionType; |
- |
+ this.callCount++; |
return result; |
} |
} |
@@ -94,32 +93,24 @@ public class IsAllowedConnectionCallbackTest extends BaseFilterEngineTest |
@Override |
protected void setUp() throws Exception |
{ |
- platform = new Platform(createLogSystem(), createWebRequest(), |
- getContext().getFilesDir().getAbsolutePath()); |
callback = new TestCallback(); |
- platform.setUpFilterEngine(callback); |
- filterEngine = platform.getFilterEngine(); |
+ request = new TestRequest(); |
+ setIsAllowedConnectionCallback(callback); |
+ setWebRequest(request); |
+ super.setUp(); |
} |
@Override |
- protected WebRequest createWebRequest() |
+ protected int getUpdateRequestCount() |
{ |
- return request = new TestRequest(); |
+ return callback.getCallCount() + request.getCallCount(); |
} |
- private void updateSubscriptions() |
+ private void setResult(boolean result) |
{ |
- for (final Subscription s : this.filterEngine.getListedSubscriptions()) |
- { |
- try |
- { |
- s.updateFilters(); |
- } |
- finally |
- { |
- s.dispose(); |
- } |
- } |
+ callback.reset(); |
+ request.reset(); |
+ callback.setResult(result); |
} |
@Test |
@@ -127,13 +118,11 @@ public class IsAllowedConnectionCallbackTest extends BaseFilterEngineTest |
{ |
final String allowedConnectionType = "wifi1"; |
filterEngine.setAllowedConnectionType(allowedConnectionType); |
- callback.setResult(true); |
+ setResult(true); |
assertEquals(0, request.getUrls().size()); |
- assertFalse(callback.isInvoked()); |
updateSubscriptions(); |
- SystemClock.sleep(UPDATE_SUBSCRIPTIONS_WAIT_DELAY_MS); |
assertTrue(callback.isInvoked()); |
assertNotNull(callback.getConnectionType()); |
@@ -148,11 +137,10 @@ public class IsAllowedConnectionCallbackTest extends BaseFilterEngineTest |
final String allowedConnectionType = "wifi2"; |
filterEngine.setAllowedConnectionType(allowedConnectionType); |
- callback.setResult(false); |
+ setResult(false); |
assertEquals(0, request.getUrls().size()); |
updateSubscriptions(); |
- SystemClock.sleep(UPDATE_SUBSCRIPTIONS_WAIT_DELAY_MS); |
assertTrue(callback.isInvoked()); |
assertNotNull(callback.getConnectionType()); |