Skip to content
Snippets Groups Projects
Unverified Commit 3b4476b5 authored by Matthias Urhahn's avatar Matthias Urhahn Committed by GitHub
Browse files

Reset vaccinations on data reset (#3154)

parent 6ecaaede
No related branches found
No related tags found
No related merge requests found
package de.rki.coronawarnapp.util package de.rki.coronawarnapp.util
import android.annotation.SuppressLint import android.annotation.SuppressLint
import android.content.Context
import de.rki.coronawarnapp.appconfig.AppConfigProvider import de.rki.coronawarnapp.appconfig.AppConfigProvider
import de.rki.coronawarnapp.bugreporting.BugReportingSettings import de.rki.coronawarnapp.bugreporting.BugReportingSettings
import de.rki.coronawarnapp.contactdiary.storage.ContactDiaryPreferences import de.rki.coronawarnapp.contactdiary.storage.ContactDiaryPreferences
...@@ -26,8 +25,8 @@ import de.rki.coronawarnapp.storage.TracingSettings ...@@ -26,8 +25,8 @@ import de.rki.coronawarnapp.storage.TracingSettings
import de.rki.coronawarnapp.submission.SubmissionRepository import de.rki.coronawarnapp.submission.SubmissionRepository
import de.rki.coronawarnapp.submission.SubmissionSettings import de.rki.coronawarnapp.submission.SubmissionSettings
import de.rki.coronawarnapp.ui.presencetracing.TraceLocationPreferences import de.rki.coronawarnapp.ui.presencetracing.TraceLocationPreferences
import de.rki.coronawarnapp.util.di.AppContext
import de.rki.coronawarnapp.vaccination.core.VaccinationPreferences import de.rki.coronawarnapp.vaccination.core.VaccinationPreferences
import de.rki.coronawarnapp.vaccination.core.repository.VaccinationRepository
import kotlinx.coroutines.sync.Mutex import kotlinx.coroutines.sync.Mutex
import kotlinx.coroutines.sync.withLock import kotlinx.coroutines.sync.withLock
import timber.log.Timber import timber.log.Timber
...@@ -40,7 +39,6 @@ import javax.inject.Singleton ...@@ -40,7 +39,6 @@ import javax.inject.Singleton
@Suppress("LongParameterList") @Suppress("LongParameterList")
@Singleton @Singleton
class DataReset @Inject constructor( class DataReset @Inject constructor(
@AppContext private val context: Context,
private val keyCacheRepository: KeyCacheRepository, private val keyCacheRepository: KeyCacheRepository,
private val appConfigProvider: AppConfigProvider, private val appConfigProvider: AppConfigProvider,
private val submissionRepository: SubmissionRepository, private val submissionRepository: SubmissionRepository,
...@@ -65,7 +63,8 @@ class DataReset @Inject constructor( ...@@ -65,7 +63,8 @@ class DataReset @Inject constructor(
private val traceWarningRepository: TraceWarningRepository, private val traceWarningRepository: TraceWarningRepository,
private val coronaTestRepository: CoronaTestRepository, private val coronaTestRepository: CoronaTestRepository,
private val ratProfileSettings: RATProfileSettings, private val ratProfileSettings: RATProfileSettings,
private val vaccinationPreferences: VaccinationPreferences private val vaccinationPreferences: VaccinationPreferences,
private val vaccinationRepository: VaccinationRepository,
) { ) {
private val mutex = Mutex() private val mutex = Mutex()
...@@ -89,7 +88,7 @@ class DataReset @Inject constructor( ...@@ -89,7 +88,7 @@ class DataReset @Inject constructor(
riskLevelStorage.clear() riskLevelStorage.clear()
contactDiaryPreferences.clear() contactDiaryPreferences.clear()
traceLocationPreferences.clear() traceLocationPreferences.clear()
vaccinationPreferences.clear()
cwaSettings.clear() cwaSettings.clear()
surveySettings.clear() surveySettings.clear()
analyticsSettings.clear() analyticsSettings.clear()
...@@ -111,6 +110,9 @@ class DataReset @Inject constructor( ...@@ -111,6 +110,9 @@ class DataReset @Inject constructor(
coronaTestRepository.clear() coronaTestRepository.clear()
ratProfileSettings.deleteProfile() ratProfileSettings.deleteProfile()
vaccinationRepository.clear()
vaccinationPreferences.clear()
Timber.w("CWA LOCAL DATA DELETION COMPLETED.") Timber.w("CWA LOCAL DATA DELETION COMPLETED.")
} }
} }
package de.rki.coronawarnapp.util package de.rki.coronawarnapp.util
import android.content.Context
import de.rki.coronawarnapp.appconfig.AppConfigProvider import de.rki.coronawarnapp.appconfig.AppConfigProvider
import de.rki.coronawarnapp.bugreporting.BugReportingSettings import de.rki.coronawarnapp.bugreporting.BugReportingSettings
import de.rki.coronawarnapp.contactdiary.storage.ContactDiaryPreferences import de.rki.coronawarnapp.contactdiary.storage.ContactDiaryPreferences
...@@ -25,6 +24,7 @@ import de.rki.coronawarnapp.storage.TracingSettings ...@@ -25,6 +24,7 @@ import de.rki.coronawarnapp.storage.TracingSettings
import de.rki.coronawarnapp.submission.SubmissionRepository import de.rki.coronawarnapp.submission.SubmissionRepository
import de.rki.coronawarnapp.submission.SubmissionSettings import de.rki.coronawarnapp.submission.SubmissionSettings
import de.rki.coronawarnapp.ui.presencetracing.TraceLocationPreferences import de.rki.coronawarnapp.ui.presencetracing.TraceLocationPreferences
import de.rki.coronawarnapp.vaccination.core.repository.VaccinationRepository
import de.rki.coronawarnapp.vaccination.core.VaccinationPreferences import de.rki.coronawarnapp.vaccination.core.VaccinationPreferences
import io.mockk.MockKAnnotations import io.mockk.MockKAnnotations
import io.mockk.coVerify import io.mockk.coVerify
...@@ -36,7 +36,6 @@ import testhelpers.BaseTest ...@@ -36,7 +36,6 @@ import testhelpers.BaseTest
internal class DataResetTest : BaseTest() { internal class DataResetTest : BaseTest() {
@MockK lateinit var context: Context
@MockK lateinit var keyCacheRepository: KeyCacheRepository @MockK lateinit var keyCacheRepository: KeyCacheRepository
@MockK lateinit var appConfigProvider: AppConfigProvider @MockK lateinit var appConfigProvider: AppConfigProvider
@MockK lateinit var submissionRepository: SubmissionRepository @MockK lateinit var submissionRepository: SubmissionRepository
...@@ -46,7 +45,6 @@ internal class DataResetTest : BaseTest() { ...@@ -46,7 +45,6 @@ internal class DataResetTest : BaseTest() {
@MockK lateinit var contactDiaryRepository: ContactDiaryRepository @MockK lateinit var contactDiaryRepository: ContactDiaryRepository
@MockK lateinit var contactDiaryPreferences: ContactDiaryPreferences @MockK lateinit var contactDiaryPreferences: ContactDiaryPreferences
@MockK lateinit var traceLocationPreferences: TraceLocationPreferences @MockK lateinit var traceLocationPreferences: TraceLocationPreferences
@MockK lateinit var vaccinationPreferences: VaccinationPreferences
@MockK lateinit var cwaSettings: CWASettings @MockK lateinit var cwaSettings: CWASettings
@MockK lateinit var statisticsProvider: StatisticsProvider @MockK lateinit var statisticsProvider: StatisticsProvider
@MockK lateinit var surveySettings: SurveySettings @MockK lateinit var surveySettings: SurveySettings
...@@ -62,6 +60,8 @@ internal class DataResetTest : BaseTest() { ...@@ -62,6 +60,8 @@ internal class DataResetTest : BaseTest() {
@MockK lateinit var traceLocationSettings: TraceLocationSettings @MockK lateinit var traceLocationSettings: TraceLocationSettings
@MockK lateinit var coronaTestRepository: CoronaTestRepository @MockK lateinit var coronaTestRepository: CoronaTestRepository
@MockK lateinit var ratProfileSettings: RATProfileSettings @MockK lateinit var ratProfileSettings: RATProfileSettings
@MockK lateinit var vaccinationRepository: VaccinationRepository
@MockK lateinit var vaccinationPreferences: VaccinationPreferences
@BeforeEach @BeforeEach
fun setUp() { fun setUp() {
...@@ -69,7 +69,6 @@ internal class DataResetTest : BaseTest() { ...@@ -69,7 +69,6 @@ internal class DataResetTest : BaseTest() {
} }
fun createInstance() = DataReset( fun createInstance() = DataReset(
context = context,
keyCacheRepository = keyCacheRepository, keyCacheRepository = keyCacheRepository,
appConfigProvider = appConfigProvider, appConfigProvider = appConfigProvider,
submissionRepository = submissionRepository, submissionRepository = submissionRepository,
...@@ -94,41 +93,41 @@ internal class DataResetTest : BaseTest() { ...@@ -94,41 +93,41 @@ internal class DataResetTest : BaseTest() {
traceWarningRepository = traceWarningRepository, traceWarningRepository = traceWarningRepository,
coronaTestRepository = coronaTestRepository, coronaTestRepository = coronaTestRepository,
ratProfileSettings = ratProfileSettings, ratProfileSettings = ratProfileSettings,
vaccinationPreferences = vaccinationPreferences vaccinationPreferences = vaccinationPreferences,
vaccinationRepository = vaccinationRepository,
) )
@Test @Test
fun `clearAllLocalData() should clear all data`() = runBlockingTest { fun `clearAllLocalData() should clear all data`() = runBlockingTest {
createInstance().clearAllLocalData() createInstance().clearAllLocalData()
coVerify(exactly = 1) { analytics.setAnalyticsEnabled(false) } coVerify(exactly = 1) {
analytics.setAnalyticsEnabled(false)
coVerify(exactly = 1) { submissionRepository.reset() } submissionRepository.reset()
coVerify(exactly = 1) { keyCacheRepository.clear() } keyCacheRepository.clear()
coVerify(exactly = 1) { appConfigProvider.clear() } appConfigProvider.clear()
coVerify(exactly = 1) { exposureDetectionTracker.clear() } exposureDetectionTracker.clear()
coVerify(exactly = 1) { downloadDiagnosisKeysSettings.clear() } downloadDiagnosisKeysSettings.clear()
coVerify(exactly = 1) { riskLevelStorage.clear() } riskLevelStorage.clear()
coVerify(exactly = 1) { contactDiaryPreferences.clear() } contactDiaryPreferences.clear()
coVerify(exactly = 1) { traceLocationPreferences.clear() } traceLocationPreferences.clear()
coVerify(exactly = 1) { vaccinationPreferences.clear() } cwaSettings.clear()
coVerify(exactly = 1) { cwaSettings.clear() } surveySettings.clear()
coVerify(exactly = 1) { surveySettings.clear() } analyticsSettings.clear()
coVerify(exactly = 1) { analyticsSettings.clear() } tracingSettings.clear()
coVerify(exactly = 1) { tracingSettings.clear() } onboardingSettings.clear()
coVerify(exactly = 1) { onboardingSettings.clear() } submissionSettings.clear()
coVerify(exactly = 1) { submissionSettings.clear() } traceLocationSettings.clear()
coVerify(exactly = 1) { traceLocationSettings.clear() } contactDiaryRepository.clear()
statisticsProvider.clear()
coVerify(exactly = 1) { contactDiaryRepository.clear() } bugReportingSettings.clear()
traceWarningRepository.clear()
coVerify(exactly = 1) { statisticsProvider.clear() } traceLocationRepository.deleteAllTraceLocations()
checkInRepository.clear()
coVerify(exactly = 1) { bugReportingSettings.clear() } coronaTestRepository.clear()
coVerify(exactly = 1) { traceWarningRepository.clear() } ratProfileSettings.deleteProfile()
coVerify(exactly = 1) { traceLocationRepository.deleteAllTraceLocations() } vaccinationRepository.clear()
coVerify(exactly = 1) { checkInRepository.clear() } vaccinationPreferences.clear()
coVerify(exactly = 1) { coronaTestRepository.clear() } }
coVerify(exactly = 1) { ratProfileSettings.deleteProfile() }
} }
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment