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
import android.annotation.SuppressLint
import android.content.Context
import de.rki.coronawarnapp.appconfig.AppConfigProvider
import de.rki.coronawarnapp.bugreporting.BugReportingSettings
import de.rki.coronawarnapp.contactdiary.storage.ContactDiaryPreferences
......@@ -26,8 +25,8 @@ import de.rki.coronawarnapp.storage.TracingSettings
import de.rki.coronawarnapp.submission.SubmissionRepository
import de.rki.coronawarnapp.submission.SubmissionSettings
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.repository.VaccinationRepository
import kotlinx.coroutines.sync.Mutex
import kotlinx.coroutines.sync.withLock
import timber.log.Timber
......@@ -40,7 +39,6 @@ import javax.inject.Singleton
@Suppress("LongParameterList")
@Singleton
class DataReset @Inject constructor(
@AppContext private val context: Context,
private val keyCacheRepository: KeyCacheRepository,
private val appConfigProvider: AppConfigProvider,
private val submissionRepository: SubmissionRepository,
......@@ -65,7 +63,8 @@ class DataReset @Inject constructor(
private val traceWarningRepository: TraceWarningRepository,
private val coronaTestRepository: CoronaTestRepository,
private val ratProfileSettings: RATProfileSettings,
private val vaccinationPreferences: VaccinationPreferences
private val vaccinationPreferences: VaccinationPreferences,
private val vaccinationRepository: VaccinationRepository,
) {
private val mutex = Mutex()
......@@ -89,7 +88,7 @@ class DataReset @Inject constructor(
riskLevelStorage.clear()
contactDiaryPreferences.clear()
traceLocationPreferences.clear()
vaccinationPreferences.clear()
cwaSettings.clear()
surveySettings.clear()
analyticsSettings.clear()
......@@ -111,6 +110,9 @@ class DataReset @Inject constructor(
coronaTestRepository.clear()
ratProfileSettings.deleteProfile()
vaccinationRepository.clear()
vaccinationPreferences.clear()
Timber.w("CWA LOCAL DATA DELETION COMPLETED.")
}
}
package de.rki.coronawarnapp.util
import android.content.Context
import de.rki.coronawarnapp.appconfig.AppConfigProvider
import de.rki.coronawarnapp.bugreporting.BugReportingSettings
import de.rki.coronawarnapp.contactdiary.storage.ContactDiaryPreferences
......@@ -25,6 +24,7 @@ import de.rki.coronawarnapp.storage.TracingSettings
import de.rki.coronawarnapp.submission.SubmissionRepository
import de.rki.coronawarnapp.submission.SubmissionSettings
import de.rki.coronawarnapp.ui.presencetracing.TraceLocationPreferences
import de.rki.coronawarnapp.vaccination.core.repository.VaccinationRepository
import de.rki.coronawarnapp.vaccination.core.VaccinationPreferences
import io.mockk.MockKAnnotations
import io.mockk.coVerify
......@@ -36,7 +36,6 @@ import testhelpers.BaseTest
internal class DataResetTest : BaseTest() {
@MockK lateinit var context: Context
@MockK lateinit var keyCacheRepository: KeyCacheRepository
@MockK lateinit var appConfigProvider: AppConfigProvider
@MockK lateinit var submissionRepository: SubmissionRepository
......@@ -46,7 +45,6 @@ internal class DataResetTest : BaseTest() {
@MockK lateinit var contactDiaryRepository: ContactDiaryRepository
@MockK lateinit var contactDiaryPreferences: ContactDiaryPreferences
@MockK lateinit var traceLocationPreferences: TraceLocationPreferences
@MockK lateinit var vaccinationPreferences: VaccinationPreferences
@MockK lateinit var cwaSettings: CWASettings
@MockK lateinit var statisticsProvider: StatisticsProvider
@MockK lateinit var surveySettings: SurveySettings
......@@ -62,6 +60,8 @@ internal class DataResetTest : BaseTest() {
@MockK lateinit var traceLocationSettings: TraceLocationSettings
@MockK lateinit var coronaTestRepository: CoronaTestRepository
@MockK lateinit var ratProfileSettings: RATProfileSettings
@MockK lateinit var vaccinationRepository: VaccinationRepository
@MockK lateinit var vaccinationPreferences: VaccinationPreferences
@BeforeEach
fun setUp() {
......@@ -69,7 +69,6 @@ internal class DataResetTest : BaseTest() {
}
fun createInstance() = DataReset(
context = context,
keyCacheRepository = keyCacheRepository,
appConfigProvider = appConfigProvider,
submissionRepository = submissionRepository,
......@@ -94,41 +93,41 @@ internal class DataResetTest : BaseTest() {
traceWarningRepository = traceWarningRepository,
coronaTestRepository = coronaTestRepository,
ratProfileSettings = ratProfileSettings,
vaccinationPreferences = vaccinationPreferences
vaccinationPreferences = vaccinationPreferences,
vaccinationRepository = vaccinationRepository,
)
@Test
fun `clearAllLocalData() should clear all data`() = runBlockingTest {
createInstance().clearAllLocalData()
coVerify(exactly = 1) { analytics.setAnalyticsEnabled(false) }
coVerify(exactly = 1) { submissionRepository.reset() }
coVerify(exactly = 1) { keyCacheRepository.clear() }
coVerify(exactly = 1) { appConfigProvider.clear() }
coVerify(exactly = 1) { exposureDetectionTracker.clear() }
coVerify(exactly = 1) { downloadDiagnosisKeysSettings.clear() }
coVerify(exactly = 1) { riskLevelStorage.clear() }
coVerify(exactly = 1) { contactDiaryPreferences.clear() }
coVerify(exactly = 1) { traceLocationPreferences.clear() }
coVerify(exactly = 1) { vaccinationPreferences.clear() }
coVerify(exactly = 1) { cwaSettings.clear() }
coVerify(exactly = 1) { surveySettings.clear() }
coVerify(exactly = 1) { analyticsSettings.clear() }
coVerify(exactly = 1) { tracingSettings.clear() }
coVerify(exactly = 1) { onboardingSettings.clear() }
coVerify(exactly = 1) { submissionSettings.clear() }
coVerify(exactly = 1) { traceLocationSettings.clear() }
coVerify(exactly = 1) { contactDiaryRepository.clear() }
coVerify(exactly = 1) { statisticsProvider.clear() }
coVerify(exactly = 1) { bugReportingSettings.clear() }
coVerify(exactly = 1) { traceWarningRepository.clear() }
coVerify(exactly = 1) { traceLocationRepository.deleteAllTraceLocations() }
coVerify(exactly = 1) { checkInRepository.clear() }
coVerify(exactly = 1) { coronaTestRepository.clear() }
coVerify(exactly = 1) { ratProfileSettings.deleteProfile() }
coVerify(exactly = 1) {
analytics.setAnalyticsEnabled(false)
submissionRepository.reset()
keyCacheRepository.clear()
appConfigProvider.clear()
exposureDetectionTracker.clear()
downloadDiagnosisKeysSettings.clear()
riskLevelStorage.clear()
contactDiaryPreferences.clear()
traceLocationPreferences.clear()
cwaSettings.clear()
surveySettings.clear()
analyticsSettings.clear()
tracingSettings.clear()
onboardingSettings.clear()
submissionSettings.clear()
traceLocationSettings.clear()
contactDiaryRepository.clear()
statisticsProvider.clear()
bugReportingSettings.clear()
traceWarningRepository.clear()
traceLocationRepository.deleteAllTraceLocations()
checkInRepository.clear()
coronaTestRepository.clear()
ratProfileSettings.deleteProfile()
vaccinationRepository.clear()
vaccinationPreferences.clear()
}
}
}
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