diff options
author | tobrun <tobrun.van.nuland@gmail.com> | 2019-11-01 10:13:22 +0100 |
---|---|---|
committer | tobrun <tobrun.van.nuland@gmail.com> | 2019-11-01 10:13:22 +0100 |
commit | 5825afac23d5cfbab3127cf5bdd09f2e815de5f4 (patch) | |
tree | 314ca31ef9a4278e0798b3de9115db2892bd8dac /platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/storage/FileSourceTestUtils.kt | |
parent | c94184c04742e935853a2e6b26d7fe1aa94c3250 (diff) | |
download | qtlocation-mapboxgl-upstream/tvn-test-ci.tar.gz |
Diffstat (limited to 'platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/storage/FileSourceTestUtils.kt')
-rw-r--r-- | platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/storage/FileSourceTestUtils.kt | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/storage/FileSourceTestUtils.kt b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/storage/FileSourceTestUtils.kt new file mode 100644 index 0000000000..6bd97056a6 --- /dev/null +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/storage/FileSourceTestUtils.kt @@ -0,0 +1,59 @@ +package com.mapbox.mapboxsdk.testapp.storage + +import android.app.Activity +import android.support.annotation.WorkerThread +import com.mapbox.mapboxsdk.AppCenter +import com.mapbox.mapboxsdk.storage.FileSource +import java.io.File +import java.util.concurrent.CountDownLatch +import junit.framework.Assert + +class FileSourceTestUtils(private val activity: Activity) : AppCenter() { + val originalPath = FileSource.getResourcesCachePath(activity) + val testPath = "$originalPath/test" + val testPath2 = "$originalPath/test2" + + private val paths = listOf(testPath, testPath2) + + fun setup() { + for (path in paths) { + val testFile = File(path) + testFile.mkdirs() + } + } + + @WorkerThread + fun cleanup() { + val currentPath = FileSource.getResourcesCachePath(activity) + if (currentPath != originalPath) { + changePath(originalPath) + } + + for (path in paths) { + val testFile = File(path) + if (testFile.exists()) { + testFile.deleteRecursively() + } + } + } + + @WorkerThread + fun changePath(requestedPath: String) { + val latch = CountDownLatch(1) + activity.runOnUiThread { + FileSource.setResourcesCachePath( + requestedPath, + object : FileSource.ResourcesCachePathChangeCallback { + override fun onSuccess(path: String) { + Assert.assertEquals(requestedPath, path) + latch.countDown() + } + + override fun onError(message: String) { + Assert.fail("Resource path change failed - path: $requestedPath, message: $message") + } + }) + } + latch.await() + } +}
\ No newline at end of file |