From 766bd3a1c71aec881e733d290cac060cb998f636 Mon Sep 17 00:00:00 2001 From: Aayush Gupta Date: Mon, 19 Aug 2024 17:33:50 +0530 Subject: [PATCH] androidTest: Add tests for SpoofProvider Signed-off-by: Aayush Gupta --- .../store/data/providers/SpoofProviderTest.kt | 57 +++++++++++++++++++ .../store/data/providers/SpoofProvider.kt | 11 ++++ 2 files changed, 68 insertions(+) create mode 100644 app/src/androidTest/java/com/aurora/store/data/providers/SpoofProviderTest.kt diff --git a/app/src/androidTest/java/com/aurora/store/data/providers/SpoofProviderTest.kt b/app/src/androidTest/java/com/aurora/store/data/providers/SpoofProviderTest.kt new file mode 100644 index 000000000..b25498637 --- /dev/null +++ b/app/src/androidTest/java/com/aurora/store/data/providers/SpoofProviderTest.kt @@ -0,0 +1,57 @@ +package com.aurora.store.data.providers + +import androidx.test.ext.junit.runners.AndroidJUnit4 +import com.google.common.truth.Truth.assertThat +import dagger.hilt.android.testing.HiltAndroidRule +import dagger.hilt.android.testing.HiltAndroidTest +import java.util.Locale +import java.util.Properties +import javax.inject.Inject +import org.junit.After +import org.junit.Before +import org.junit.Rule +import org.junit.Test +import org.junit.runner.RunWith + +@HiltAndroidTest +@RunWith(AndroidJUnit4::class) +class SpoofProviderTest { + + @get:Rule + var hiltAndroidRule = HiltAndroidRule(this) + + @Inject + lateinit var spoofProvider: SpoofProvider + + @Before + fun setup() { + hiltAndroidRule.inject() + } + + @After + fun tearDown() { + spoofProvider.removeSpoofLocale() + spoofProvider.removeSpoofDeviceProperties() + } + + @Test + fun testSpoofingDeviceLocale() { + assertThat(spoofProvider.isLocaleSpoofEnabled()).isFalse() + + spoofProvider.setSpoofLocale(Locale.JAPAN) + assertThat(spoofProvider.isLocaleSpoofEnabled()).isTrue() + assertThat(spoofProvider.getSpoofLocale() == Locale.JAPAN).isTrue() + } + + @Test + fun testSpoofingDeviceProperties() { + assertThat(spoofProvider.isDeviceSpoofEnabled()).isFalse() + + val properties = Properties().apply { + setProperty("UserReadableName", "Test") + } + spoofProvider.setSpoofDeviceProperties(properties) + assertThat(spoofProvider.isDeviceSpoofEnabled()).isTrue() + assertThat(spoofProvider.getSpoofDeviceProperties() == properties).isTrue() + } +} diff --git a/app/src/main/java/com/aurora/store/data/providers/SpoofProvider.kt b/app/src/main/java/com/aurora/store/data/providers/SpoofProvider.kt index b378aea41..81d43d198 100644 --- a/app/src/main/java/com/aurora/store/data/providers/SpoofProvider.kt +++ b/app/src/main/java/com/aurora/store/data/providers/SpoofProvider.kt @@ -83,4 +83,15 @@ class SpoofProvider @Inject constructor( Preferences.putBoolean(context, DEVICE_SPOOF_ENABLED, true) Preferences.putString(context, DEVICE_SPOOF_PROPERTIES, gson.toJson(properties)) } + + fun removeSpoofLocale() { + Preferences.remove(context, LOCALE_SPOOF_ENABLED) + Preferences.remove(context, LOCALE_SPOOF_LANG) + Preferences.remove(context, LOCALE_SPOOF_COUNTRY) + } + + fun removeSpoofDeviceProperties() { + Preferences.remove(context, DEVICE_SPOOF_ENABLED) + Preferences.remove(context, DEVICE_SPOOF_PROPERTIES) + } }