Convert KotlinAndroidExtensionIT to new test dsl

^KT-45745 In Progress
This commit is contained in:
Yahor Berdnikau
2022-01-24 15:35:52 +01:00
parent b07ba5f712
commit eba9f697c0
@@ -5,50 +5,60 @@
package org.jetbrains.kotlin.gradle.model package org.jetbrains.kotlin.gradle.model
import org.jetbrains.kotlin.gradle.BaseGradleIT import org.gradle.api.logging.configuration.WarningMode
import org.jetbrains.kotlin.gradle.util.AGPVersion import org.gradle.util.GradleVersion
import org.jetbrains.kotlin.test.util.KtTestUtil import org.jetbrains.kotlin.gradle.testbase.*
import org.junit.Test import org.junit.jupiter.api.DisplayName
import kotlin.test.assertEquals import kotlin.test.assertEquals
import kotlin.test.assertFalse import kotlin.test.assertFalse
import kotlin.test.assertNull import kotlin.test.assertNull
import kotlin.test.assertTrue import kotlin.test.assertTrue
class KotlinAndroidExtensionIT : BaseGradleIT() { @DisplayName("Kotlin-android plugin models")
override fun defaultBuildOptions(): BuildOptions { @OtherGradlePluginTests
return super.defaultBuildOptions().copy( class KotlinAndroidExtensionIT : KGPBaseTest() {
androidGradlePluginVersion = AGPVersion.v3_4_1, override val defaultBuildOptions = super.defaultBuildOptions.copy(
androidHome = KtTestUtil.findAndroidSdk() androidVersion = TestVersions.AGP.AGP_34,
) warningMode = WarningMode.Summary
)
@DisplayName("Has valid model when plugin is applied")
@GradleTest
fun testAndroidExtensionsProject(gradleVersion: GradleVersion) {
project("AndroidExtensionsProject", gradleVersion) {
getModels<KotlinAndroidExtension> {
with(getModel(":app")!!) {
assertEquals(1L, modelVersion)
assertEquals("app", name)
assertFalse(isExperimental)
assertEquals("hashMap", defaultCacheImplementation)
}
}
}
} }
@Test @DisplayName("Has valid model in android multivariant project when plugin is applied")
fun testAndroidExtensionsProject() { @GradleTest
val project = Project("AndroidExtensionsProject") fun testAndroidExtensionsManyVariants(gradleVersion: GradleVersion) {
val androidExtensionModel = project.getModels(KotlinAndroidExtension::class.java).getModel(":app")!! project("AndroidExtensionsManyVariants", gradleVersion) {
getModels<KotlinAndroidExtension> {
assertEquals(1L, androidExtensionModel.modelVersion) with(getModel(":app")!!) {
assertEquals("app", androidExtensionModel.name) assertEquals(1L, modelVersion)
assertFalse(androidExtensionModel.isExperimental) assertEquals("app", name)
assertEquals("hashMap", androidExtensionModel.defaultCacheImplementation) assertTrue(isExperimental)
assertEquals("hashMap", defaultCacheImplementation)
}
}
}
} }
@Test @DisplayName("Doesn't have model when plugin is not applied")
fun testAndroidExtensionsManyVariants() { @GradleTest
val project = Project("AndroidExtensionsManyVariants") fun testNonAndroidExtensionsProjects(gradleVersion: GradleVersion) {
val androidExtensionModel = project.getModels(KotlinAndroidExtension::class.java).getModel(":app")!! project("kotlinProject", gradleVersion) {
getModels<KotlinAndroidExtension> {
assertEquals(1L, androidExtensionModel.modelVersion) assertNull(getModel(":"))
assertEquals("app", androidExtensionModel.name) }
assertTrue(androidExtensionModel.isExperimental) }
assertEquals("hashMap", androidExtensionModel.defaultCacheImplementation)
}
@Test
fun testNonAndroidExtensionsProjects() {
val project = Project("kotlinProject")
val model = project.getModels(KotlinAndroidExtension::class.java).getModel(":")
assertNull(model)
} }
} }