Convert KaptModelIT to new test dsl

^KT-45745 In Progress
This commit is contained in:
Yahor Berdnikau
2022-01-24 15:11:42 +01:00
parent 052b5c347e
commit b07ba5f712
@@ -5,42 +5,70 @@
package org.jetbrains.kotlin.gradle.model package org.jetbrains.kotlin.gradle.model
import org.jetbrains.kotlin.gradle.BaseGradleIT import org.gradle.util.GradleVersion
import org.junit.Test import org.jetbrains.kotlin.gradle.testbase.*
import org.junit.jupiter.api.DisplayName
import kotlin.test.assertEquals import kotlin.test.assertEquals
import kotlin.test.assertNull import kotlin.test.assertNull
class KaptModelIT : BaseGradleIT() { @DisplayName("Kapt plugin models")
@Test @OtherGradlePluginTests
fun testKaptSimple() { class KaptModelIT : KGPBaseTest() {
val project = Project("simple", directoryPrefix = "kapt2")
val kaptModel = project.getModels(Kapt::class.java).getModel(":")!!
kaptModel.assertBasics("simple") @DisplayName("Valid kapt model is available when plugin is applied")
@GradleTest
fun testKaptSimple(gradleVersion: GradleVersion) {
project("kapt2/simple", gradleVersion) {
getModels<Kapt> {
with(getModel(":")!!) {
assertBasics("simple")
assertEquals(2, kaptModel.kaptSourceSets.size) assertEquals(2, kaptSourceSets.size)
val mainSourceSet = kaptModel.kaptSourceSets.find { it.name == "main" }!! val mainSourceSet = kaptSourceSets.first { it.name == "main" }
val testSourceSet = kaptModel.kaptSourceSets.find { it.name == "test" }!! val testSourceSet = kaptSourceSets.first { it.name == "test" }
assertEquals(KaptSourceSet.KaptSourceSetType.PRODUCTION, mainSourceSet.type) assertEquals(KaptSourceSet.KaptSourceSetType.PRODUCTION, mainSourceSet.type)
assertEquals(project.projectDir.resolve("build/generated/source/kapt/main"), mainSourceSet.generatedSourcesDirectory) assertEquals(
assertEquals(project.projectDir.resolve("build/generated/source/kaptKotlin/main"), mainSourceSet.generatedKotlinSourcesDirectory) projectPath.resolve("build/generated/source/kapt/main").toFile(),
assertEquals(project.projectDir.resolve("build/tmp/kapt3/classes/main"), mainSourceSet.generatedClassesDirectory) mainSourceSet.generatedSourcesDirectory
)
assertEquals(
projectPath.resolve("build/generated/source/kaptKotlin/main").toFile(),
mainSourceSet.generatedKotlinSourcesDirectory
)
assertEquals(
projectPath.resolve("build/tmp/kapt3/classes/main").toFile(),
mainSourceSet.generatedClassesDirectory
)
assertEquals(KaptSourceSet.KaptSourceSetType.TEST, testSourceSet.type) assertEquals(KaptSourceSet.KaptSourceSetType.TEST, testSourceSet.type)
assertEquals(project.projectDir.resolve("build/generated/source/kapt/test"), testSourceSet.generatedSourcesDirectory) assertEquals(
assertEquals(project.projectDir.resolve("build/generated/source/kaptKotlin/test"), testSourceSet.generatedKotlinSourcesDirectory) projectPath.resolve("build/generated/source/kapt/test").toFile(),
assertEquals(project.projectDir.resolve("build/tmp/kapt3/classes/test"), testSourceSet.generatedClassesDirectory) testSourceSet.generatedSourcesDirectory
)
assertEquals(
projectPath.resolve("build/generated/source/kaptKotlin/test").toFile(),
testSourceSet.generatedKotlinSourcesDirectory
)
assertEquals(
projectPath.resolve("build/tmp/kapt3/classes/test").toFile(),
testSourceSet.generatedClassesDirectory
)
}
}
}
} }
@Test @DisplayName("Model is not available when plugin is not applied")
fun testNonJvmProjects() { @GradleTest
val project = Project("kotlin2JsProject") fun testNonJvmProjects(gradleVersion: GradleVersion) {
val models = project.getModels(Kapt::class.java) project("kotlin2JsProject", gradleVersion) {
getModels<Kapt> {
assertNull(models.getModel(":")) assertNull(getModel(":"))
assertNull(models.getModel(":libraryProject")) assertNull(getModel(":libraryProject"))
assertNull(models.getModel(":mainProject")) assertNull(getModel(":mainProject"))
}
}
} }
companion object { companion object {