diff options
author | Łukasz Paczos <lukas.paczos@gmail.com> | 2018-09-24 12:32:28 +0200 |
---|---|---|
committer | Łukasz Paczos <lukasz.paczos@mapbox.com> | 2018-09-26 13:47:28 +0200 |
commit | 1c6c7d5238c3359ca426a9203f3246f202254dd4 (patch) | |
tree | 8db7661e2b39db2ac10f91572db75a9d845aebfc /platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk | |
parent | 4004a85a79fc9e7a390f30012d32c39d01292e7a (diff) | |
download | qtlocation-mapboxgl-1c6c7d5238c3359ca426a9203f3246f202254dd4.tar.gz |
[android] copy files from assets task util
Diffstat (limited to 'platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk')
-rw-r--r-- | platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/offline/OfflineManagerTest.kt | 59 |
1 files changed, 24 insertions, 35 deletions
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/offline/OfflineManagerTest.kt b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/offline/OfflineManagerTest.kt index dd22d28f84..f702f8dafa 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/offline/OfflineManagerTest.kt +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/offline/OfflineManagerTest.kt @@ -1,25 +1,22 @@ package com.mapbox.mapboxsdk.testapp.offline -import android.R import android.content.Context -import android.support.test.espresso.Espresso.onView +import android.support.test.espresso.Espresso import android.support.test.espresso.IdlingRegistry import android.support.test.espresso.UiController -import android.support.test.espresso.assertion.ViewAssertions.matches import android.support.test.espresso.idling.CountingIdlingResource -import android.support.test.espresso.matcher.ViewMatchers.isDisplayed -import android.support.test.espresso.matcher.ViewMatchers.withId import android.support.test.runner.AndroidJUnit4 import com.mapbox.mapboxsdk.maps.MapboxMap import com.mapbox.mapboxsdk.offline.OfflineManager import com.mapbox.mapboxsdk.offline.OfflineRegion +import com.mapbox.mapboxsdk.storage.FileSource import com.mapbox.mapboxsdk.testapp.action.MapboxMapAction.invoke import com.mapbox.mapboxsdk.testapp.activity.BaseActivityTest import com.mapbox.mapboxsdk.testapp.activity.espresso.EspressoTestActivity +import com.mapbox.mapboxsdk.testapp.utils.FileUtils import org.junit.Test import org.junit.runner.RunWith -import java.io.File -import java.io.FileOutputStream +import java.io.IOException @RunWith(AndroidJUnit4::class) class OfflineManagerTest : BaseActivityTest() { @@ -48,19 +45,26 @@ class OfflineManagerTest : BaseActivityTest() { invoke(mapboxMap) { _: UiController, _: MapboxMap -> offlineIdlingResource.increment() - copyAsset(context) - OfflineManager.getInstance(context).mergeOfflineRegions( - context.filesDir.absolutePath + "/" + TEST_DB_FILE_NAME, - object : OfflineManager.MergeOfflineRegionsCallback { - override fun onMerge(offlineRegions: Array<out OfflineRegion>?) { - assert(offlineRegions?.size == 1) - offlineIdlingResource.decrement() - } + FileUtils.CopyFileFromAssetsTask(rule.activity, object : FileUtils.OnFileCopiedFromAssetsListener { + override fun onFileCopiedFromAssets() { + OfflineManager.getInstance(context).mergeOfflineRegions( + FileSource.getResourcesCachePath(rule.activity) + "/" + TEST_DB_FILE_NAME, + object : OfflineManager.MergeOfflineRegionsCallback { + override fun onMerge(offlineRegions: Array<out OfflineRegion>?) { + assert(offlineRegions?.size == 1) + offlineIdlingResource.decrement() + } + + override fun onError(error: String?) { + throw RuntimeException("Unable to merge external offline database. $error") + } + }) + } - override fun onError(error: String?) { - throw RuntimeException("Unable to merge external offline database. $error") - } - }) + override fun onError() { + throw IOException("Unable to copy DB file.") + } + }).execute(TEST_DB_FILE_NAME, FileSource.getResourcesCachePath(rule.activity)) } invoke(mapboxMap) { _: UiController, _: MapboxMap -> @@ -94,26 +98,11 @@ class OfflineManagerTest : BaseActivityTest() { } // waiting for offline idling resource - onView(withId(R.id.content)).check(matches(isDisplayed())) + Espresso.onIdle() } override fun afterTest() { super.afterTest() IdlingRegistry.getInstance().unregister(offlineIdlingResource) } - - private fun copyAsset(context: Context) { - val bufferSize = 1024 - val assetManager = context.assets - val inputStream = assetManager.open(TEST_DB_FILE_NAME) - val outputStream = FileOutputStream(File(context.filesDir.absoluteFile, TEST_DB_FILE_NAME)) - - try { - inputStream.copyTo(outputStream, bufferSize) - } finally { - inputStream.close() - outputStream.flush() - outputStream.close() - } - } }
\ No newline at end of file |