diff --git a/android/engine/src/test/java/org/smartregister/fhircore/engine/ConfigServiceTest.kt b/android/engine/src/test/java/org/smartregister/fhircore/engine/ConfigServiceTest.kt index d327f5f6b8..a1f363da3e 100644 --- a/android/engine/src/test/java/org/smartregister/fhircore/engine/ConfigServiceTest.kt +++ b/android/engine/src/test/java/org/smartregister/fhircore/engine/ConfigServiceTest.kt @@ -30,6 +30,7 @@ import org.junit.Rule import org.junit.Test import org.smartregister.fhircore.engine.app.AppConfigService import org.smartregister.fhircore.engine.robolectric.RobolectricTest +import org.smartregister.fhircore.engine.util.SecureSharedPreference import org.smartregister.fhircore.engine.util.SharedPreferenceKey import org.smartregister.fhircore.engine.util.SharedPreferencesHelper @@ -40,6 +41,8 @@ class ConfigServiceTest : RobolectricTest() { @Inject lateinit var gson: Gson + @Inject lateinit var secureSharedPreference: SecureSharedPreference + private val application = ApplicationProvider.getApplicationContext() private lateinit var sharedPreferencesHelper: SharedPreferencesHelper @@ -49,7 +52,7 @@ class ConfigServiceTest : RobolectricTest() { @Before fun setUp() { hiltRule.inject() - sharedPreferencesHelper = SharedPreferencesHelper(application, gson) + sharedPreferencesHelper = SharedPreferencesHelper(application, gson, secureSharedPreference) } @Test diff --git a/android/engine/src/test/java/org/smartregister/fhircore/engine/auth/TokenAuthenticatorTest.kt b/android/engine/src/test/java/org/smartregister/fhircore/engine/auth/TokenAuthenticatorTest.kt index 796928bacc..55421e47ca 100644 --- a/android/engine/src/test/java/org/smartregister/fhircore/engine/auth/TokenAuthenticatorTest.kt +++ b/android/engine/src/test/java/org/smartregister/fhircore/engine/auth/TokenAuthenticatorTest.kt @@ -368,7 +368,7 @@ class TokenAuthenticatorTest : RobolectricTest() { val secureSharedPreference = spyk(secureSharedPreference) every { secureSharedPreference.get256RandomBytes() } returns passwordSalt - secureSharedPreference.saveCredentials(sampleUsername, passwd.toCharArray()) + secureSharedPreference.saveMultiCredentials(sampleUsername, passwd.toCharArray()) val tokenAuthenticator = spyk( TokenAuthenticator( @@ -388,7 +388,7 @@ class TokenAuthenticatorTest : RobolectricTest() { @Test fun testFindAccountShouldReturnAnAccount() { - secureSharedPreference.saveCredentials(sampleUsername, "sirikali".toCharArray()) + secureSharedPreference.saveMultiCredentials(sampleUsername, "sirikali".toCharArray()) val account = Account(sampleUsername, PROVIDER) every { accountManager.getAccountsByType(any()) } returns arrayOf(account) val resultAccount = tokenAuthenticator.findCurrentLoggedInAccount() diff --git a/android/engine/src/test/java/org/smartregister/fhircore/engine/data/local/DefaultRepositoryTest.kt b/android/engine/src/test/java/org/smartregister/fhircore/engine/data/local/DefaultRepositoryTest.kt index 3de2d89ca7..a67e001d4b 100644 --- a/android/engine/src/test/java/org/smartregister/fhircore/engine/data/local/DefaultRepositoryTest.kt +++ b/android/engine/src/test/java/org/smartregister/fhircore/engine/data/local/DefaultRepositoryTest.kt @@ -93,6 +93,7 @@ import org.smartregister.fhircore.engine.domain.model.RuleConfig import org.smartregister.fhircore.engine.robolectric.RobolectricTest import org.smartregister.fhircore.engine.rulesengine.ConfigRulesExecutor import org.smartregister.fhircore.engine.util.DefaultDispatcherProvider +import org.smartregister.fhircore.engine.util.SecureSharedPreference import org.smartregister.fhircore.engine.util.SharedPreferencesHelper import org.smartregister.fhircore.engine.util.extension.asReference import org.smartregister.fhircore.engine.util.extension.formatDate @@ -117,6 +118,8 @@ class DefaultRepositoryTest : RobolectricTest() { @Inject lateinit var parser: IParser + @Inject lateinit var secureSharedPreference: SecureSharedPreference + @BindValue val configService: ConfigService = spyk(AppConfigService(ApplicationProvider.getApplicationContext())) @@ -131,7 +134,7 @@ class DefaultRepositoryTest : RobolectricTest() { fun setUp() { hiltRule.inject() dispatcherProvider = DefaultDispatcherProvider() - sharedPreferenceHelper = SharedPreferencesHelper(application, gson) + sharedPreferenceHelper = SharedPreferencesHelper(application, gson, secureSharedPreference) defaultRepository = DefaultRepository( fhirEngine = fhirEngine, diff --git a/android/engine/src/test/java/org/smartregister/fhircore/engine/util/SecureSharedPreferenceTest.kt b/android/engine/src/test/java/org/smartregister/fhircore/engine/util/SecureSharedPreferenceTest.kt index 9866da119a..b6f2e99c33 100644 --- a/android/engine/src/test/java/org/smartregister/fhircore/engine/util/SecureSharedPreferenceTest.kt +++ b/android/engine/src/test/java/org/smartregister/fhircore/engine/util/SecureSharedPreferenceTest.kt @@ -47,7 +47,10 @@ internal class SecureSharedPreferenceTest : RobolectricTest() { @Test fun testSaveCredentialsAndRetrieveSessionToken() { - secureSharedPreference.saveCredentials(username = "userName", password = "!@#$".toCharArray()) + secureSharedPreference.saveMultiCredentials( + username = "userName", + password = "!@#$".toCharArray() + ) Assert.assertEquals("userName", secureSharedPreference.retrieveSessionUsername()!!) } @@ -55,7 +58,10 @@ internal class SecureSharedPreferenceTest : RobolectricTest() { fun testRetrieveCredentials() { every { secureSharedPreference.get256RandomBytes() } returns byteArrayOf(-100, 0, 100, 101) - secureSharedPreference.saveCredentials(username = "userName", password = "!@#$".toCharArray()) + secureSharedPreference.saveMultiCredentials( + username = "userName", + password = "!@#$".toCharArray() + ) Assert.assertEquals("userName", secureSharedPreference.retrieveCredentials()!!.username) Assert.assertEquals( @@ -66,7 +72,10 @@ internal class SecureSharedPreferenceTest : RobolectricTest() { @Test fun testDeleteCredentialReturnsNull() { - secureSharedPreference.saveCredentials(username = "userName", password = "!@#$".toCharArray()) + secureSharedPreference.saveMultiCredentials( + username = "userName", + password = "!@#$".toCharArray() + ) Assert.assertNotNull(secureSharedPreference.retrieveCredentials()) secureSharedPreference.deleteCredentials() Assert.assertNull(secureSharedPreference.retrieveCredentials()) @@ -75,7 +84,8 @@ internal class SecureSharedPreferenceTest : RobolectricTest() { @Test fun testSaveAndRetrievePin() { every { secureSharedPreference.get256RandomBytes() } returns byteArrayOf(-100, 0, 100, 101) - secureSharedPreference.saveSessionPin(pin = "1234".toCharArray()) + val username = secureSharedPreference.retrieveSessionUsername()!! + secureSharedPreference.saveSessionPin(username, pin = "1234".toCharArray()) Assert.assertEquals( "1234".toCharArray().toPasswordHash(byteArrayOf(-100, 0, 100, 101)), secureSharedPreference.retrieveSessionPin(), @@ -87,8 +97,8 @@ internal class SecureSharedPreferenceTest : RobolectricTest() { @Test fun testResetSharedPrefsClearsData() { every { secureSharedPreference.get256RandomBytes() } returns byteArrayOf(-128, 100, 112, 127) - - secureSharedPreference.saveSessionPin(pin = "6699".toCharArray()) + val username = secureSharedPreference.retrieveSessionUsername()!! + secureSharedPreference.saveSessionPin(username, pin = "6699".toCharArray()) val retrievedSessionPin = secureSharedPreference.retrieveSessionPin() diff --git a/android/engine/src/test/java/org/smartregister/fhircore/engine/util/SharedPreferencesHelperTest.kt b/android/engine/src/test/java/org/smartregister/fhircore/engine/util/SharedPreferencesHelperTest.kt index f439645ea8..39ab5633a8 100644 --- a/android/engine/src/test/java/org/smartregister/fhircore/engine/util/SharedPreferencesHelperTest.kt +++ b/android/engine/src/test/java/org/smartregister/fhircore/engine/util/SharedPreferencesHelperTest.kt @@ -40,10 +40,12 @@ internal class SharedPreferencesHelperTest : RobolectricTest() { @Inject lateinit var gson: Gson + @Inject lateinit var secureSharedPreference: SecureSharedPreference + @Before fun setUp() { hiltRule.inject() - sharedPreferencesHelper = SharedPreferencesHelper(application, gson) + sharedPreferencesHelper = SharedPreferencesHelper(application, gson, secureSharedPreference) } @Test