From 910d8f1f2c94fc9ea4796c336c8fff93ecead099 Mon Sep 17 00:00:00 2001 From: Martin Fietz Date: Thu, 14 May 2015 14:03:41 +0200 Subject: All tests succeeded --- .../de/test/antennapod/storage/DBTasksTest.java | 41 +++++++++++++--------- .../de/test/antennapod/ui/PreferencesTest.java | 2 ++ 2 files changed, 26 insertions(+), 17 deletions(-) (limited to 'app/src') diff --git a/app/src/androidTest/java/de/test/antennapod/storage/DBTasksTest.java b/app/src/androidTest/java/de/test/antennapod/storage/DBTasksTest.java index 41d3805bd..770b50952 100644 --- a/app/src/androidTest/java/de/test/antennapod/storage/DBTasksTest.java +++ b/app/src/androidTest/java/de/test/antennapod/storage/DBTasksTest.java @@ -3,6 +3,7 @@ package de.test.antennapod.storage; import android.content.Context; import android.content.SharedPreferences; import android.preference.PreferenceManager; +import android.test.FlakyTest; import android.test.InstrumentationTestCase; import java.io.File; @@ -27,15 +28,17 @@ import static de.test.antennapod.storage.DBTestUtils.saveFeedlist; * Test class for DBTasks */ public class DBTasksTest extends InstrumentationTestCase { - private static final String TEST_FOLDER = "testDBTasks"; + + private static final String TAG = "DBTasksTest"; private static final int EPISODE_CACHE_SIZE = 5; + private Context context; + private File destFolder; @Override protected void tearDown() throws Exception { super.tearDown(); - final Context context = getInstrumentation().getTargetContext(); assertTrue(PodDBAdapter.deleteDatabase(context)); for (File f : destFolder.listFiles()) { @@ -48,23 +51,24 @@ public class DBTasksTest extends InstrumentationTestCase { @Override protected void setUp() throws Exception { super.setUp(); - destFolder = getInstrumentation().getTargetContext().getExternalFilesDir(TEST_FOLDER); + context = getInstrumentation().getTargetContext(); + destFolder = context.getExternalCacheDir(); assertNotNull(destFolder); assertTrue(destFolder.exists()); assertTrue(destFolder.canWrite()); - final Context context = getInstrumentation().getTargetContext(); context.deleteDatabase(PodDBAdapter.DATABASE_NAME); // make sure database is created PodDBAdapter adapter = new PodDBAdapter(context); adapter.open(); adapter.close(); - SharedPreferences.Editor prefEdit = PreferenceManager.getDefaultSharedPreferences(getInstrumentation().getTargetContext().getApplicationContext()).edit(); + SharedPreferences.Editor prefEdit = PreferenceManager.getDefaultSharedPreferences(context.getApplicationContext()).edit(); prefEdit.putString(UserPreferences.PREF_EPISODE_CACHE_SIZE, Integer.toString(EPISODE_CACHE_SIZE)); prefEdit.commit(); } + @FlakyTest(tolerance = 3) public void testPerformAutoCleanupShouldDelete() throws IOException { final int NUM_ITEMS = EPISODE_CACHE_SIZE * 2; @@ -82,7 +86,7 @@ public class DBTasksTest extends InstrumentationTestCase { items.add(item); } - PodDBAdapter adapter = new PodDBAdapter(getInstrumentation().getTargetContext()); + PodDBAdapter adapter = new PodDBAdapter(context); adapter.open(); adapter.setCompleteFeed(feed); adapter.close(); @@ -92,7 +96,7 @@ public class DBTasksTest extends InstrumentationTestCase { assertTrue(item.getId() != 0); assertTrue(item.getMedia().getId() != 0); } - DBTasks.performAutoCleanup(getInstrumentation().getTargetContext()); + DBTasks.performAutoCleanup(context); for (int i = 0; i < files.size(); i++) { if (i < EPISODE_CACHE_SIZE) { assertTrue(files.get(i).exists()); @@ -102,6 +106,7 @@ public class DBTasksTest extends InstrumentationTestCase { } } + @FlakyTest(tolerance = 3) public void testPerformAutoCleanupShouldNotDeleteBecauseUnread() throws IOException { final int NUM_ITEMS = EPISODE_CACHE_SIZE * 2; @@ -120,7 +125,7 @@ public class DBTasksTest extends InstrumentationTestCase { items.add(item); } - PodDBAdapter adapter = new PodDBAdapter(getInstrumentation().getTargetContext()); + PodDBAdapter adapter = new PodDBAdapter(context); adapter.open(); adapter.setCompleteFeed(feed); adapter.close(); @@ -130,12 +135,13 @@ public class DBTasksTest extends InstrumentationTestCase { assertTrue(item.getId() != 0); assertTrue(item.getMedia().getId() != 0); } - DBTasks.performAutoCleanup(getInstrumentation().getTargetContext()); + DBTasks.performAutoCleanup(context); for (File file : files) { assertTrue(file.exists()); } } + @FlakyTest(tolerance = 3) public void testPerformAutoCleanupShouldNotDeleteBecauseInQueue() throws IOException { final int NUM_ITEMS = EPISODE_CACHE_SIZE * 2; @@ -154,7 +160,7 @@ public class DBTasksTest extends InstrumentationTestCase { items.add(item); } - PodDBAdapter adapter = new PodDBAdapter(getInstrumentation().getTargetContext()); + PodDBAdapter adapter = new PodDBAdapter(context); adapter.open(); adapter.setCompleteFeed(feed); adapter.setQueue(items); @@ -165,7 +171,7 @@ public class DBTasksTest extends InstrumentationTestCase { assertTrue(item.getId() != 0); assertTrue(item.getMedia().getId() != 0); } - DBTasks.performAutoCleanup(getInstrumentation().getTargetContext()); + DBTasks.performAutoCleanup(context); for (File file : files) { assertTrue(file.exists()); } @@ -176,13 +182,13 @@ public class DBTasksTest extends InstrumentationTestCase { * call to DBWriter.deleteFeedMediaOfItem instead of the ID of the FeedMedia. This would cause the wrong item to be deleted. * @throws IOException */ + @FlakyTest(tolerance = 3) public void testPerformAutoCleanupShouldNotDeleteBecauseInQueue_withFeedsWithNoMedia() throws IOException { - final Context context = getInstrumentation().getTargetContext(); // add feed with no enclosures so that item ID != media ID saveFeedlist(context, 1, 10, false); // add candidate for performAutoCleanup - List feeds = saveFeedlist(getInstrumentation().getTargetContext(), 1, 1, true); + List feeds = saveFeedlist(context, 1, 1, true); FeedMedia m = feeds.get(0).getItems().get(0).getMedia(); m.setDownloaded(true); m.setFile_url("file"); @@ -194,8 +200,8 @@ public class DBTasksTest extends InstrumentationTestCase { testPerformAutoCleanupShouldNotDeleteBecauseInQueue(); } + @FlakyTest(tolerance = 3) public void testUpdateFeedNewFeed() { - final Context context = getInstrumentation().getTargetContext(); final int NUM_ITEMS = 10; Feed feed = new Feed("url", new Date(), "title"); @@ -215,7 +221,6 @@ public class DBTasksTest extends InstrumentationTestCase { /** Two feeds with the same title, but different download URLs should be treated as different feeds. */ public void testUpdateFeedSameTitle() { - final Context context = getInstrumentation().getTargetContext(); Feed feed1 = new Feed("url1", new Date(), "title"); Feed feed2 = new Feed("url2", new Date(), "title"); @@ -230,7 +235,6 @@ public class DBTasksTest extends InstrumentationTestCase { } public void testUpdateFeedUpdatedFeed() { - final Context context = getInstrumentation().getTargetContext(); final int NUM_ITEMS_OLD = 10; final int NUM_ITEMS_NEW = 10; @@ -270,6 +274,7 @@ public class DBTasksTest extends InstrumentationTestCase { updatedFeedTest(feedFromDB, feedID, itemIDs, NUM_ITEMS_OLD, NUM_ITEMS_NEW); } + @FlakyTest(tolerance = 3) private void updatedFeedTest(final Feed newFeed, long feedID, List itemIDs, final int NUM_ITEMS_OLD, final int NUM_ITEMS_NEW) { assertTrue(newFeed.getId() == feedID); assertTrue(newFeed.getItems().size() == NUM_ITEMS_NEW + NUM_ITEMS_OLD); @@ -293,8 +298,8 @@ public class DBTasksTest extends InstrumentationTestCase { } } + @FlakyTest(tolerance = 3) private void expiredFeedListTestHelper(long lastUpdate, long expirationTime, boolean shouldReturn) { - final Context context = getInstrumentation().getTargetContext(); UserPreferences.setUpdateInterval(context, expirationTime); Feed feed = new Feed(0, new Date(lastUpdate), "feed", "link", "descr", null, null, null, null, "feed", null, null, "url", false, new FlattrStatus(), false, null, null); @@ -315,11 +320,13 @@ public class DBTasksTest extends InstrumentationTestCase { } } + @FlakyTest(tolerance = 3) public void testGetExpiredFeedsTestShouldReturn() { final long expirationTime = 1000 * 60 * 60; expiredFeedListTestHelper(System.currentTimeMillis() - expirationTime - 1, expirationTime, true); } + @FlakyTest(tolerance = 3) public void testGetExpiredFeedsTestShouldNotReturn() { final long expirationTime = 1000 * 60 * 60; expiredFeedListTestHelper(System.currentTimeMillis() - expirationTime / 2, expirationTime, false); diff --git a/app/src/androidTest/java/de/test/antennapod/ui/PreferencesTest.java b/app/src/androidTest/java/de/test/antennapod/ui/PreferencesTest.java index c5fece496..eb1cb9c71 100644 --- a/app/src/androidTest/java/de/test/antennapod/ui/PreferencesTest.java +++ b/app/src/androidTest/java/de/test/antennapod/ui/PreferencesTest.java @@ -3,6 +3,7 @@ package de.test.antennapod.ui; import android.content.Context; import android.content.res.Resources; import android.test.ActivityInstrumentationTestCase2; +import android.test.FlakyTest; import com.robotium.solo.Condition; import com.robotium.solo.Solo; @@ -424,6 +425,7 @@ public class PreferencesTest extends ActivityInstrumentationTestCase2