diff options
author | Vasu Nori <vnori@google.com> | 2010-12-06 15:16:23 -0800 |
---|---|---|
committer | Vasu Nori <vnori@google.com> | 2010-12-09 17:22:38 -0800 |
commit | 5d217003acf21aea852975af0dff3b398cea6768 (patch) | |
tree | c9cf9a9fe823d667544e2e4ecd4b9f9bff5db670 /tests/src/com/android/providers/downloads/AbstractDownloadManagerFunctionalTest.java | |
parent | 00caf765965d4356308b36ce387e14854cedfcdd (diff) | |
download | android_packages_providers_DownloadProvider-5d217003acf21aea852975af0dff3b398cea6768.tar.gz android_packages_providers_DownloadProvider-5d217003acf21aea852975af0dff3b398cea6768.tar.bz2 android_packages_providers_DownloadProvider-5d217003acf21aea852975af0dff3b398cea6768.zip |
fix broken DownloadManager tests
one big change in this CL is addition of a new feature to MockWebServer.
It can now play a long response to the Downloading thread to keep it busy
while something - such as cancel/remove - can be done to that Download Request.
Also, added changes to FakeSystemFacade to start threads in normal fashion
instead of queuing them up and later running just their run() methods.
the following tests should work now
packages/providers/DownloadProvider/tests/src/com/android/providers/downloads/
DownloadManagerFunctionalTest.java
PublicApiFunctionalTest.java
ThreadingTest.java
PublicApiAccessTest.java
DownloadProviderPermissionsTest.java
the following are flaky. they need to be split up into smaller tests.
frameworks/base/core/tests/coretests/src/android/app/
DownloadManagerIntegrationTest.java
DownloadManagerStressTest.java
Change-Id: Ia0b11963f92e8f8365f701761dcbce467be3ee9b
Diffstat (limited to 'tests/src/com/android/providers/downloads/AbstractDownloadManagerFunctionalTest.java')
-rw-r--r-- | tests/src/com/android/providers/downloads/AbstractDownloadManagerFunctionalTest.java | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/tests/src/com/android/providers/downloads/AbstractDownloadManagerFunctionalTest.java b/tests/src/com/android/providers/downloads/AbstractDownloadManagerFunctionalTest.java index a06597f1..5283d425 100644 --- a/tests/src/com/android/providers/downloads/AbstractDownloadManagerFunctionalTest.java +++ b/tests/src/com/android/providers/downloads/AbstractDownloadManagerFunctionalTest.java @@ -59,6 +59,14 @@ public abstract class AbstractDownloadManagerFunctionalTest extends protected MockContentResolverWithNotify mResolver; protected TestContext mTestContext; protected FakeSystemFacade mSystemFacade; + protected static String STRING_1K; + static { + StringBuilder buff = new StringBuilder(); + for (int i = 0; i < 1024; i++) { + buff.append("a" + i % 26); + } + STRING_1K = buff.toString(); + } static class MockContentResolverWithNotify extends MockContentResolver { public boolean mNotifyWasCalled = false; @@ -161,6 +169,7 @@ public abstract class AbstractDownloadManagerFunctionalTest extends @Override protected void tearDown() throws Exception { cleanUpDownloads(); + mServer.shutdown(); super.tearDown(); } @@ -205,7 +214,7 @@ public abstract class AbstractDownloadManagerFunctionalTest extends } /** - * Enqueue a response from the MockWebServer. + * Enqueue a String response from the MockWebServer. */ MockResponse enqueueResponse(int status, String body) { MockResponse response = new MockResponse() @@ -216,6 +225,18 @@ public abstract class AbstractDownloadManagerFunctionalTest extends mServer.enqueue(response); return response; } + /** + * Enqueue a byte[] response from the MockWebServer. + */ + MockResponse enqueueResponse(int status, byte[] body) { + MockResponse response = new MockResponse() + .setResponseCode(status) + .setBody(body) + .addHeader("Content-type", "text/plain") + .setCloseConnectionAfter(true); + mServer.enqueue(response); + return response; + } MockResponse enqueueEmptyResponse(int status) { return enqueueResponse(status, ""); |