Improve backup test reliability and cleanup
This commit is contained in:
parent
92be0af271
commit
78770dd2d2
@ -30,6 +30,7 @@ import org.isoron.uhabits.acceptance.steps.ListHabitsSteps.MenuItem.DELETE
|
|||||||
import org.isoron.uhabits.acceptance.steps.ListHabitsSteps.clickMenu
|
import org.isoron.uhabits.acceptance.steps.ListHabitsSteps.clickMenu
|
||||||
import org.isoron.uhabits.acceptance.steps.clearBackupFolder
|
import org.isoron.uhabits.acceptance.steps.clearBackupFolder
|
||||||
import org.isoron.uhabits.acceptance.steps.clearDownloadFolder
|
import org.isoron.uhabits.acceptance.steps.clearDownloadFolder
|
||||||
|
import org.isoron.uhabits.acceptance.steps.clearPublicBackupFolderSelection
|
||||||
import org.isoron.uhabits.acceptance.steps.copyBackupToDownloadFolder
|
import org.isoron.uhabits.acceptance.steps.copyBackupToDownloadFolder
|
||||||
import org.isoron.uhabits.acceptance.steps.exportFullBackup
|
import org.isoron.uhabits.acceptance.steps.exportFullBackup
|
||||||
import org.isoron.uhabits.acceptance.steps.importBackupFromDownloadFolder
|
import org.isoron.uhabits.acceptance.steps.importBackupFromDownloadFolder
|
||||||
@ -62,5 +63,6 @@ class BackupTest : BaseUserInterfaceTest() {
|
|||||||
selectPublicBackupFolder()
|
selectPublicBackupFolder()
|
||||||
exportFullBackup()
|
exportFullBackup()
|
||||||
verifyBackupInDownloadFolder()
|
verifyBackupInDownloadFolder()
|
||||||
|
clearPublicBackupFolderSelection()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -53,8 +53,13 @@ fun clearBackupFolder() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fun copyBackupToDownloadFolder() {
|
fun copyBackupToDownloadFolder() {
|
||||||
|
val srcListing = device.executeShellCommand("ls $BACKUP_FOLDER")
|
||||||
|
assertTrue("Backup folder is empty. Contents: [$srcListing]", srcListing.contains("Loop Habits Backup"))
|
||||||
|
device.executeShellCommand("rm -rf $DOWNLOAD_FOLDER")
|
||||||
device.executeShellCommand("mv $BACKUP_FOLDER $DOWNLOAD_FOLDER")
|
device.executeShellCommand("mv $BACKUP_FOLDER $DOWNLOAD_FOLDER")
|
||||||
device.executeShellCommand("chown root $DOWNLOAD_FOLDER")
|
device.executeShellCommand("chown root $DOWNLOAD_FOLDER")
|
||||||
|
val dstListing = device.executeShellCommand("ls $DOWNLOAD_FOLDER")
|
||||||
|
assertTrue("Backup not found in download folder. Contents: [$dstListing]", dstListing.contains("Loop Habits Backup"))
|
||||||
}
|
}
|
||||||
|
|
||||||
fun selectPublicBackupFolder() {
|
fun selectPublicBackupFolder() {
|
||||||
@ -64,6 +69,12 @@ fun selectPublicBackupFolder() {
|
|||||||
prefs.edit().putString("publicBackupFolder", uri.toString()).commit()
|
prefs.edit().putString("publicBackupFolder", uri.toString()).commit()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun clearPublicBackupFolderSelection() {
|
||||||
|
val context = InstrumentationRegistry.getInstrumentation().targetContext
|
||||||
|
val prefs = PreferenceManager.getDefaultSharedPreferences(context)
|
||||||
|
prefs.edit().remove("publicBackupFolder").commit()
|
||||||
|
}
|
||||||
|
|
||||||
fun importBackupFromDownloadFolder() {
|
fun importBackupFromDownloadFolder() {
|
||||||
clickMenu(SETTINGS)
|
clickMenu(SETTINGS)
|
||||||
clickText("Import data")
|
clickText("Import data")
|
||||||
@ -110,6 +121,11 @@ fun verifyBackupInDownloadFolder() {
|
|||||||
assertTrue(listing.contains("Loop Habits Backup"))
|
assertTrue(listing.contains("Loop Habits Backup"))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun verifyBackupInBackupFolder() {
|
||||||
|
val listing = device.executeShellCommand("ls $BACKUP_FOLDER")
|
||||||
|
assertTrue(listing.contains("Loop Habits Backup"))
|
||||||
|
}
|
||||||
|
|
||||||
fun openLauncher() {
|
fun openLauncher() {
|
||||||
device.pressHome()
|
device.pressHome()
|
||||||
device.waitForIdle()
|
device.waitForIdle()
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user