summaryrefslogtreecommitdiff
path: root/core/src/test/java
diff options
context:
space:
mode:
authorByteHamster <info@bytehamster.com>2022-11-06 11:34:24 +0100
committerByteHamster <info@bytehamster.com>2022-11-06 12:28:30 +0100
commitb140d7297a82dc45037030d4842b60bc2d69df02 (patch)
tree7faa47ffb3fdbc147c3c30c8fe591463506ea380 /core/src/test/java
parente4d4c69519c7854f1852d80a3b47eebe30e6a3d5 (diff)
downloadAntennaPod-b140d7297a82dc45037030d4842b60bc2d69df02.zip
Move DownloadService-Interface to new module
Diffstat (limited to 'core/src/test/java')
-rw-r--r--core/src/test/java/de/danoeh/antennapod/core/feed/LocalFeedUpdaterTest.java4
-rw-r--r--core/src/test/java/de/danoeh/antennapod/core/service/download/DownloadRequestTest.java124
-rw-r--r--core/src/test/java/de/danoeh/antennapod/core/service/download/DownloadServiceInterfaceStub.java18
-rw-r--r--core/src/test/java/de/danoeh/antennapod/core/storage/DbWriterTest.java4
-rw-r--r--core/src/test/java/de/danoeh/antennapod/core/util/URLCheckerTest.java175
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"));
- }
-}