From c7bbaddc06ae0ef5cbea03fd1ca9c8fdcfa473d0 Mon Sep 17 00:00:00 2001 From: Dennis Guse Date: Mon, 27 Dec 2021 12:59:25 +0100 Subject: [PATCH] Cleanup: fix various issues in tests. --- .../provider/CustomContentProviderUtilsTest.java | 16 +++++++++------- .../services/TrackRecordingServiceTest.java | 7 ++----- .../TrackRecordingServiceTestLocation.java | 7 ------- .../TrackRecordingServiceTestLooper.java | 6 +----- .../TrackRecordingServiceTestStatistics.java | 5 ----- .../services/TrackRecordingService.java | 14 ++++++++++++++ 6 files changed, 26 insertions(+), 29 deletions(-) diff --git a/src/androidTest/java/de/dennisguse/opentracks/content/provider/CustomContentProviderUtilsTest.java b/src/androidTest/java/de/dennisguse/opentracks/content/provider/CustomContentProviderUtilsTest.java index 5d360ed5b..cce0c769f 100644 --- a/src/androidTest/java/de/dennisguse/opentracks/content/provider/CustomContentProviderUtilsTest.java +++ b/src/androidTest/java/de/dennisguse/opentracks/content/provider/CustomContentProviderUtilsTest.java @@ -15,6 +15,13 @@ */ package de.dennisguse.opentracks.content.provider; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertTrue; +import static org.mockito.Mockito.when; + import android.content.ContentResolver; import android.content.ContentUris; import android.content.ContentValues; @@ -57,13 +64,6 @@ import de.dennisguse.opentracks.stats.TrackStatistics; import de.dennisguse.opentracks.util.FileUtils; import de.dennisguse.opentracks.util.UUIDUtils; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNull; -import static org.junit.Assert.assertTrue; -import static org.mockito.Mockito.when; - /** * A unit test for {@link ContentProviderUtils}. * @@ -220,6 +220,8 @@ public class CustomContentProviderUtilsTest { assertEquals(0, tracksPointsCursor.getCount()); markerCursor = contentResolver.query(MarkerColumns.CONTENT_URI, null, null, null, MarkerColumns._ID); assertEquals(0, markerCursor.getCount()); + + //TODO Close all cursors } /** diff --git a/src/androidTest/java/de/dennisguse/opentracks/services/TrackRecordingServiceTest.java b/src/androidTest/java/de/dennisguse/opentracks/services/TrackRecordingServiceTest.java index 92bbb6337..a4851df9d 100644 --- a/src/androidTest/java/de/dennisguse/opentracks/services/TrackRecordingServiceTest.java +++ b/src/androidTest/java/de/dennisguse/opentracks/services/TrackRecordingServiceTest.java @@ -111,11 +111,6 @@ public class TrackRecordingServiceTest { @Before public void setUp() { - // Set up the mock content resolver - ContentProvider customContentProvider = new CustomContentProvider() { - }; - customContentProvider.attachInfo(context, null); - contentProviderUtils = new ContentProviderUtils(context); // Let's use default values. @@ -249,6 +244,7 @@ public class TrackRecordingServiceTest { // when trackPointCreator.setClock(Clock.fixed(Instant.parse("2020-02-02T02:02:03Z"), ZoneId.of("CET"))); service.pauseCurrentTrack(); + service.stopUpdateRecordingData(); // then assertEquals(2, contentProviderUtils.getTrackPointCursor(trackId, null).getCount()); @@ -256,6 +252,7 @@ public class TrackRecordingServiceTest { //when trackPointCreator.setClock(Clock.fixed(Instant.parse("2020-02-02T02:02:04Z"), ZoneId.of("CET"))); service.resumeTrack(trackId); + service.stopUpdateRecordingData(); // then assertTrue(service.isRecording()); diff --git a/src/androidTest/java/de/dennisguse/opentracks/services/TrackRecordingServiceTestLocation.java b/src/androidTest/java/de/dennisguse/opentracks/services/TrackRecordingServiceTestLocation.java index fe84ec121..32120a42c 100644 --- a/src/androidTest/java/de/dennisguse/opentracks/services/TrackRecordingServiceTestLocation.java +++ b/src/androidTest/java/de/dennisguse/opentracks/services/TrackRecordingServiceTestLocation.java @@ -2,7 +2,6 @@ package de.dennisguse.opentracks.services; import static org.junit.Assert.assertFalse; -import android.content.ContentProvider; import android.content.Context; import android.os.Looper; @@ -31,7 +30,6 @@ import de.dennisguse.opentracks.content.data.TestDataUtil; import de.dennisguse.opentracks.content.data.Track; import de.dennisguse.opentracks.content.data.TrackPoint; import de.dennisguse.opentracks.content.provider.ContentProviderUtils; -import de.dennisguse.opentracks.content.provider.CustomContentProvider; import de.dennisguse.opentracks.content.sensor.SensorDataHeartRate; import de.dennisguse.opentracks.content.sensor.SensorDataRunning; import de.dennisguse.opentracks.content.sensor.SensorDataSet; @@ -79,11 +77,6 @@ public class TrackRecordingServiceTestLocation { @Before public void setUp() throws TimeoutException { - // Set up the mock content resolver - ContentProvider customContentProvider = new CustomContentProvider() { - }; - customContentProvider.attachInfo(context, null); - contentProviderUtils = new ContentProviderUtils(context); tearDown(); diff --git a/src/androidTest/java/de/dennisguse/opentracks/services/TrackRecordingServiceTestLooper.java b/src/androidTest/java/de/dennisguse/opentracks/services/TrackRecordingServiceTestLooper.java index 5cac4f870..9c61a1beb 100644 --- a/src/androidTest/java/de/dennisguse/opentracks/services/TrackRecordingServiceTestLooper.java +++ b/src/androidTest/java/de/dennisguse/opentracks/services/TrackRecordingServiceTestLooper.java @@ -44,6 +44,7 @@ import de.dennisguse.opentracks.stats.TrackStatistics; * * @author Bartlomiej Niechwiej */ +//TODO Check that those tests are really testing something! @RunWith(AndroidJUnit4.class) public class TrackRecordingServiceTestLooper { @@ -67,11 +68,6 @@ public class TrackRecordingServiceTestLooper { @Before public void setUp() { - // Set up the mock content resolver - ContentProvider customContentProvider = new CustomContentProvider() { - }; - customContentProvider.attachInfo(context, null); - contentProviderUtils = new ContentProviderUtils(context); // Let's use default values. diff --git a/src/androidTest/java/de/dennisguse/opentracks/services/TrackRecordingServiceTestStatistics.java b/src/androidTest/java/de/dennisguse/opentracks/services/TrackRecordingServiceTestStatistics.java index 2326f7c37..a4d1ad74a 100644 --- a/src/androidTest/java/de/dennisguse/opentracks/services/TrackRecordingServiceTestStatistics.java +++ b/src/androidTest/java/de/dennisguse/opentracks/services/TrackRecordingServiceTestStatistics.java @@ -81,11 +81,6 @@ public class TrackRecordingServiceTestStatistics { @Before public void setUp() throws TimeoutException { - // Set up the mock content resolver - ContentProvider customContentProvider = new CustomContentProvider() { - }; - customContentProvider.attachInfo(context, null); - contentProviderUtils = new ContentProviderUtils(context); tearDown(); diff --git a/src/main/java/de/dennisguse/opentracks/services/TrackRecordingService.java b/src/main/java/de/dennisguse/opentracks/services/TrackRecordingService.java index 754228cf1..d8bcb00f8 100644 --- a/src/main/java/de/dennisguse/opentracks/services/TrackRecordingService.java +++ b/src/main/java/de/dennisguse/opentracks/services/TrackRecordingService.java @@ -161,13 +161,16 @@ public class TrackRecordingService extends Service implements TrackPointCreator. @Override public void onDestroy() { + handler.removeCallbacksAndMessages(null); //Some tests do not finish the recording completely handler = null; trackPointCreator.stop(); trackPointCreator = null; + trackRecordingManager = null; // Reverse order from onCreate showNotification(false); //TODO Why? + notificationManager = null; PreferencesUtils.unregisterOnSharedPreferenceChangeListener(sharedPreferenceChangeListener); @@ -180,6 +183,7 @@ public class TrackRecordingService extends Service implements TrackPointCreator. // This should be the next to last operation wakeLock = SystemUtils.releaseWakeLock(wakeLock); + updateRecordingStatus(STATUS_DEFAULT); recordingStatusObservable = null; gpsStatusObservable = null; recordingDataObservable = null; @@ -187,6 +191,16 @@ public class TrackRecordingService extends Service implements TrackPointCreator. super.onDestroy(); } + @Override + public int onStartCommand(Intent intent, int flags, int startId) { + return START_STICKY; + } + + @Override + public Binder onBind(Intent intent) { + return binder; + } + public boolean isRecording() { return recordingStatus.isRecording(); }