First pass at a functional test for the Download Manager.
authorSteve Howard <showard@google.com>
Thu, 10 Jun 2010 00:50:07 +0000 (17:50 -0700)
committerSteve Howard <showard@google.com>
Mon, 28 Jun 2010 23:20:22 +0000 (16:20 -0700)
commitd6f9b5e72a135365f2358d79b3ea3c9f7cb99c8e
tree5c0448812dd65aaed0f0f82018dbcac3ac218867
parentaed3c4a57f6040349ef9e789646305c58227c35a
First pass at a functional test for the Download Manager.

This "Large" test sets up an HTTP server on the device using
MockWebServer and then initiates downloads from that server through
the download manager.  It uses ServiceTestCase to control the
construction and execution of the DownloadService, and it uses some
logic from ProviderTestCase2 to construct a DownloadProvider and a
ContentResolver that uses it.

This setup gives us some ability to mock dependencies.  This commit
includes use of a fake ConnectivityManager to test responses to
connectivity changes, and use of some customizations to MockWebServer
to test resuming an interrupted download.  This test is disabled,
though, since it requires a very long sleep.

Avoiding that, and achieving certain other things, will require
changes to the Download Manager code itself to introduce new seams.  I
wanted to check this in before I started such changes.

Change-Id: Iefb13b3c3cccdc13fabe5cc18703e13244805539
tests/Android.mk
tests/AndroidManifest.xml [new file with mode: 0644]
tests/src/com/android/providers/downloads/DownloadManagerFunctionalTest.java [new file with mode: 0644]
tests/src/com/android/providers/downloads/FakeIConnectivityManager.java [new file with mode: 0644]
tests/src/tests/http/MockResponse.java
tests/src/tests/http/MockWebServer.java
tests/src/tests/http/RecordedRequest.java