diff options
author | ByteHamster <info@bytehamster.com> | 2022-11-06 11:34:24 +0100 |
---|---|---|
committer | ByteHamster <info@bytehamster.com> | 2022-11-06 12:28:30 +0100 |
commit | b140d7297a82dc45037030d4842b60bc2d69df02 (patch) | |
tree | 7faa47ffb3fdbc147c3c30c8fe591463506ea380 /core/src/test/java | |
parent | e4d4c69519c7854f1852d80a3b47eebe30e6a3d5 (diff) | |
download | AntennaPod-b140d7297a82dc45037030d4842b60bc2d69df02.zip |
Move DownloadService-Interface to new module
Diffstat (limited to 'core/src/test/java')
5 files changed, 4 insertions, 321 deletions
diff --git a/core/src/test/java/de/danoeh/antennapod/core/feed/LocalFeedUpdaterTest.java b/core/src/test/java/de/danoeh/antennapod/core/feed/LocalFeedUpdaterTest.java index 095bed687..551b14d3b 100644 --- a/core/src/test/java/de/danoeh/antennapod/core/feed/LocalFeedUpdaterTest.java +++ b/core/src/test/java/de/danoeh/antennapod/core/feed/LocalFeedUpdaterTest.java @@ -10,8 +10,8 @@ import androidx.annotation.NonNull; import androidx.test.platform.app.InstrumentationRegistry; import de.danoeh.antennapod.core.preferences.PlaybackPreferences; -import de.danoeh.antennapod.core.service.download.DownloadServiceInterface; -import de.danoeh.antennapod.core.service.download.DownloadServiceInterfaceStub; +import de.danoeh.antennapod.net.download.serviceinterface.DownloadServiceInterface; +import de.danoeh.antennapod.net.download.serviceinterface.DownloadServiceInterfaceStub; import de.danoeh.antennapod.core.util.FastDocumentFile; import de.danoeh.antennapod.model.feed.Feed; import de.danoeh.antennapod.model.feed.FeedItem; diff --git a/core/src/test/java/de/danoeh/antennapod/core/service/download/DownloadRequestTest.java b/core/src/test/java/de/danoeh/antennapod/core/service/download/DownloadRequestTest.java deleted file mode 100644 index d1bea221a..000000000 --- a/core/src/test/java/de/danoeh/antennapod/core/service/download/DownloadRequestTest.java +++ /dev/null @@ -1,124 +0,0 @@ -package de.danoeh.antennapod.core.service.download; - -import android.os.Bundle; -import android.os.Parcel; - -import de.danoeh.antennapod.model.feed.FeedMedia; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.robolectric.RobolectricTestRunner; - -import java.util.ArrayList; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotEquals; - -@RunWith(RobolectricTestRunner.class) -public class DownloadRequestTest { - - @Test - public void parcelInArrayListTest_WithAuth() { - doTestParcelInArrayList("case has authentication", - "usr1", "pass1", "usr2", "pass2"); - } - - @Test - public void parcelInArrayListTest_NoAuth() { - doTestParcelInArrayList("case no authentication", - null, null, null, null); - } - - @Test - public void parcelInArrayListTest_MixAuth() { - doTestParcelInArrayList("case mixed authentication", - null, null, "usr2", "pass2"); - } - - @Test - public void downloadRequestTestEquals() { - String destStr = "file://location/media.mp3"; - String username = "testUser"; - String password = "testPassword"; - FeedMedia item = createFeedItem(1); - DownloadRequest request1 = new DownloadRequest.Builder(destStr, item) - .deleteOnFailure(true) - .withAuthentication(username, password) - .build(); - - DownloadRequest request2 = new DownloadRequest.Builder(destStr, item) - .deleteOnFailure(true) - .withAuthentication(username, password) - .build(); - - DownloadRequest request3 = new DownloadRequest.Builder(destStr, item) - .deleteOnFailure(true) - .withAuthentication("diffUsername", "diffPassword") - .build(); - - assertEquals(request1, request2); - assertNotEquals(request1, request3); - } - - // Test to ensure parcel using put/getParcelableArrayList() API work - // based on: https://stackoverflow.com/a/13507191 - private void doTestParcelInArrayList(String message, - String username1, String password1, - String username2, String password2) { - ArrayList<DownloadRequest> toParcel; - { // test DownloadRequests to parcel - String destStr = "file://location/media.mp3"; - FeedMedia item1 = createFeedItem(1); - DownloadRequest request1 = new DownloadRequest.Builder(destStr, item1) - .withAuthentication(username1, password1) - .build(); - - FeedMedia item2 = createFeedItem(2); - DownloadRequest request2 = new DownloadRequest.Builder(destStr, item2) - .withAuthentication(username2, password2) - .build(); - - toParcel = new ArrayList<>(); - toParcel.add(request1); - toParcel.add(request2); - } - - // parcel the download requests - Bundle bundleIn = new Bundle(); - bundleIn.putParcelableArrayList("r", toParcel); - - Parcel parcel = Parcel.obtain(); - bundleIn.writeToParcel(parcel, 0); - - Bundle bundleOut = new Bundle(); - bundleOut.setClassLoader(DownloadRequest.class.getClassLoader()); - parcel.setDataPosition(0); // to read the parcel from the beginning. - bundleOut.readFromParcel(parcel); - - ArrayList<DownloadRequest> fromParcel = bundleOut.getParcelableArrayList("r"); - - // spot-check contents to ensure they are the same - // DownloadRequest.equals() implementation doesn't quite work - // for DownloadRequest.argument (a Bundle) - assertEquals(message + " - size", toParcel.size(), fromParcel.size()); - assertEquals(message + " - source", toParcel.get(1).getSource(), fromParcel.get(1).getSource()); - assertEquals(message + " - password", toParcel.get(0).getPassword(), fromParcel.get(0).getPassword()); - assertEquals(message + " - argument", toString(toParcel.get(0).getArguments()), - toString(fromParcel.get(0).getArguments())); - } - - private static String toString(Bundle b) { - StringBuilder sb = new StringBuilder(); - sb.append("{"); - for (String key: b.keySet()) { - Object val = b.get(key); - sb.append("(").append(key).append(":").append(val).append(") "); - } - sb.append("}"); - return sb.toString(); - } - - private FeedMedia createFeedItem(final int id) { - // Use mockito would be less verbose, but it'll take extra 1 second for this tiny test - return new FeedMedia(id, null, 0, 0, 0, "", "", "http://example.com/episode" + id, false, null, 0, 0); - } -} diff --git a/core/src/test/java/de/danoeh/antennapod/core/service/download/DownloadServiceInterfaceStub.java b/core/src/test/java/de/danoeh/antennapod/core/service/download/DownloadServiceInterfaceStub.java deleted file mode 100644 index 952936f70..000000000 --- a/core/src/test/java/de/danoeh/antennapod/core/service/download/DownloadServiceInterfaceStub.java +++ /dev/null @@ -1,18 +0,0 @@ -package de.danoeh.antennapod.core.service.download; - -import android.content.Context; - -public class DownloadServiceInterfaceStub extends DownloadServiceInterface { - - public void download(Context context, boolean cleanupMedia, DownloadRequest... requests) { - } - - public void refreshAllFeeds(Context context, boolean initiatedByUser) { - } - - public void cancel(Context context, String url) { - } - - public void cancelAll(Context context) { - } -} diff --git a/core/src/test/java/de/danoeh/antennapod/core/storage/DbWriterTest.java b/core/src/test/java/de/danoeh/antennapod/core/storage/DbWriterTest.java index ba8877da6..91761d7ee 100644 --- a/core/src/test/java/de/danoeh/antennapod/core/storage/DbWriterTest.java +++ b/core/src/test/java/de/danoeh/antennapod/core/storage/DbWriterTest.java @@ -10,8 +10,8 @@ import androidx.core.util.Consumer; import androidx.preference.PreferenceManager; import androidx.test.platform.app.InstrumentationRegistry; -import de.danoeh.antennapod.core.service.download.DownloadServiceInterface; -import de.danoeh.antennapod.core.service.download.DownloadServiceInterfaceStub; +import de.danoeh.antennapod.net.download.serviceinterface.DownloadServiceInterface; +import de.danoeh.antennapod.net.download.serviceinterface.DownloadServiceInterfaceStub; import de.danoeh.antennapod.storage.database.PodDBAdapter; import org.awaitility.Awaitility; import org.junit.After; diff --git a/core/src/test/java/de/danoeh/antennapod/core/util/URLCheckerTest.java b/core/src/test/java/de/danoeh/antennapod/core/util/URLCheckerTest.java deleted file mode 100644 index 25db2e1c4..000000000 --- a/core/src/test/java/de/danoeh/antennapod/core/util/URLCheckerTest.java +++ /dev/null @@ -1,175 +0,0 @@ -package de.danoeh.antennapod.core.util; - -import org.junit.Test; -import org.junit.runner.RunWith; -import org.robolectric.RobolectricTestRunner; - -import java.io.UnsupportedEncodingException; -import java.net.URLEncoder; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertTrue; - -/** - * Test class for {@link URLChecker} - */ -@RunWith(RobolectricTestRunner.class) -public class URLCheckerTest { - - @Test - public void testCorrectURLHttp() { - final String in = "http://example.com"; - final String out = URLChecker.prepareURL(in); - assertEquals(in, out); - } - - @Test - public void testCorrectURLHttps() { - final String in = "https://example.com"; - final String out = URLChecker.prepareURL(in); - assertEquals(in, out); - } - - @Test - public void testMissingProtocol() { - final String in = "example.com"; - final String out = URLChecker.prepareURL(in); - assertEquals("http://example.com", out); - } - - @Test - public void testFeedProtocol() { - final String in = "feed://example.com"; - final String out = URLChecker.prepareURL(in); - assertEquals("http://example.com", out); - } - - @Test - public void testPcastProtocolNoScheme() { - final String in = "pcast://example.com"; - final String out = URLChecker.prepareURL(in); - assertEquals("http://example.com", out); - } - - @Test - public void testItpcProtocol() { - final String in = "itpc://example.com"; - final String out = URLChecker.prepareURL(in); - assertEquals("http://example.com", out); - } - - @Test - public void testItpcProtocolWithScheme() { - final String in = "itpc://https://example.com"; - final String out = URLChecker.prepareURL(in); - assertEquals("https://example.com", out); - } - - @Test - public void testWhiteSpaceUrlShouldNotAppend() { - final String in = "\n http://example.com \t"; - final String out = URLChecker.prepareURL(in); - assertEquals("http://example.com", out); - } - - @Test - public void testWhiteSpaceShouldAppend() { - final String in = "\n example.com \t"; - final String out = URLChecker.prepareURL(in); - assertEquals("http://example.com", out); - } - - @Test - public void testAntennaPodSubscribeProtocolNoScheme() { - final String in = "antennapod-subscribe://example.com"; - final String out = URLChecker.prepareURL(in); - assertEquals("http://example.com", out); - } - - @Test - public void testPcastProtocolWithScheme() { - final String in = "pcast://https://example.com"; - final String out = URLChecker.prepareURL(in); - assertEquals("https://example.com", out); - } - - @Test - public void testAntennaPodSubscribeProtocolWithScheme() { - final String in = "antennapod-subscribe://https://example.com"; - final String out = URLChecker.prepareURL(in); - assertEquals("https://example.com", out); - } - - @Test - public void testAntennaPodSubscribeDeeplink() throws UnsupportedEncodingException { - final String feed = "http://example.org/podcast.rss"; - assertEquals(feed, URLChecker.prepareURL("https://antennapod.org/deeplink/subscribe?url=" + feed)); - assertEquals(feed, URLChecker.prepareURL("http://antennapod.org/deeplink/subscribe?url=" + feed)); - assertEquals(feed, URLChecker.prepareURL("http://antennapod.org/deeplink/subscribe/?url=" + feed)); - assertEquals(feed, URLChecker.prepareURL("https://www.antennapod.org/deeplink/subscribe?url=" + feed)); - assertEquals(feed, URLChecker.prepareURL("http://www.antennapod.org/deeplink/subscribe?url=" + feed)); - assertEquals(feed, URLChecker.prepareURL("http://www.antennapod.org/deeplink/subscribe/?url=" + feed)); - assertEquals(feed, URLChecker.prepareURL("http://www.antennapod.org/deeplink/subscribe?url=" - + URLEncoder.encode(feed, "UTF-8"))); - assertEquals(feed, URLChecker.prepareURL("http://www.antennapod.org/deeplink/subscribe?url=" - + "example.org/podcast.rss")); - } - - @Test - public void testProtocolRelativeUrlIsAbsolute() { - final String in = "https://example.com"; - final String inBase = "http://examplebase.com"; - final String out = URLChecker.prepareURL(in, inBase); - assertEquals(in, out); - } - - @Test - public void testProtocolRelativeUrlIsRelativeHttps() { - final String in = "//example.com"; - final String inBase = "https://examplebase.com"; - final String out = URLChecker.prepareURL(in, inBase); - assertEquals("https://example.com", out); - } - - @Test - public void testProtocolRelativeUrlIsHttpsWithApSubscribeProtocol() { - final String in = "//example.com"; - final String inBase = "antennapod-subscribe://https://examplebase.com"; - final String out = URLChecker.prepareURL(in, inBase); - assertEquals("https://example.com", out); - } - - @Test - public void testProtocolRelativeUrlBaseUrlNull() { - final String in = "example.com"; - final String out = URLChecker.prepareURL(in, null); - assertEquals("http://example.com", out); - } - - @Test - public void testUrlEqualsSame() { - assertTrue(URLChecker.urlEquals("https://www.example.com/test", "https://www.example.com/test")); - assertTrue(URLChecker.urlEquals("https://www.example.com/test", "https://www.example.com/test/")); - assertTrue(URLChecker.urlEquals("https://www.example.com/test", "https://www.example.com//test")); - assertTrue(URLChecker.urlEquals("https://www.example.com", "https://www.example.com/")); - assertTrue(URLChecker.urlEquals("https://www.example.com", "http://www.example.com")); - assertTrue(URLChecker.urlEquals("http://www.example.com/", "https://www.example.com/")); - assertTrue(URLChecker.urlEquals("https://www.example.com/?id=42", "https://www.example.com/?id=42")); - assertTrue(URLChecker.urlEquals("https://example.com/podcast%20test", "https://example.com/podcast test")); - assertTrue(URLChecker.urlEquals("https://example.com/?a=podcast%20test", "https://example.com/?a=podcast test")); - assertTrue(URLChecker.urlEquals("https://example.com/?", "https://example.com/")); - assertTrue(URLChecker.urlEquals("https://example.com/?", "https://example.com")); - assertTrue(URLChecker.urlEquals("https://Example.com", "https://example.com")); - assertTrue(URLChecker.urlEquals("https://example.com/test", "https://example.com/Test")); - } - - @Test - public void testUrlEqualsDifferent() { - assertFalse(URLChecker.urlEquals("https://www.example.com/test", "https://www.example2.com/test")); - assertFalse(URLChecker.urlEquals("https://www.example.com/test", "https://www.example.de/test")); - assertFalse(URLChecker.urlEquals("https://example.com/", "https://otherpodcast.example.com/")); - assertFalse(URLChecker.urlEquals("https://www.example.com/?id=42&a=b", "https://www.example.com/?id=43&a=b")); - assertFalse(URLChecker.urlEquals("https://example.com/podcast%25test", "https://example.com/podcast test")); - } -} |