diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 41506ff8..9e81809f 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -87,14 +87,6 @@ dependencies { implementation(libs.koin.android) implementation(libs.koin.androidx.compose) - testImplementation(libs.koin.test) - testImplementation(libs.koin.test.junit4) - testImplementation(libs.androidx.test.junit) - testImplementation(libs.androidx.test.core) - testImplementation(libs.mockito) - testImplementation(libs.robolectric) - testImplementation(libs.junit) - // Compose testing dependencies androidTestImplementation(platform(libs.androidx.compose.bom)) androidTestImplementation(libs.androidx.compose.ui.test) diff --git a/app/src/test/java/com/surrus/peopleinspace/TestKoinGraph.kt b/app/src/test/java/com/surrus/peopleinspace/TestKoinGraph.kt deleted file mode 100644 index 51dc5e80..00000000 --- a/app/src/test/java/com/surrus/peopleinspace/TestKoinGraph.kt +++ /dev/null @@ -1,35 +0,0 @@ -package com.surrus.peopleinspace - -import android.content.Context -import androidx.lifecycle.SavedStateHandle -import androidx.test.core.app.ApplicationProvider.getApplicationContext -import com.surrus.common.di.initKoin -import com.surrus.peopleinspace.di.appModule -import org.junit.Rule -import org.junit.Test -import org.junit.runner.RunWith -import org.koin.android.ext.koin.androidContext -import org.koin.test.check.checkModules -import org.koin.test.mock.MockProviderRule -import org.mockito.Mockito -import org.robolectric.RobolectricTestRunner - -@RunWith(RobolectricTestRunner::class) -class TestKoinGraph { - private val context = getApplicationContext() - - @get:Rule - val mockProvider = MockProviderRule.create { clazz -> - Mockito.mock(clazz.java) - } - - @Test - fun `checking koin modules`() { - initKoin { - androidContext(context) - modules(appModule) - }.checkModules() { - withInstance() - } - } -} diff --git a/backend/build.gradle.kts b/backend/build.gradle.kts index 053ad517..832e2263 100644 --- a/backend/build.gradle.kts +++ b/backend/build.gradle.kts @@ -16,13 +16,13 @@ kotlin { implementation(libs.kotlinx.coroutines) implementation(libs.kotlinx.serialization) - implementation("io.ktor:ktor-server-core:2.3.6") - implementation("io.ktor:ktor-server-netty:2.3.6") - implementation("io.ktor:ktor-server-cors:2.3.6") - implementation("io.ktor:ktor-serialization-kotlinx-json:2.3.6") - implementation("io.ktor:ktor-server-content-negotiation:2.3.6") + implementation("io.ktor:ktor-server-core:2.3.12") + implementation("io.ktor:ktor-server-netty:2.3.12") + implementation("io.ktor:ktor-server-cors:2.3.12") + implementation("io.ktor:ktor-serialization-kotlinx-json:2.3.12") + implementation("io.ktor:ktor-server-content-negotiation:2.3.12") - implementation("ch.qos.logback:logback-classic:1.4.14") + implementation("ch.qos.logback:logback-classic:1.5.8") implementation(projects.common) } diff --git a/common/src/androidUnitTest/kotlin/dev/johnoreilly/peopleinspace/TestKoinGraph.kt b/common/src/androidUnitTest/kotlin/dev/johnoreilly/peopleinspace/TestKoinGraph.kt new file mode 100644 index 00000000..976cdb54 --- /dev/null +++ b/common/src/androidUnitTest/kotlin/dev/johnoreilly/peopleinspace/TestKoinGraph.kt @@ -0,0 +1,27 @@ +package dev.johnoreilly.peopleinspace + +import com.surrus.common.di.commonModule +import com.surrus.common.repository.platformModule +import com.surrus.peopleinspace.db.PeopleInSpaceDatabase +import io.ktor.client.HttpClientConfig +import io.ktor.client.engine.HttpClientEngine +import org.koin.core.annotation.KoinExperimentalAPI +import org.koin.dsl.module +import org.koin.test.verify.verify +import kotlin.test.Test + + +@OptIn(KoinExperimentalAPI::class) +class TestKoinGraph { + + @Test + fun checkKoinModules() { + val modules = module { + includes(commonModule(false), platformModule()) + } + + modules.verify( + extraTypes = listOf(HttpClientEngine::class, HttpClientConfig::class, PeopleInSpaceDatabase::class) + ) + } +} diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index be32a534..8a471523 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -5,13 +5,13 @@ ksp = "2.0.20-1.0.25" compose-multiplatform = "1.7.0-rc01" composeUiTooling = "1.4.0" coroutines = "1.9.0" -kotlinxSerialization = "1.7.2" +kotlinxSerialization = "1.7.3" androidGradlePlugin = "8.7.0" koin = "4.0.0" koinCompose = "4.0.0" koinComposeMultiplatform = "4.0.0" ktor = "3.0.0-rc-1" -osmdroidAndroid = "6.1.18" +osmdroidAndroid = "6.1.20" osmAndroidCompose = "0.0.5" slf4j = "2.0.16" sqlDelight = "2.0.2" @@ -33,13 +33,6 @@ horologist = "0.6.20" glanceWearTiles = "1.0.0-alpha05" glanceAppWidget = "1.0.0" okhttp = "5.0.0-alpha.14" - -junit = "4.13.2" -androidxTestJUnit = "1.2.1" -robolectric = "4.13" -androidxTestCore = "1.6.1" -mockito = "3.11.2" - kermit = "2.0.4" gradleVersionsPlugin = "0.51.0" @@ -138,11 +131,6 @@ sqldelight-sqlite-driver = { module = "app.cash.sqldelight:sqlite-driver", versi kermit = { module = "co.touchlab:kermit", version.ref = "kermit" } -junit = { module = "junit:junit", version.ref = "junit" } -robolectric = { module = "org.robolectric:robolectric", version.ref = "robolectric" } -mockito = { module = "org.mockito:mockito-inline", version.ref = "mockito" } -androidx-test-junit = { module = "androidx.test.ext:junit", version.ref = "androidxTestJUnit" } -androidx-test-core = { module = "androidx.test:core", version.ref = "androidxTestCore" } androidx-compose-ui-test = { group = "androidx.compose.ui", name = "ui-test" } androidx-compose-ui-test-junit = { group = "androidx.compose.ui", name = "ui-test-junit4" } androidx-compose-ui-test-manifest = { group = "androidx.compose.ui", name = "ui-test-manifest" } diff --git a/graphql-server/build.gradle.kts b/graphql-server/build.gradle.kts index 464d5d4c..d88ed629 100644 --- a/graphql-server/build.gradle.kts +++ b/graphql-server/build.gradle.kts @@ -1,7 +1,7 @@ plugins { kotlin("multiplatform") - id("org.jetbrains.kotlin.plugin.spring") version("1.8.20") + id("org.jetbrains.kotlin.plugin.spring") version("1.9.25") kotlin("plugin.serialization") id("org.springframework.boot") version("3.1.5") //id("com.google.cloud.tools.appengine") version("2.4.2") @@ -18,8 +18,8 @@ kotlin { val jvmMain by getting { dependencies { implementation("com.expediagroup:graphql-kotlin-spring-server:5.5.0") - implementation("org.jetbrains.kotlinx:kotlinx-datetime:0.4.1") - implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.5.0") + implementation("org.jetbrains.kotlinx:kotlinx-datetime:0.6.1") + implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.7.3") implementation("ch.qos.logback:logback-classic:1.5.8") diff --git a/wearApp/build.gradle.kts b/wearApp/build.gradle.kts index a9febe3c..5753e425 100644 --- a/wearApp/build.gradle.kts +++ b/wearApp/build.gradle.kts @@ -74,9 +74,6 @@ dependencies { implementation(libs.okhttp) implementation(libs.loggingInterceptor) - testImplementation(libs.robolectric) - testImplementation(libs.junit) - // Compose testing dependencies androidTestImplementation(platform(libs.androidx.compose.bom)) androidTestImplementation(libs.androidx.compose.ui.test)