diff --git a/app/src/androidTest/java/com/example/sw0b_001/SecurityExtensionsTest.kt b/app/src/androidTest/java/com/example/sw0b_001/SecurityExtensionsTest.kt new file mode 100644 index 00000000..90a6d00b --- /dev/null +++ b/app/src/androidTest/java/com/example/sw0b_001/SecurityExtensionsTest.kt @@ -0,0 +1,52 @@ +package com.example.sw0b_001 + +import android.content.Context +import androidx.test.core.app.ApplicationProvider +import androidx.test.ext.junit.runners.AndroidJUnit4 +import com.example.sw0b_001.extensions.context.generateSecureRandom +import com.example.sw0b_001.extensions.context.settingsGetDbPassword +import com.example.sw0b_001.extensions.context.settingsSetDbPassword +import org.junit.Assert.* +import org.junit.Test +import org.junit.runner.RunWith + +@RunWith(AndroidJUnit4::class) +class SecurityExtensionsTest { + + @Test + fun generateSecureRandom_returns32Bytes() { + + val context = ApplicationProvider.getApplicationContext() + + val result = context.generateSecureRandom() + + assertEquals(32, result.size) + } + + @Test + fun generateSecureRandom_returnsDifferentValues() { + + val context = ApplicationProvider.getApplicationContext() + + val first = context.generateSecureRandom() + val second = context.generateSecureRandom() + + assertFalse(first.contentEquals(second)) + } + + @Test + fun settingsSetDbPassword_savesAndReturnsPassword() { + + val context = ApplicationProvider.getApplicationContext() + + val password = "my_secret_password".toByteArray() + + context.settingsSetDbPassword(password) + + val savedPassword = context.settingsGetDbPassword + + assertNotNull(savedPassword) + + assertArrayEquals(password, savedPassword) + } +} \ No newline at end of file