test: update MigrationsTest to run on JVM
Signed-off-by: Aditya Wasan <adityawasan55@gmail.com>
This commit is contained in:
parent
c3f8de99be
commit
d45bb753cf
1 changed files with 45 additions and 31 deletions
|
@ -2,12 +2,12 @@
|
|||
* Copyright © 2014-2021 The Android Password Store Authors. All Rights Reserved.
|
||||
* SPDX-License-Identifier: GPL-3.0-only
|
||||
*/
|
||||
|
||||
@file:Suppress("DEPRECATION")
|
||||
|
||||
package dev.msfjarvis.aps.util.settings
|
||||
|
||||
import android.content.Context
|
||||
import android.content.SharedPreferences
|
||||
import androidx.core.content.edit
|
||||
import com.github.ivanshafran.sharedpreferencesmock.SPMockBuilder
|
||||
import dev.msfjarvis.aps.util.extensions.getString
|
||||
|
@ -15,12 +15,32 @@ import dev.msfjarvis.aps.util.extensions.sharedPrefs
|
|||
import org.junit.Assert.assertEquals
|
||||
import org.junit.Assert.assertFalse
|
||||
import org.junit.Assert.assertNull
|
||||
import org.junit.Before
|
||||
import org.junit.Rule
|
||||
import org.junit.Test
|
||||
import org.junit.rules.TemporaryFolder
|
||||
|
||||
class MigrationsTest {
|
||||
|
||||
private fun checkOldKeysAreRemoved(context: Context) =
|
||||
with(context.sharedPrefs) {
|
||||
@get:Rule val tempFolder = TemporaryFolder()
|
||||
|
||||
private lateinit var context: Context
|
||||
private lateinit var filesDir: String
|
||||
private lateinit var sharedPrefs: SharedPreferences
|
||||
private lateinit var encryptedSharedPreferences: SharedPreferences
|
||||
private lateinit var proxySharedPreferences: SharedPreferences
|
||||
|
||||
@Before
|
||||
fun setup() {
|
||||
context = SPMockBuilder().createContext()
|
||||
filesDir = tempFolder.root.path
|
||||
sharedPrefs = SPMockBuilder().createSharedPreferences()
|
||||
encryptedSharedPreferences = SPMockBuilder().createSharedPreferences()
|
||||
proxySharedPreferences = SPMockBuilder().createSharedPreferences()
|
||||
}
|
||||
|
||||
private fun checkOldKeysAreRemoved() =
|
||||
with(sharedPrefs) {
|
||||
assertNull(getString(PreferenceKeys.GIT_REMOTE_PORT))
|
||||
assertNull(getString(PreferenceKeys.GIT_REMOTE_USERNAME))
|
||||
assertNull(getString(PreferenceKeys.GIT_REMOTE_SERVER))
|
||||
|
@ -30,8 +50,7 @@ class MigrationsTest {
|
|||
|
||||
@Test
|
||||
fun verifySshWithCustomPortMigration() {
|
||||
val context = SPMockBuilder().createContext()
|
||||
context.sharedPrefs.edit {
|
||||
sharedPrefs.edit {
|
||||
clear()
|
||||
putString(PreferenceKeys.GIT_REMOTE_PORT, "2200")
|
||||
putString(PreferenceKeys.GIT_REMOTE_USERNAME, "msfjarvis")
|
||||
|
@ -40,18 +59,17 @@ class MigrationsTest {
|
|||
putString(PreferenceKeys.GIT_REMOTE_PROTOCOL, Protocol.Ssh.pref)
|
||||
putString(PreferenceKeys.GIT_REMOTE_AUTH, AuthMode.Password.pref)
|
||||
}
|
||||
runMigrations(context)
|
||||
checkOldKeysAreRemoved(context)
|
||||
runMigrations(filesDir, sharedPrefs, GitSettings(sharedPrefs, encryptedSharedPreferences, proxySharedPreferences, filesDir))
|
||||
checkOldKeysAreRemoved()
|
||||
assertEquals(
|
||||
context.sharedPrefs.getString(PreferenceKeys.GIT_REMOTE_URL),
|
||||
sharedPrefs.getString(PreferenceKeys.GIT_REMOTE_URL),
|
||||
"ssh://msfjarvis@192.168.0.102:2200/mnt/disk3/pass-repo"
|
||||
)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun verifySshWithDefaultPortMigration() {
|
||||
val context = SPMockBuilder().createContext()
|
||||
context.sharedPrefs.edit {
|
||||
sharedPrefs.edit {
|
||||
clear()
|
||||
putString(PreferenceKeys.GIT_REMOTE_USERNAME, "msfjarvis")
|
||||
putString(PreferenceKeys.GIT_REMOTE_LOCATION, "/mnt/disk3/pass-repo")
|
||||
|
@ -59,18 +77,17 @@ class MigrationsTest {
|
|||
putString(PreferenceKeys.GIT_REMOTE_PROTOCOL, Protocol.Ssh.pref)
|
||||
putString(PreferenceKeys.GIT_REMOTE_AUTH, AuthMode.SshKey.pref)
|
||||
}
|
||||
runMigrations(context)
|
||||
runMigrations(filesDir, sharedPrefs, GitSettings(sharedPrefs, encryptedSharedPreferences, proxySharedPreferences, filesDir))
|
||||
checkOldKeysAreRemoved(context)
|
||||
assertEquals(
|
||||
context.sharedPrefs.getString(PreferenceKeys.GIT_REMOTE_URL),
|
||||
sharedPrefs.getString(PreferenceKeys.GIT_REMOTE_URL),
|
||||
"msfjarvis@192.168.0.102:/mnt/disk3/pass-repo"
|
||||
)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun verifyHttpsWithGitHubMigration() {
|
||||
val context = SPMockBuilder().createContext()
|
||||
context.sharedPrefs.edit {
|
||||
sharedPrefs.edit {
|
||||
clear()
|
||||
putString(PreferenceKeys.GIT_REMOTE_USERNAME, "msfjarvis")
|
||||
putString(PreferenceKeys.GIT_REMOTE_LOCATION, "Android-Password-Store/pass-test")
|
||||
|
@ -78,47 +95,44 @@ class MigrationsTest {
|
|||
putString(PreferenceKeys.GIT_REMOTE_PROTOCOL, Protocol.Https.pref)
|
||||
putString(PreferenceKeys.GIT_REMOTE_AUTH, AuthMode.None.pref)
|
||||
}
|
||||
runMigrations(context)
|
||||
runMigrations(filesDir, sharedPrefs, GitSettings(sharedPrefs, encryptedSharedPreferences, proxySharedPreferences, filesDir))
|
||||
checkOldKeysAreRemoved(context)
|
||||
assertEquals(
|
||||
context.sharedPrefs.getString(PreferenceKeys.GIT_REMOTE_URL),
|
||||
sharedPrefs.getString(PreferenceKeys.GIT_REMOTE_URL),
|
||||
"https://github.com/Android-Password-Store/pass-test"
|
||||
)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun verifyHiddenFoldersMigrationIfDisabled() {
|
||||
val context = SPMockBuilder().createContext()
|
||||
context.sharedPrefs.edit { clear() }
|
||||
runMigrations(context)
|
||||
assertEquals(true, context.sharedPrefs.getBoolean(PreferenceKeys.SHOW_HIDDEN_FOLDERS, true))
|
||||
assertEquals(false, context.sharedPrefs.getBoolean(PreferenceKeys.SHOW_HIDDEN_CONTENTS, false))
|
||||
sharedPrefs.edit { clear() }
|
||||
runMigrations(filesDir, sharedPrefs, GitSettings(sharedPrefs, encryptedSharedPreferences, proxySharedPreferences, filesDir))
|
||||
assertEquals(true, sharedPrefs.getBoolean(PreferenceKeys.SHOW_HIDDEN_FOLDERS, true))
|
||||
assertEquals(false, sharedPrefs.getBoolean(PreferenceKeys.SHOW_HIDDEN_CONTENTS, false))
|
||||
}
|
||||
|
||||
@Test
|
||||
fun verifyHiddenFoldersMigrationIfEnabled() {
|
||||
val context = SPMockBuilder().createContext()
|
||||
context.sharedPrefs.edit {
|
||||
sharedPrefs.edit {
|
||||
clear()
|
||||
putBoolean(PreferenceKeys.SHOW_HIDDEN_FOLDERS, true)
|
||||
}
|
||||
runMigrations(context)
|
||||
assertEquals(false, context.sharedPrefs.getBoolean(PreferenceKeys.SHOW_HIDDEN_FOLDERS, false))
|
||||
assertEquals(true, context.sharedPrefs.getBoolean(PreferenceKeys.SHOW_HIDDEN_CONTENTS, false))
|
||||
runMigrations(filesDir, sharedPrefs, GitSettings(sharedPrefs, encryptedSharedPreferences, proxySharedPreferences, filesDir))
|
||||
assertEquals(false, sharedPrefs.getBoolean(PreferenceKeys.SHOW_HIDDEN_FOLDERS, false))
|
||||
assertEquals(true, sharedPrefs.getBoolean(PreferenceKeys.SHOW_HIDDEN_CONTENTS, false))
|
||||
}
|
||||
|
||||
@Test
|
||||
fun verifyClearClipboardHistoryMigration() {
|
||||
val context = SPMockBuilder().createContext()
|
||||
context.sharedPrefs.edit {
|
||||
sharedPrefs.edit {
|
||||
clear()
|
||||
putBoolean(PreferenceKeys.CLEAR_CLIPBOARD_20X, true)
|
||||
}
|
||||
runMigrations(context)
|
||||
runMigrations(filesDir, sharedPrefs, GitSettings(sharedPrefs, encryptedSharedPreferences, proxySharedPreferences, filesDir))
|
||||
assertEquals(
|
||||
true,
|
||||
context.sharedPrefs.getBoolean(PreferenceKeys.CLEAR_CLIPBOARD_HISTORY, false)
|
||||
sharedPrefs.getBoolean(PreferenceKeys.CLEAR_CLIPBOARD_HISTORY, false)
|
||||
)
|
||||
assertFalse(context.sharedPrefs.contains(PreferenceKeys.CLEAR_CLIPBOARD_20X))
|
||||
assertFalse(sharedPrefs.contains(PreferenceKeys.CLEAR_CLIPBOARD_20X))
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue