From 6b3afa215eb0ee02c3f93163096a40ce3d888ede Mon Sep 17 00:00:00 2001 From: Mildrette Date: Wed, 20 May 2026 11:32:24 +0100 Subject: [PATCH 1/2] added test for security extension function --- .../sw0b_001/SecurityExtensionsTest.kt | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 app/src/androidTest/java/com/example/sw0b_001/SecurityExtensionsTest.kt 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..3f6b3b4e --- /dev/null +++ b/app/src/androidTest/java/com/example/sw0b_001/SecurityExtensionsTest.kt @@ -0,0 +1,34 @@ +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 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)) + } +} \ No newline at end of file From 934c2b7335e01df04f59068fc020453f52a21a63 Mon Sep 17 00:00:00 2001 From: Mildrette Date: Wed, 20 May 2026 11:45:28 +0100 Subject: [PATCH 2/2] Safely saving and loading encrypted database passwords --- .../example/sw0b_001/SecurityExtensionsTest.kt | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/app/src/androidTest/java/com/example/sw0b_001/SecurityExtensionsTest.kt b/app/src/androidTest/java/com/example/sw0b_001/SecurityExtensionsTest.kt index 3f6b3b4e..90a6d00b 100644 --- a/app/src/androidTest/java/com/example/sw0b_001/SecurityExtensionsTest.kt +++ b/app/src/androidTest/java/com/example/sw0b_001/SecurityExtensionsTest.kt @@ -4,6 +4,8 @@ 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 @@ -31,4 +33,20 @@ class SecurityExtensionsTest { 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