From 5b2ae9c4732c5287c9616d50450a79f3956b3e38 Mon Sep 17 00:00:00 2001 From: Simon Marquis Date: Sun, 23 Jun 2024 13:02:22 +0200 Subject: [PATCH] Replace `:core:datastore-test` with `:core:datastore` testFixtures --- app/build.gradle.kts | 2 +- core/data/build.gradle.kts | 2 +- .../OfflineFirstNewsRepositoryTest.kt | 2 +- .../OfflineFirstTopicsRepositoryTest.kt | 2 +- .../OfflineFirstUserDataRepositoryTest.kt | 2 +- core/datastore-test/.gitignore | 1 - core/datastore-test/README.md | 3 - core/datastore-test/build.gradle.kts | 29 ---------- .../src/main/AndroidManifest.xml | 17 ------ core/datastore/build.gradle.kts | 7 ++- .../datastore/NiaPreferencesDataSourceTest.kt | 1 - .../core/datastore}/TestDataStoreModule.kt | 4 +- .../graphs/dep_graph_core_datastore_test.svg | 58 ------------------- settings.gradle.kts | 1 - 14 files changed, 12 insertions(+), 119 deletions(-) delete mode 100644 core/datastore-test/.gitignore delete mode 100644 core/datastore-test/README.md delete mode 100644 core/datastore-test/build.gradle.kts delete mode 100644 core/datastore-test/src/main/AndroidManifest.xml rename core/{datastore-test/src/main/kotlin/com/google/samples/apps/nowinandroid/core/datastore/test => datastore/src/testFixtures/kotlin/com/google/samples/apps/nowinandroid/core/datastore}/TestDataStoreModule.kt (89%) delete mode 100644 docs/images/graphs/dep_graph_core_datastore_test.svg diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 217544884..6c0225b41 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -124,12 +124,12 @@ dependencies { testDemoImplementation(testFixtures(projects.core.data)) androidTestImplementation(projects.core.testing) - androidTestImplementation(projects.core.datastoreTest) androidTestImplementation(libs.androidx.test.espresso.core) androidTestImplementation(libs.androidx.navigation.testing) androidTestImplementation(libs.androidx.compose.ui.test) androidTestImplementation(libs.hilt.android.testing) androidTestImplementation(testFixtures(projects.core.data)) + androidTestImplementation(testFixtures(projects.core.datastore)) baselineProfile(projects.benchmarks) } diff --git a/core/data/build.gradle.kts b/core/data/build.gradle.kts index 747a7ad90..c74546fcc 100644 --- a/core/data/build.gradle.kts +++ b/core/data/build.gradle.kts @@ -42,8 +42,8 @@ dependencies { testImplementation(libs.kotlinx.coroutines.test) testImplementation(libs.kotlinx.serialization.json) - testImplementation(projects.core.datastoreTest) testImplementation(projects.core.testing) + testImplementation(testFixtures(projects.core.datastore)) kspTestFixtures(libs.hilt.compiler) testFixturesImplementation(libs.hilt.android.testing) diff --git a/core/data/src/test/kotlin/com/google/samples/apps/nowinandroid/core/data/repository/OfflineFirstNewsRepositoryTest.kt b/core/data/src/test/kotlin/com/google/samples/apps/nowinandroid/core/data/repository/OfflineFirstNewsRepositoryTest.kt index 47c3996c4..358836610 100644 --- a/core/data/src/test/kotlin/com/google/samples/apps/nowinandroid/core/data/repository/OfflineFirstNewsRepositoryTest.kt +++ b/core/data/src/test/kotlin/com/google/samples/apps/nowinandroid/core/data/repository/OfflineFirstNewsRepositoryTest.kt @@ -32,7 +32,7 @@ import com.google.samples.apps.nowinandroid.core.database.model.PopulatedNewsRes import com.google.samples.apps.nowinandroid.core.database.model.TopicEntity import com.google.samples.apps.nowinandroid.core.database.model.asExternalModel import com.google.samples.apps.nowinandroid.core.datastore.NiaPreferencesDataSource -import com.google.samples.apps.nowinandroid.core.datastore.test.testUserPreferencesDataStore +import com.google.samples.apps.nowinandroid.core.datastore.testUserPreferencesDataStore import com.google.samples.apps.nowinandroid.core.model.data.NewsResource import com.google.samples.apps.nowinandroid.core.model.data.Topic import com.google.samples.apps.nowinandroid.core.network.model.NetworkChangeList diff --git a/core/data/src/test/kotlin/com/google/samples/apps/nowinandroid/core/data/repository/OfflineFirstTopicsRepositoryTest.kt b/core/data/src/test/kotlin/com/google/samples/apps/nowinandroid/core/data/repository/OfflineFirstTopicsRepositoryTest.kt index 3bd314eae..3ba095b81 100644 --- a/core/data/src/test/kotlin/com/google/samples/apps/nowinandroid/core/data/repository/OfflineFirstTopicsRepositoryTest.kt +++ b/core/data/src/test/kotlin/com/google/samples/apps/nowinandroid/core/data/repository/OfflineFirstTopicsRepositoryTest.kt @@ -25,7 +25,7 @@ import com.google.samples.apps.nowinandroid.core.database.dao.TopicDao import com.google.samples.apps.nowinandroid.core.database.model.TopicEntity import com.google.samples.apps.nowinandroid.core.database.model.asExternalModel import com.google.samples.apps.nowinandroid.core.datastore.NiaPreferencesDataSource -import com.google.samples.apps.nowinandroid.core.datastore.test.testUserPreferencesDataStore +import com.google.samples.apps.nowinandroid.core.datastore.testUserPreferencesDataStore import com.google.samples.apps.nowinandroid.core.model.data.Topic import com.google.samples.apps.nowinandroid.core.network.model.NetworkTopic import kotlinx.coroutines.flow.first diff --git a/core/data/src/test/kotlin/com/google/samples/apps/nowinandroid/core/data/repository/OfflineFirstUserDataRepositoryTest.kt b/core/data/src/test/kotlin/com/google/samples/apps/nowinandroid/core/data/repository/OfflineFirstUserDataRepositoryTest.kt index 422e2cfb7..7f6deedeb 100644 --- a/core/data/src/test/kotlin/com/google/samples/apps/nowinandroid/core/data/repository/OfflineFirstUserDataRepositoryTest.kt +++ b/core/data/src/test/kotlin/com/google/samples/apps/nowinandroid/core/data/repository/OfflineFirstUserDataRepositoryTest.kt @@ -18,7 +18,7 @@ package com.google.samples.apps.nowinandroid.core.data.repository import com.google.samples.apps.nowinandroid.core.analytics.NoOpAnalyticsHelper import com.google.samples.apps.nowinandroid.core.datastore.NiaPreferencesDataSource -import com.google.samples.apps.nowinandroid.core.datastore.test.testUserPreferencesDataStore +import com.google.samples.apps.nowinandroid.core.datastore.testUserPreferencesDataStore import com.google.samples.apps.nowinandroid.core.model.data.DarkThemeConfig import com.google.samples.apps.nowinandroid.core.model.data.ThemeBrand import com.google.samples.apps.nowinandroid.core.model.data.UserData diff --git a/core/datastore-test/.gitignore b/core/datastore-test/.gitignore deleted file mode 100644 index 42afabfd2..000000000 --- a/core/datastore-test/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/build \ No newline at end of file diff --git a/core/datastore-test/README.md b/core/datastore-test/README.md deleted file mode 100644 index 99cf13f1f..000000000 --- a/core/datastore-test/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# :core:datastore-test module -## Dependency graph -![Dependency graph](../../docs/images/graphs/dep_graph_core_datastore_test.svg) diff --git a/core/datastore-test/build.gradle.kts b/core/datastore-test/build.gradle.kts deleted file mode 100644 index 53e5e2c0c..000000000 --- a/core/datastore-test/build.gradle.kts +++ /dev/null @@ -1,29 +0,0 @@ -/* - * Copyright 2022 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -plugins { - alias(libs.plugins.nowinandroid.android.library) - alias(libs.plugins.nowinandroid.android.hilt) -} - -android { - namespace = "com.google.samples.apps.nowinandroid.core.datastore.test" -} - -dependencies { - implementation(libs.hilt.android.testing) - implementation(projects.core.common) - implementation(projects.core.datastore) -} diff --git a/core/datastore-test/src/main/AndroidManifest.xml b/core/datastore-test/src/main/AndroidManifest.xml deleted file mode 100644 index 51d0cfc2e..000000000 --- a/core/datastore-test/src/main/AndroidManifest.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - \ No newline at end of file diff --git a/core/datastore/build.gradle.kts b/core/datastore/build.gradle.kts index 34ea5ee78..3059b6a5b 100644 --- a/core/datastore/build.gradle.kts +++ b/core/datastore/build.gradle.kts @@ -30,6 +30,7 @@ android { isReturnDefaultValues = true } } + testFixtures.enable = true } dependencies { @@ -39,6 +40,10 @@ dependencies { implementation(projects.core.common) - testImplementation(projects.core.datastoreTest) testImplementation(libs.kotlinx.coroutines.test) + + kspTestFixtures(libs.hilt.compiler) + testFixturesImplementation(libs.hilt.android.testing) + testFixturesImplementation(projects.core.common) + testFixturesImplementation(projects.core.datastore) } diff --git a/core/datastore/src/test/kotlin/com/google/samples/apps/nowinandroid/core/datastore/NiaPreferencesDataSourceTest.kt b/core/datastore/src/test/kotlin/com/google/samples/apps/nowinandroid/core/datastore/NiaPreferencesDataSourceTest.kt index 433812808..db8785694 100644 --- a/core/datastore/src/test/kotlin/com/google/samples/apps/nowinandroid/core/datastore/NiaPreferencesDataSourceTest.kt +++ b/core/datastore/src/test/kotlin/com/google/samples/apps/nowinandroid/core/datastore/NiaPreferencesDataSourceTest.kt @@ -16,7 +16,6 @@ package com.google.samples.apps.nowinandroid.core.datastore -import com.google.samples.apps.nowinandroid.core.datastore.test.testUserPreferencesDataStore import kotlinx.coroutines.flow.first import kotlinx.coroutines.test.TestScope import kotlinx.coroutines.test.UnconfinedTestDispatcher diff --git a/core/datastore-test/src/main/kotlin/com/google/samples/apps/nowinandroid/core/datastore/test/TestDataStoreModule.kt b/core/datastore/src/testFixtures/kotlin/com/google/samples/apps/nowinandroid/core/datastore/TestDataStoreModule.kt similarity index 89% rename from core/datastore-test/src/main/kotlin/com/google/samples/apps/nowinandroid/core/datastore/test/TestDataStoreModule.kt rename to core/datastore/src/testFixtures/kotlin/com/google/samples/apps/nowinandroid/core/datastore/TestDataStoreModule.kt index 295b2978a..fd069de5d 100644 --- a/core/datastore-test/src/main/kotlin/com/google/samples/apps/nowinandroid/core/datastore/test/TestDataStoreModule.kt +++ b/core/datastore/src/testFixtures/kotlin/com/google/samples/apps/nowinandroid/core/datastore/TestDataStoreModule.kt @@ -14,12 +14,10 @@ * limitations under the License. */ -package com.google.samples.apps.nowinandroid.core.datastore.test +package com.google.samples.apps.nowinandroid.core.datastore import androidx.datastore.core.DataStore import androidx.datastore.core.DataStoreFactory -import com.google.samples.apps.nowinandroid.core.datastore.UserPreferences -import com.google.samples.apps.nowinandroid.core.datastore.UserPreferencesSerializer import com.google.samples.apps.nowinandroid.core.datastore.di.DataStoreModule import com.google.samples.apps.nowinandroid.core.network.di.ApplicationScope import dagger.Module diff --git a/docs/images/graphs/dep_graph_core_datastore_test.svg b/docs/images/graphs/dep_graph_core_datastore_test.svg deleted file mode 100644 index e42e5e795..000000000 --- a/docs/images/graphs/dep_graph_core_datastore_test.svg +++ /dev/null @@ -1,58 +0,0 @@ - - - - - G - - - :core:datastore-test - - :core:datastore-test - - - :core:common - - :core:common - - - :core:datastore-test->:core:common - - - - - :core:datastore - - :core:datastore - - - :core:datastore-test->:core:datastore - - - - - :core:datastore->:core:common - - - - - :core:datastore-proto - - :core:datastore-proto - - - :core:datastore->:core:datastore-proto - - - - - :core:model - - :core:model - - - :core:datastore->:core:model - - - - - diff --git a/settings.gradle.kts b/settings.gradle.kts index 29d51c90f..0fcfee065 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -42,7 +42,6 @@ include(":core:data") include(":core:database") include(":core:datastore") include(":core:datastore-proto") -include(":core:datastore-test") include(":core:designsystem") include(":core:domain") include(":core:model")