summaryrefslogtreecommitdiff
path: root/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/storage/FileSourceTestUtils.kt
diff options
context:
space:
mode:
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.kt59
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