diff --git a/database/database-symbol-processor/src/test/kotlin/ru/tinkoff/kora/database/symbol/processor/AbstractRepositoryTest.kt b/database/database-symbol-processor/src/test/kotlin/ru/tinkoff/kora/database/symbol/processor/AbstractRepositoryTest.kt index cc6e3b593..853ac1833 100644 --- a/database/database-symbol-processor/src/test/kotlin/ru/tinkoff/kora/database/symbol/processor/AbstractRepositoryTest.kt +++ b/database/database-symbol-processor/src/test/kotlin/ru/tinkoff/kora/database/symbol/processor/AbstractRepositoryTest.kt @@ -2,6 +2,7 @@ package ru.tinkoff.kora.database.symbol.processor import org.intellij.lang.annotations.Language import ru.tinkoff.kora.ksp.common.AbstractSymbolProcessorTest +import ru.tinkoff.kora.ksp.common.KotlinCompilation abstract class AbstractRepositoryTest : AbstractSymbolProcessorTest() { @@ -14,7 +15,9 @@ abstract class AbstractRepositoryTest : AbstractSymbolProcessorTest() { } protected fun compile(connectionFactory: Any, arguments: List<*>, @Language("kotlin") vararg sources: String): TestObject { - compile0(listOf(RepositorySymbolProcessorProvider()), *sources) + KotlinCompilation() + .withClasspathJar("java-driver-core") + .compile(listOf(RepositorySymbolProcessorProvider()), *sources) .assertSuccess() val realArgs = arrayOfNulls(arguments.size + 1) diff --git a/database/database-symbol-processor/src/test/kotlin/ru/tinkoff/kora/database/symbol/processor/cassandra/AbstractCassandraRepositoryTest.kt b/database/database-symbol-processor/src/test/kotlin/ru/tinkoff/kora/database/symbol/processor/cassandra/AbstractCassandraRepositoryTest.kt index c2ac035e9..8544b4fec 100644 --- a/database/database-symbol-processor/src/test/kotlin/ru/tinkoff/kora/database/symbol/processor/cassandra/AbstractCassandraRepositoryTest.kt +++ b/database/database-symbol-processor/src/test/kotlin/ru/tinkoff/kora/database/symbol/processor/cassandra/AbstractCassandraRepositoryTest.kt @@ -14,7 +14,6 @@ abstract class AbstractCassandraRepositoryTest : AbstractRepositoryTest() { import ru.tinkoff.kora.database.cassandra.mapper.parameter.*; import java.util.concurrent.CompletionStage; - import reactor.core.publisher.*; import com.datastax.oss.driver.api.core.cql.*; import com.datastax.oss.driver.api.core.data.*; @@ -22,4 +21,6 @@ abstract class AbstractCassandraRepositoryTest : AbstractRepositoryTest() { } protected fun compile(arguments: List<*>, @Language("kotlin") vararg sources: String) = compile(executor, arguments, *sources) + + } diff --git a/database/database-symbol-processor/src/test/kotlin/ru/tinkoff/kora/database/symbol/processor/cassandra/CassandraExtensionTest.kt b/database/database-symbol-processor/src/test/kotlin/ru/tinkoff/kora/database/symbol/processor/cassandra/CassandraExtensionTest.kt index 20b50864b..eedb6b578 100644 --- a/database/database-symbol-processor/src/test/kotlin/ru/tinkoff/kora/database/symbol/processor/cassandra/CassandraExtensionTest.kt +++ b/database/database-symbol-processor/src/test/kotlin/ru/tinkoff/kora/database/symbol/processor/cassandra/CassandraExtensionTest.kt @@ -2,11 +2,12 @@ package ru.tinkoff.kora.database.symbol.processor.cassandra import org.junit.jupiter.api.Test import ru.tinkoff.kora.kora.app.ksp.KoraAppProcessorProvider +import ru.tinkoff.kora.ksp.common.KotlinCompilation class CassandraExtensionTest : AbstractCassandraRepositoryTest() { @Test fun testEntityRowMapper() { - compile0( + KotlinCompilation().withClasspathJar("java-driver-core").compile( listOf(KoraAppProcessorProvider(), CassandraEntitySymbolProcessorProvider()), """ @KoraApp @@ -25,7 +26,7 @@ class CassandraExtensionTest : AbstractCassandraRepositoryTest() { @Test fun testEntityListResultSetMapper() { - compile0( + KotlinCompilation().withClasspathJar("java-driver-core").compile( listOf(KoraAppProcessorProvider(), CassandraEntitySymbolProcessorProvider()), """ @KoraApp @@ -44,7 +45,7 @@ class CassandraExtensionTest : AbstractCassandraRepositoryTest() { @Test fun testEntitySingleResultSetMapper() { - compile0( + KotlinCompilation().withClasspathJar("java-driver-core").compile( listOf(KoraAppProcessorProvider(), CassandraEntitySymbolProcessorProvider()), """ @KoraApp diff --git a/database/database-symbol-processor/src/test/kotlin/ru/tinkoff/kora/database/symbol/processor/cassandra/CassandraMapperTests.kt b/database/database-symbol-processor/src/test/kotlin/ru/tinkoff/kora/database/symbol/processor/cassandra/CassandraMapperTests.kt index 733b8fb6a..43623bfab 100644 --- a/database/database-symbol-processor/src/test/kotlin/ru/tinkoff/kora/database/symbol/processor/cassandra/CassandraMapperTests.kt +++ b/database/database-symbol-processor/src/test/kotlin/ru/tinkoff/kora/database/symbol/processor/cassandra/CassandraMapperTests.kt @@ -8,12 +8,13 @@ import org.junit.jupiter.api.Test import org.mockito.kotlin.* import ru.tinkoff.kora.database.cassandra.mapper.result.CassandraResultSetMapper import ru.tinkoff.kora.database.cassandra.mapper.result.CassandraRowMapper +import ru.tinkoff.kora.ksp.common.KotlinCompilation class CassandraMapperTests : AbstractCassandraRepositoryTest() { @Test fun testRowMapperGenerated() { - compile0( + KotlinCompilation().withClasspathJar("java-driver-core").compile( listOf(CassandraEntitySymbolProcessorProvider()), """ @EntityCassandra @@ -42,7 +43,7 @@ class CassandraMapperTests : AbstractCassandraRepositoryTest() { @Test fun testResultSetMapperGenerated() { - compile0( + KotlinCompilation().withClasspathJar("java-driver-core").compile( listOf(CassandraEntitySymbolProcessorProvider()), """ @EntityCassandra @@ -76,7 +77,7 @@ class CassandraMapperTests : AbstractCassandraRepositoryTest() { @Test fun testListResultSetMapperGenerated() { - compile0( + KotlinCompilation().withClasspathJar("java-driver-core").compile( listOf(CassandraEntitySymbolProcessorProvider()), """ @EntityCassandra diff --git a/database/database-symbol-processor/src/test/kotlin/ru/tinkoff/kora/database/symbol/processor/cassandra/CassandraUdtTest.kt b/database/database-symbol-processor/src/test/kotlin/ru/tinkoff/kora/database/symbol/processor/cassandra/CassandraUdtTest.kt index 06ddc289a..4de800345 100644 --- a/database/database-symbol-processor/src/test/kotlin/ru/tinkoff/kora/database/symbol/processor/cassandra/CassandraUdtTest.kt +++ b/database/database-symbol-processor/src/test/kotlin/ru/tinkoff/kora/database/symbol/processor/cassandra/CassandraUdtTest.kt @@ -9,12 +9,13 @@ import ru.tinkoff.kora.database.cassandra.mapper.result.CassandraRowColumnMapper import ru.tinkoff.kora.database.symbol.processor.AbstractRepositoryTest import ru.tinkoff.kora.database.symbol.processor.RepositorySymbolProcessorProvider import ru.tinkoff.kora.database.symbol.processor.cassandra.udt.CassandraUdtSymbolProcessorProvider +import ru.tinkoff.kora.ksp.common.KotlinCompilation import kotlin.reflect.KClass class CassandraUdtTest : AbstractRepositoryTest() { @Test fun testUdt() { - compile0( + KotlinCompilation().withClasspathJar("java-driver-core").compile( listOf(CassandraUdtSymbolProcessorProvider()), """ @ru.tinkoff.kora.database.cassandra.annotation.UDT diff --git a/experimental/camunda-zeebe-worker-symbol-processor/src/test/kotlin/ru/tinkoff/kora/camunda/zeebe/worker/symbol/processor/ZeebeWorkerDeferredTests.kt b/experimental/camunda-zeebe-worker-symbol-processor/src/test/kotlin/ru/tinkoff/kora/camunda/zeebe/worker/symbol/processor/ZeebeWorkerDeferredTests.kt index f49f25832..3c667ae52 100644 --- a/experimental/camunda-zeebe-worker-symbol-processor/src/test/kotlin/ru/tinkoff/kora/camunda/zeebe/worker/symbol/processor/ZeebeWorkerDeferredTests.kt +++ b/experimental/camunda-zeebe-worker-symbol-processor/src/test/kotlin/ru/tinkoff/kora/camunda/zeebe/worker/symbol/processor/ZeebeWorkerDeferredTests.kt @@ -1,9 +1,11 @@ package ru.tinkoff.kora.camunda.zeebe.worker.symbol.processor import org.assertj.core.api.Assertions.assertThat +import org.intellij.lang.annotations.Language import org.junit.jupiter.api.Test import ru.tinkoff.kora.camunda.zeebe.worker.KoraJobWorker import ru.tinkoff.kora.ksp.common.AbstractSymbolProcessorTest +import ru.tinkoff.kora.ksp.common.KotlinCompilation import java.lang.reflect.Method import java.util.* @@ -18,9 +20,13 @@ class ZeebeWorkerDeferredTests : AbstractSymbolProcessorTest() { """.trimIndent() } + fun compile(@Language("kotlin") vararg sources: String) = KotlinCompilation() + .withClasspathJar("zeebe-client-java") + .compile(listOf(ZeebeWorkerSymbolProcessorProvider()), *sources) + @Test fun workerNoVars() { - compile0(listOf(ZeebeWorkerSymbolProcessorProvider()), + compile( """ @Component class Handler { @@ -44,7 +50,7 @@ class ZeebeWorkerDeferredTests : AbstractSymbolProcessorTest() { @Test fun workerVars() { - compile0(listOf(ZeebeWorkerSymbolProcessorProvider()), + compile( """ @Component class Handler { @@ -71,7 +77,7 @@ class ZeebeWorkerDeferredTests : AbstractSymbolProcessorTest() { @Test fun workerVar() { - compile0(listOf(ZeebeWorkerSymbolProcessorProvider()), + compile( """ @Component class Handler { @@ -96,7 +102,7 @@ class ZeebeWorkerDeferredTests : AbstractSymbolProcessorTest() { @Test fun workerReturnVars() { - compile0(listOf(ZeebeWorkerSymbolProcessorProvider()), + compile( """ @Component class Handler { @@ -123,7 +129,7 @@ class ZeebeWorkerDeferredTests : AbstractSymbolProcessorTest() { @Test fun workerContext() { - compile0(listOf(ZeebeWorkerSymbolProcessorProvider()), + compile( """ @Component class Handler { diff --git a/experimental/camunda-zeebe-worker-symbol-processor/src/test/kotlin/ru/tinkoff/kora/camunda/zeebe/worker/symbol/processor/ZeebeWorkerTests.kt b/experimental/camunda-zeebe-worker-symbol-processor/src/test/kotlin/ru/tinkoff/kora/camunda/zeebe/worker/symbol/processor/ZeebeWorkerTests.kt index 9f3b6913c..22d6ec0a0 100644 --- a/experimental/camunda-zeebe-worker-symbol-processor/src/test/kotlin/ru/tinkoff/kora/camunda/zeebe/worker/symbol/processor/ZeebeWorkerTests.kt +++ b/experimental/camunda-zeebe-worker-symbol-processor/src/test/kotlin/ru/tinkoff/kora/camunda/zeebe/worker/symbol/processor/ZeebeWorkerTests.kt @@ -1,9 +1,11 @@ package ru.tinkoff.kora.camunda.zeebe.worker.symbol.processor import org.assertj.core.api.Assertions.assertThat +import org.intellij.lang.annotations.Language import org.junit.jupiter.api.Test import ru.tinkoff.kora.camunda.zeebe.worker.KoraJobWorker import ru.tinkoff.kora.ksp.common.AbstractSymbolProcessorTest +import ru.tinkoff.kora.ksp.common.KotlinCompilation import java.lang.reflect.Method import java.util.* @@ -16,9 +18,13 @@ class ZeebeWorkerTests : AbstractSymbolProcessorTest() { """.trimIndent() } + fun compile(@Language("kotlin") vararg sources: String) = KotlinCompilation() + .withClasspathJar("zeebe-client-java") + .compile(listOf(ZeebeWorkerSymbolProcessorProvider()), *sources) + @Test fun workerNoVars() { - compile0(listOf(ZeebeWorkerSymbolProcessorProvider()), + compile( """ @Component class Handler { @@ -42,7 +48,7 @@ class ZeebeWorkerTests : AbstractSymbolProcessorTest() { @Test fun workerVars() { - compile0(listOf(ZeebeWorkerSymbolProcessorProvider()), + compile( """ @Component class Handler { @@ -69,7 +75,7 @@ class ZeebeWorkerTests : AbstractSymbolProcessorTest() { @Test fun workerVar() { - compile0(listOf(ZeebeWorkerSymbolProcessorProvider()), + compile( """ @Component class Handler { @@ -94,7 +100,7 @@ class ZeebeWorkerTests : AbstractSymbolProcessorTest() { @Test fun workerReturnVars() { - compile0(listOf(ZeebeWorkerSymbolProcessorProvider()), + compile( """ @Component class Handler { @@ -121,7 +127,7 @@ class ZeebeWorkerTests : AbstractSymbolProcessorTest() { @Test fun workerContext() { - compile0(listOf(ZeebeWorkerSymbolProcessorProvider()), + compile( """ @Component class Handler { diff --git a/experimental/s3-client-symbol-processor/src/test/kotlin/ru/tinkoff/kora/s3/client/symbol/processor/S3AwsClientTests.kt b/experimental/s3-client-symbol-processor/src/test/kotlin/ru/tinkoff/kora/s3/client/symbol/processor/S3AwsClientTests.kt index 92aff23cd..10990d747 100644 --- a/experimental/s3-client-symbol-processor/src/test/kotlin/ru/tinkoff/kora/s3/client/symbol/processor/S3AwsClientTests.kt +++ b/experimental/s3-client-symbol-processor/src/test/kotlin/ru/tinkoff/kora/s3/client/symbol/processor/S3AwsClientTests.kt @@ -3,6 +3,7 @@ package ru.tinkoff.kora.s3.client.symbol.processor import org.assertj.core.api.Assertions.assertThat import org.junit.jupiter.api.Test import ru.tinkoff.kora.ksp.common.AbstractSymbolProcessorTest +import ru.tinkoff.kora.ksp.common.KotlinCompilation class S3AwsClientTests : AbstractSymbolProcessorTest() { @@ -19,7 +20,15 @@ class S3AwsClientTests : AbstractSymbolProcessorTest() { """.trimIndent() } - fun compile0(vararg src: String) = compile0(listOf(S3ClientSymbolProcessorProvider()), *src) + fun compile0(vararg src: String) = KotlinCompilation() + .withClasspathJar("s3") + .withClasspathJar("aws-core") + .withClasspathJar("sdk-core") + .withClasspathJar("utils") + .withClasspathJar("http-client-spi") + .withClasspathJar("reactor-core") + .withClasspathJar("reactive-streams") + .compile(listOf(S3ClientSymbolProcessorProvider()), *src) @Test fun clientGetAws() { diff --git a/experimental/s3-client-symbol-processor/src/test/kotlin/ru/tinkoff/kora/s3/client/symbol/processor/S3AwsSuspendClientTests.kt b/experimental/s3-client-symbol-processor/src/test/kotlin/ru/tinkoff/kora/s3/client/symbol/processor/S3AwsSuspendClientTests.kt index eeadfcad2..3971ad404 100644 --- a/experimental/s3-client-symbol-processor/src/test/kotlin/ru/tinkoff/kora/s3/client/symbol/processor/S3AwsSuspendClientTests.kt +++ b/experimental/s3-client-symbol-processor/src/test/kotlin/ru/tinkoff/kora/s3/client/symbol/processor/S3AwsSuspendClientTests.kt @@ -3,6 +3,7 @@ package ru.tinkoff.kora.s3.client.symbol.processor import org.assertj.core.api.Assertions.assertThat import org.junit.jupiter.api.Test import ru.tinkoff.kora.ksp.common.AbstractSymbolProcessorTest +import ru.tinkoff.kora.ksp.common.KotlinCompilation class S3AwsSuspendClientTests : AbstractSymbolProcessorTest() { @@ -18,7 +19,15 @@ class S3AwsSuspendClientTests : AbstractSymbolProcessorTest() { import software.amazon.awssdk.services.s3.model.* """.trimIndent() } - fun compile0(vararg src: String) = compile0(listOf(S3ClientSymbolProcessorProvider()), *src) + fun compile0(vararg src: String) = KotlinCompilation() + .withClasspathJar("s3") + .withClasspathJar("aws-core") + .withClasspathJar("sdk-core") + .withClasspathJar("utils") + .withClasspathJar("http-client-spi") + .withClasspathJar("reactor-core") + .withClasspathJar("reactive-streams") + .compile(listOf(S3ClientSymbolProcessorProvider()), *src) @Test fun clientGetAws() { diff --git a/experimental/s3-client-symbol-processor/src/test/kotlin/ru/tinkoff/kora/s3/client/symbol/processor/S3KoraClientTests.kt b/experimental/s3-client-symbol-processor/src/test/kotlin/ru/tinkoff/kora/s3/client/symbol/processor/S3KoraClientTests.kt index 9b65d0f72..36494b882 100644 --- a/experimental/s3-client-symbol-processor/src/test/kotlin/ru/tinkoff/kora/s3/client/symbol/processor/S3KoraClientTests.kt +++ b/experimental/s3-client-symbol-processor/src/test/kotlin/ru/tinkoff/kora/s3/client/symbol/processor/S3KoraClientTests.kt @@ -1,9 +1,9 @@ package ru.tinkoff.kora.s3.client.symbol.processor -import org.assertj.core.api.Assertions import org.assertj.core.api.Assertions.assertThat import org.junit.jupiter.api.Test import ru.tinkoff.kora.ksp.common.AbstractSymbolProcessorTest +import ru.tinkoff.kora.ksp.common.KotlinCompilation class S3KoraClientTests : AbstractSymbolProcessorTest() { @@ -19,7 +19,10 @@ class S3KoraClientTests : AbstractSymbolProcessorTest() { import software.amazon.awssdk.services.s3.model.*; """.trimIndent() } - fun compile0(vararg src: String) = compile0(listOf(S3ClientSymbolProcessorProvider()), *src) + + fun compile0(vararg src: String) = KotlinCompilation() + .withClasspathJar("s3") + .compile(listOf(S3ClientSymbolProcessorProvider()), *src) // Get @Test diff --git a/experimental/s3-client-symbol-processor/src/test/kotlin/ru/tinkoff/kora/s3/client/symbol/processor/S3KoraSuspendClientTests.kt b/experimental/s3-client-symbol-processor/src/test/kotlin/ru/tinkoff/kora/s3/client/symbol/processor/S3KoraSuspendClientTests.kt index 3133d515f..653220d94 100644 --- a/experimental/s3-client-symbol-processor/src/test/kotlin/ru/tinkoff/kora/s3/client/symbol/processor/S3KoraSuspendClientTests.kt +++ b/experimental/s3-client-symbol-processor/src/test/kotlin/ru/tinkoff/kora/s3/client/symbol/processor/S3KoraSuspendClientTests.kt @@ -3,6 +3,7 @@ package ru.tinkoff.kora.s3.client.symbol.processor import org.assertj.core.api.Assertions.assertThat import org.junit.jupiter.api.Test import ru.tinkoff.kora.ksp.common.AbstractSymbolProcessorTest +import ru.tinkoff.kora.ksp.common.KotlinCompilation class S3KoraSuspendClientTests : AbstractSymbolProcessorTest() { @@ -18,7 +19,10 @@ class S3KoraSuspendClientTests : AbstractSymbolProcessorTest() { import software.amazon.awssdk.services.s3.model.*; """.trimIndent() } - fun compile0(vararg src: String) = compile0(listOf(S3ClientSymbolProcessorProvider()), *src) + + fun compile0(vararg src: String) = KotlinCompilation() + .withClasspathJar("s3") + .compile(listOf(S3ClientSymbolProcessorProvider()), *src) @Test fun clientConfig() { diff --git a/grpc/grpc-client-symbol-processor/src/test/kotlin/ru/tinkoff/grpc/client/ksp/GrpcClientExtensionTest.kt b/grpc/grpc-client-symbol-processor/src/test/kotlin/ru/tinkoff/grpc/client/ksp/GrpcClientExtensionTest.kt index fd93b5bbb..fb98a2a68 100644 --- a/grpc/grpc-client-symbol-processor/src/test/kotlin/ru/tinkoff/grpc/client/ksp/GrpcClientExtensionTest.kt +++ b/grpc/grpc-client-symbol-processor/src/test/kotlin/ru/tinkoff/grpc/client/ksp/GrpcClientExtensionTest.kt @@ -6,6 +6,7 @@ import org.junit.jupiter.api.Test import ru.tinkoff.kora.kora.app.ksp.KoraAppProcessorProvider import ru.tinkoff.kora.ksp.common.AbstractSymbolProcessorTest import ru.tinkoff.kora.ksp.common.GraphUtil.toGraph +import ru.tinkoff.kora.ksp.common.KotlinCompilation import java.util.* class GrpcClientExtensionTest : AbstractSymbolProcessorTest() { @@ -26,7 +27,12 @@ class GrpcClientExtensionTest : AbstractSymbolProcessorTest() { } } """.trimIndent() - super.compile0(listOf(GrpcClientStubForSymbolProcessorProvider(), KoraAppProcessorProvider()), *patchedSources) + KotlinCompilation() + .withClasspathJar("grpc-api") + .withClasspathJar("grpc-stub") + .withClasspathJar("grpc-kotlin-stub") + .withClasspathJar("netty-transport") + .compile(listOf(GrpcClientStubForSymbolProcessorProvider(), KoraAppProcessorProvider()), *patchedSources) compileResult.assertSuccess() loadClass("TestAppGraph").toGraph().use { g -> /* diff --git a/internal/test-cassandra/src/main/java/ru/tinkoff/kora/test/cassandra/CassandraParams.java b/internal/test-cassandra/src/main/java/ru/tinkoff/kora/test/cassandra/CassandraParams.java index cc25ecc72..6e7c637d4 100644 --- a/internal/test-cassandra/src/main/java/ru/tinkoff/kora/test/cassandra/CassandraParams.java +++ b/internal/test-cassandra/src/main/java/ru/tinkoff/kora/test/cassandra/CassandraParams.java @@ -10,7 +10,6 @@ import java.util.function.Function; import static com.datastax.oss.driver.api.core.config.DefaultDriverOption.*; -import static com.datastax.oss.driver.api.core.config.DefaultDriverOption.CONNECTION_WARN_INIT_ERROR; public record CassandraParams(String host, int port, String dc, String keyspace, String username, String password) { public CqlSession getSession() { @@ -27,6 +26,7 @@ public CqlSession getSession() { if (username != null && password != null) { b.withAuthCredentials(username, password); } + return b.build(); } diff --git a/json/json-symbol-processor/src/test/kotlin/ru/tinkoff/kora/json/ksp/AbstractJsonSymbolProcessorTest.kt b/json/json-symbol-processor/src/test/kotlin/ru/tinkoff/kora/json/ksp/AbstractJsonSymbolProcessorTest.kt index be0cb5684..c89259ff0 100644 --- a/json/json-symbol-processor/src/test/kotlin/ru/tinkoff/kora/json/ksp/AbstractJsonSymbolProcessorTest.kt +++ b/json/json-symbol-processor/src/test/kotlin/ru/tinkoff/kora/json/ksp/AbstractJsonSymbolProcessorTest.kt @@ -8,6 +8,7 @@ import ru.tinkoff.kora.json.common.JsonReader import ru.tinkoff.kora.json.common.JsonWriter import ru.tinkoff.kora.kora.app.ksp.KoraAppProcessorProvider import ru.tinkoff.kora.ksp.common.AbstractSymbolProcessorTest +import ru.tinkoff.kora.ksp.common.KotlinCompilation import java.nio.charset.StandardCharsets abstract class AbstractJsonSymbolProcessorTest : AbstractSymbolProcessorTest() { @@ -22,7 +23,9 @@ abstract class AbstractJsonSymbolProcessorTest : AbstractSymbolProcessorTest() { } protected open fun compile(@Language("kotlin") vararg sources: String) { - compile0(listOf(JsonSymbolProcessorProvider(), KoraAppProcessorProvider()), *sources) + KotlinCompilation() + .withClasspathJar("jackson-core") + .compile(listOf(JsonSymbolProcessorProvider(), KoraAppProcessorProvider()), *sources) .assertSuccess() } diff --git a/json/json-symbol-processor/src/test/kotlin/ru/tinkoff/kora/json/ksp/JsonAnnotationProcessorTest.kt b/json/json-symbol-processor/src/test/kotlin/ru/tinkoff/kora/json/ksp/JsonAnnotationProcessorTest.kt index f7d808674..0a3029594 100644 --- a/json/json-symbol-processor/src/test/kotlin/ru/tinkoff/kora/json/ksp/JsonAnnotationProcessorTest.kt +++ b/json/json-symbol-processor/src/test/kotlin/ru/tinkoff/kora/json/ksp/JsonAnnotationProcessorTest.kt @@ -13,6 +13,7 @@ import ru.tinkoff.kora.json.ksp.AbstractJsonSymbolProcessorTest.Companion.reader import ru.tinkoff.kora.json.ksp.AbstractJsonSymbolProcessorTest.Companion.writer import ru.tinkoff.kora.json.ksp.AbstractJsonSymbolProcessorTest.Companion.writerClass import ru.tinkoff.kora.json.ksp.dto.* +import ru.tinkoff.kora.ksp.common.KotlinCompilation import ru.tinkoff.kora.ksp.common.symbolProcess import java.io.IOException import java.io.StringWriter @@ -59,7 +60,10 @@ internal class JsonAnnotationProcessorTest { } private fun jsonClassLoader(kClass: KClass): JsonClassLoader { - val kspCl = symbolProcess(listOf(JsonSymbolProcessorProvider()), listOf(kClass)) + val kspCl = + KotlinCompilation() + .withClasspathJar("jackson-core") + .symbolProcess(listOf(JsonSymbolProcessorProvider()), listOf(kClass)) return JsonClassLoader(kspCl) } @@ -375,13 +379,21 @@ internal class JsonAnnotationProcessorTest { @Test fun test31Field() { - val cl = JsonClassLoader(symbolProcess(listOf(JsonSymbolProcessorProvider()), listOf(DtoWith31Fields::class))) + val cl = JsonClassLoader( + KotlinCompilation() + .withClasspathJar("jackson-core") + .symbolProcess(listOf(JsonSymbolProcessorProvider()), listOf(DtoWith31Fields::class)) + ) cl.reader(DtoWith31Fields::class.java) } @Test fun test32Field() { - val cl = JsonClassLoader(symbolProcess(listOf(JsonSymbolProcessorProvider()), listOf(DtoWith32Fields::class))) + val cl = JsonClassLoader( + KotlinCompilation() + .withClasspathJar("jackson-core") + .symbolProcess(listOf(JsonSymbolProcessorProvider()), listOf(DtoWith32Fields::class)) + ) cl.reader(DtoWith32Fields::class.java) } diff --git a/kafka/kafka-symbol-processor/src/test/kotlin/ru/tinkoff/kora/kafka/symbol/processor/consumer/AbstractKafkaIncomingAnnotationProcessorTest.kt b/kafka/kafka-symbol-processor/src/test/kotlin/ru/tinkoff/kora/kafka/symbol/processor/consumer/AbstractKafkaIncomingAnnotationProcessorTest.kt index 5217f7c90..7170033fd 100644 --- a/kafka/kafka-symbol-processor/src/test/kotlin/ru/tinkoff/kora/kafka/symbol/processor/consumer/AbstractKafkaIncomingAnnotationProcessorTest.kt +++ b/kafka/kafka-symbol-processor/src/test/kotlin/ru/tinkoff/kora/kafka/symbol/processor/consumer/AbstractKafkaIncomingAnnotationProcessorTest.kt @@ -2,6 +2,7 @@ package ru.tinkoff.kora.kafka.symbol.processor.consumer import org.intellij.lang.annotations.Language import ru.tinkoff.kora.ksp.common.AbstractSymbolProcessorTest +import ru.tinkoff.kora.ksp.common.KotlinCompilation abstract class AbstractKafkaListenerAnnotationProcessorTest : AbstractSymbolProcessorTest() { override fun commonImports(): String { @@ -17,13 +18,11 @@ abstract class AbstractKafkaListenerAnnotationProcessorTest : AbstractSymbolProc """.trimIndent() } - - protected fun compile(@Language("kotlin") vararg sources: String) { - super.compile0(listOf(KafkaListenerSymbolProcessorProvider()), *sources) - compileResult.assertSuccess() -// val kafkaListenerClass = Objects.requireNonNull(compileResult.loadClass("KafkaListener")) -// val kafkaListenerModule = Objects.requireNonNull(compileResult.loadClass("KafkaListenerModule")) - } + fun compile(@Language("kotlin") vararg sources: String) = KotlinCompilation() + .withClasspathJar("kafka-clients") + .compile(listOf(KafkaListenerSymbolProcessorProvider()), *sources).apply { + compileResult.assertSuccess() + } } diff --git a/kafka/kafka-symbol-processor/src/test/kotlin/ru/tinkoff/kora/kafka/symbol/processor/producer/KafkaPublisherTest.kt b/kafka/kafka-symbol-processor/src/test/kotlin/ru/tinkoff/kora/kafka/symbol/processor/producer/KafkaPublisherTest.kt index ebefa0e6d..fd408a973 100644 --- a/kafka/kafka-symbol-processor/src/test/kotlin/ru/tinkoff/kora/kafka/symbol/processor/producer/KafkaPublisherTest.kt +++ b/kafka/kafka-symbol-processor/src/test/kotlin/ru/tinkoff/kora/kafka/symbol/processor/producer/KafkaPublisherTest.kt @@ -10,6 +10,7 @@ import ru.tinkoff.kora.kafka.common.producer.KafkaPublisherConfig import ru.tinkoff.kora.kafka.common.producer.telemetry.KafkaPublisherTelemetryConfig import ru.tinkoff.kora.kafka.common.producer.telemetry.KafkaPublisherTelemetryFactory import ru.tinkoff.kora.ksp.common.AbstractSymbolProcessorTest +import ru.tinkoff.kora.ksp.common.KotlinCompilation import java.util.* class KafkaPublisherTest : AbstractSymbolProcessorTest() { @@ -27,7 +28,9 @@ class KafkaPublisherTest : AbstractSymbolProcessorTest() { """.trimIndent() } - fun compile0(@Language("kotlin") vararg sources: String) = compile0(listOf(KafkaPublisherSymbolProcessorProvider()), *sources) + fun compile0(@Language("kotlin") vararg sources: String) = KotlinCompilation() + .withClasspathJar("kafka-clients") + .compile(listOf(KafkaPublisherSymbolProcessorProvider()), *sources) @Test fun testPublisherWithRecord() { diff --git a/kora-app-annotation-processor/src/main/java/ru/tinkoff/kora/kora/app/annotation/processor/GraphBuilder.java b/kora-app-annotation-processor/src/main/java/ru/tinkoff/kora/kora/app/annotation/processor/GraphBuilder.java index 1af7386cd..d9f145535 100644 --- a/kora-app-annotation-processor/src/main/java/ru/tinkoff/kora/kora/app/annotation/processor/GraphBuilder.java +++ b/kora-app-annotation-processor/src/main/java/ru/tinkoff/kora/kora/app/annotation/processor/GraphBuilder.java @@ -197,6 +197,7 @@ public ResolvedGraph build() { } var finalClassComponent = GraphResolutionHelper.findFinalDependency(ctx, dependencyClaim); if (finalClassComponent != null) { + // TODO remove sourceDeclarations.add(finalClassComponent); this.addResolveComponentFrame(componentFrame.withCurrentDependency(currentDependency), finalClassComponent); continue frame; diff --git a/kora-app-symbol-processor/src/main/kotlin/ru/tinkoff/kora/kora/app/ksp/GraphBuilder.kt b/kora-app-symbol-processor/src/main/kotlin/ru/tinkoff/kora/kora/app/ksp/GraphBuilder.kt index c38914561..513d8e5f4 100644 --- a/kora-app-symbol-processor/src/main/kotlin/ru/tinkoff/kora/kora/app/ksp/GraphBuilder.kt +++ b/kora-app-symbol-processor/src/main/kotlin/ru/tinkoff/kora/kora/app/ksp/GraphBuilder.kt @@ -224,6 +224,7 @@ class GraphBuilder { } val finalClassComponent = GraphResolutionHelper.findFinalDependency(ctx, dependencyClaim) if (finalClassComponent != null) { + // TODO remove sourceDeclarations.add(finalClassComponent) stack.addLast(frame.copy(currentDependency = currentDependency)) stack.addLast(ResolutionFrame.Component(finalClassComponent)) diff --git a/kora-app-symbol-processor/src/main/kotlin/ru/tinkoff/kora/kora/app/ksp/component/ComponentDependencyHelper.kt b/kora-app-symbol-processor/src/main/kotlin/ru/tinkoff/kora/kora/app/ksp/component/ComponentDependencyHelper.kt index cf5efd93c..de6f44e90 100644 --- a/kora-app-symbol-processor/src/main/kotlin/ru/tinkoff/kora/kora/app/ksp/component/ComponentDependencyHelper.kt +++ b/kora-app-symbol-processor/src/main/kotlin/ru/tinkoff/kora/kora/app/ksp/component/ComponentDependencyHelper.kt @@ -69,12 +69,12 @@ object ComponentDependencyHelper { fun parseClaim(parameterType: KSType, tags: Set, element: KSAnnotated): DependencyClaim { if (parameterType.isError) { - throw ProcessingErrorException(ProcessingError("Dependency type parameter is not resolvable in the current round of processing: $element\nTry disabling Kora KSP processor dependency and compile without it to check for errors in your codebase (Kotlin and KSP compiler work only this way)", element, Diagnostic.Kind.WARNING)) + throw ProcessingErrorException(ProcessingError("Dependency type parameter is not resolvable in the current round of processing: $element\nTry disabling Kora KSP processor dependency and compile without it to check for errors in your codebase (Kotlin and KSP compiler work only this way)", element, Diagnostic.Kind.ERROR)) } val typeName = try { parameterType.toTypeName() } catch (e: IllegalArgumentException) { - throw ProcessingErrorException(ProcessingError("Dependency type parameter is not resolvable in the current round of processing: $element\nTry disabling Kora KSP processor dependency and compile without it to check for errors in your codebase (Kotlin and KSP compiler work only this way)", element, Diagnostic.Kind.WARNING)) + throw ProcessingErrorException(ProcessingError("Dependency type parameter is not resolvable in the current round of processing: $element\nTry disabling Kora KSP processor dependency and compile without it to check for errors in your codebase (Kotlin and KSP compiler work only this way)", element, Diagnostic.Kind.ERROR)) } if (typeName is ParameterizedTypeName) { val firstTypeParam = parameterType.arguments[0].type!!.resolve() diff --git a/kora-app-symbol-processor/src/test/kotlin/ru/tinkoff/kora/kora/app/ksp/AbstractKoraAppProcessorTest.kt b/kora-app-symbol-processor/src/test/kotlin/ru/tinkoff/kora/kora/app/ksp/AbstractKoraAppProcessorTest.kt index 34eb36f7b..5a8c77263 100644 --- a/kora-app-symbol-processor/src/test/kotlin/ru/tinkoff/kora/kora/app/ksp/AbstractKoraAppProcessorTest.kt +++ b/kora-app-symbol-processor/src/test/kotlin/ru/tinkoff/kora/kora/app/ksp/AbstractKoraAppProcessorTest.kt @@ -4,6 +4,7 @@ import org.intellij.lang.annotations.Language import ru.tinkoff.kora.aop.symbol.processor.AopSymbolProcessorProvider import ru.tinkoff.kora.application.graph.ApplicationGraphDraw import ru.tinkoff.kora.ksp.common.AbstractSymbolProcessorTest +import ru.tinkoff.kora.ksp.common.KotlinCompilation import java.util.function.Supplier abstract class AbstractKoraAppProcessorTest : AbstractSymbolProcessorTest() { @@ -15,7 +16,8 @@ abstract class AbstractKoraAppProcessorTest : AbstractSymbolProcessorTest() { protected fun compile(@Language("kotlin") vararg sources: String): ApplicationGraphDraw { - compile0(listOf(KoraAppProcessorProvider(), AopSymbolProcessorProvider()), *sources) + KotlinCompilation() + .compile(listOf(KoraAppProcessorProvider(), AopSymbolProcessorProvider()), *sources) .assertSuccess() val appClass = loadClass("ExampleApplicationGraph") diff --git a/kora-app-symbol-processor/src/test/kotlin/ru/tinkoff/kora/kora/app/ksp/KoraAppKspTest.kt b/kora-app-symbol-processor/src/test/kotlin/ru/tinkoff/kora/kora/app/ksp/KoraAppKspTest.kt index fb2410e63..0718f7e26 100644 --- a/kora-app-symbol-processor/src/test/kotlin/ru/tinkoff/kora/kora/app/ksp/KoraAppKspTest.kt +++ b/kora-app-symbol-processor/src/test/kotlin/ru/tinkoff/kora/kora/app/ksp/KoraAppKspTest.kt @@ -283,7 +283,7 @@ class KoraAppKspTest { @Test fun extensionShouldHandleAnnotationsItProvidesAnnotationProcessorFor() { - val graphDraw = testClass(AppWithProcessorExtension::class, listOf(AppWithProcessorExtension.TestProcessorProvider())) + val graphDraw = testClass(AppWithProcessorExtension::class, listOf(AppWithProcessorExtensionProcessors.TestProcessorProvider())) assertThat(graphDraw.nodes).hasSize(2) val materializedGraph = graphDraw.init() assertThat(materializedGraph).isNotNull @@ -478,7 +478,8 @@ class KoraAppKspTest { return try { val graphClass = targetClass.qualifiedName + "Graph" val processorsArray = (processorProviders + KoraAppProcessorProvider()) - val classLoader = symbolProcess(processorsArray, listOf(targetClass)) + val classLoader = KotlinCompilation() + .symbolProcess(processorsArray, listOf(targetClass)) val clazz = try { classLoader.loadClass(graphClass) } catch (e: ClassNotFoundException) { diff --git a/kora-app-symbol-processor/src/test/kotlin/ru/tinkoff/kora/kora/app/ksp/KoraBigGraphTest.kt b/kora-app-symbol-processor/src/test/kotlin/ru/tinkoff/kora/kora/app/ksp/KoraBigGraphTest.kt index bef42945e..36cbb733a 100644 --- a/kora-app-symbol-processor/src/test/kotlin/ru/tinkoff/kora/kora/app/ksp/KoraBigGraphTest.kt +++ b/kora-app-symbol-processor/src/test/kotlin/ru/tinkoff/kora/kora/app/ksp/KoraBigGraphTest.kt @@ -4,6 +4,7 @@ import org.assertj.core.api.Assertions import org.junit.jupiter.api.Test import ru.tinkoff.kora.application.graph.ApplicationGraphDraw import ru.tinkoff.kora.ksp.common.AbstractSymbolProcessorTest +import ru.tinkoff.kora.ksp.common.KotlinCompilation import java.util.function.Supplier class KoraBigGraphTest : AbstractSymbolProcessorTest() { @@ -17,7 +18,8 @@ class KoraBigGraphTest : AbstractSymbolProcessorTest() { sb.append(" fun component").append(i).append("() = \"\";\n") } sb.append("}\n") - compile0(listOf(KoraAppProcessorProvider()), sb.toString()) + KotlinCompilation() + .compile(listOf(KoraAppProcessorProvider()), sb.toString()) .assertSuccess() val appClass = loadClass("ExampleApplicationGraph") diff --git a/kora-app-symbol-processor/src/test/kotlin/ru/tinkoff/kora/kora/app/ksp/app/AppWithProcessorExtension.kt b/kora-app-symbol-processor/src/test/kotlin/ru/tinkoff/kora/kora/app/ksp/app/AppWithProcessorExtension.kt index 80082b928..a8c78cfcb 100644 --- a/kora-app-symbol-processor/src/test/kotlin/ru/tinkoff/kora/kora/app/ksp/app/AppWithProcessorExtension.kt +++ b/kora-app-symbol-processor/src/test/kotlin/ru/tinkoff/kora/kora/app/ksp/app/AppWithProcessorExtension.kt @@ -1,22 +1,7 @@ package ru.tinkoff.kora.kora.app.ksp.app -import com.google.devtools.ksp.getClassDeclarationByName -import com.google.devtools.ksp.getConstructors -import com.google.devtools.ksp.processing.* -import com.google.devtools.ksp.symbol.KSAnnotated -import com.google.devtools.ksp.symbol.KSClassDeclaration -import com.google.devtools.ksp.symbol.KSType -import com.squareup.kotlinpoet.FileSpec -import com.squareup.kotlinpoet.KModifier -import com.squareup.kotlinpoet.TypeSpec -import com.squareup.kotlinpoet.ksp.writeTo import ru.tinkoff.kora.common.KoraApp import ru.tinkoff.kora.common.annotation.Root -import ru.tinkoff.kora.kora.app.ksp.extension.ExtensionFactory -import ru.tinkoff.kora.kora.app.ksp.extension.ExtensionResult -import ru.tinkoff.kora.kora.app.ksp.extension.KoraExtension -import ru.tinkoff.kora.ksp.common.KspCommonUtils.generated -import ru.tinkoff.kora.ksp.common.visitClass @KoraApp interface AppWithProcessorExtension { @@ -29,53 +14,4 @@ interface AppWithProcessorExtension { @TestAnnotation interface Interface1 - class TestExtensionExtensionFactory : ExtensionFactory { - - override fun create(resolver: Resolver, kspLogger: KSPLogger, codeGenerator: CodeGenerator): KoraExtension { - return TestExtension(resolver, codeGenerator) - } - } - - class TestProcessorProvider : SymbolProcessorProvider { - override fun create(environment: SymbolProcessorEnvironment): SymbolProcessor { - return TestProcessor(environment.codeGenerator) - } - - } - - class TestProcessor(val codeGenerator: CodeGenerator) : SymbolProcessor { - private lateinit var interfaceDeclaration: KSClassDeclaration - - override fun process(resolver: Resolver): List { - interfaceDeclaration = resolver.getClassDeclarationByName(Interface1::class.qualifiedName!!)!! - val symbols = resolver.getSymbolsWithAnnotation(TestAnnotation::class.qualifiedName!!).toList() - symbols.forEach { - it.visitClass { declaration -> - val packageName = interfaceDeclaration.packageName.asString() - val typeName = "AppWithExtensionInterface1Impl" - val type = TypeSpec.classBuilder(typeName) - .generated(TestProcessor::class) - .addModifiers(KModifier.PUBLIC) - .addSuperinterface(Interface1::class) - .build() - val fileSpec = FileSpec.builder(packageName, typeName).addType(type).build() - fileSpec.writeTo(codeGenerator, false) - } - } - return emptyList() - } - } - - class TestExtension(val resolver: Resolver, val codeGenerator: CodeGenerator) : KoraExtension { - private val interfaceDeclaration = resolver.getClassDeclarationByName(Interface1::class.qualifiedName!!)!! - private val interfaceType = interfaceDeclaration.asStarProjectedType() - override fun getDependencyGenerator(resolver: Resolver, type: KSType, tags: Set): (() -> ExtensionResult)? { - if (type != interfaceType) { - return null - } - val packageName = interfaceDeclaration.packageName.asString() - val typeName = "AppWithExtensionInterface1Impl" - return generatedByProcessorWithName(resolver, interfaceDeclaration, "AppWithExtensionInterface1Impl") - } - } } diff --git a/kora-app-symbol-processor/src/test/kotlin/ru/tinkoff/kora/kora/app/ksp/app/AppWithProcessorExtensionProcessors.kt b/kora-app-symbol-processor/src/test/kotlin/ru/tinkoff/kora/kora/app/ksp/app/AppWithProcessorExtensionProcessors.kt new file mode 100644 index 000000000..bb7256746 --- /dev/null +++ b/kora-app-symbol-processor/src/test/kotlin/ru/tinkoff/kora/kora/app/ksp/app/AppWithProcessorExtensionProcessors.kt @@ -0,0 +1,70 @@ +package ru.tinkoff.kora.kora.app.ksp.app + +import com.google.devtools.ksp.getClassDeclarationByName +import com.google.devtools.ksp.processing.* +import com.google.devtools.ksp.symbol.KSAnnotated +import com.google.devtools.ksp.symbol.KSClassDeclaration +import com.google.devtools.ksp.symbol.KSType +import com.squareup.kotlinpoet.FileSpec +import com.squareup.kotlinpoet.KModifier +import com.squareup.kotlinpoet.TypeSpec +import com.squareup.kotlinpoet.ksp.writeTo +import ru.tinkoff.kora.kora.app.ksp.extension.ExtensionFactory +import ru.tinkoff.kora.kora.app.ksp.extension.ExtensionResult +import ru.tinkoff.kora.kora.app.ksp.extension.KoraExtension +import ru.tinkoff.kora.ksp.common.KspCommonUtils.generated +import ru.tinkoff.kora.ksp.common.visitClass + +class AppWithProcessorExtensionProcessors { + class TestExtensionExtensionFactory : ExtensionFactory { + override fun create(resolver: Resolver, kspLogger: KSPLogger, codeGenerator: CodeGenerator): KoraExtension { + return TestExtension(resolver, codeGenerator) + } + } + + class TestExtension(val resolver: Resolver, val codeGenerator: CodeGenerator) : KoraExtension { + private val interfaceDeclaration = resolver.getClassDeclarationByName(AppWithProcessorExtension.Interface1::class.qualifiedName!!)!! + private val interfaceType = interfaceDeclaration.asStarProjectedType() + override fun getDependencyGenerator(resolver: Resolver, type: KSType, tags: Set): (() -> ExtensionResult)? { + if (type != interfaceType) { + return null + } + val packageName = interfaceDeclaration.packageName.asString() + val typeName = "AppWithExtensionInterface1Impl" + return generatedByProcessorWithName(resolver, interfaceDeclaration, "AppWithExtensionInterface1Impl") + } + } + + class TestProcessorProvider : SymbolProcessorProvider { + override fun create(environment: SymbolProcessorEnvironment): SymbolProcessor { + return TestProcessor(environment.codeGenerator) + } + } + + class TestProcessor(val codeGenerator: CodeGenerator) : SymbolProcessor { + private lateinit var interfaceDeclaration: KSClassDeclaration + + override fun process(resolver: Resolver): List { + interfaceDeclaration = resolver.getClassDeclarationByName(AppWithProcessorExtension.Interface1::class.qualifiedName!!)!! + val symbols = resolver.getSymbolsWithAnnotation(AppWithProcessorExtension.TestAnnotation::class.qualifiedName!!).toList() + symbols.forEach { + it.visitClass { declaration -> + val packageName = interfaceDeclaration.packageName.asString() + val typeName = "AppWithExtensionInterface1Impl" + val type = TypeSpec.classBuilder(typeName) + .generated(TestProcessor::class) + .addModifiers(KModifier.PUBLIC) + .addSuperinterface(AppWithProcessorExtension.Interface1::class) + .build() + val fileSpec = FileSpec.builder(packageName, typeName).addType(type).build() + fileSpec.writeTo(codeGenerator, false) + } + } + return emptyList() + } + } + + + +} + diff --git a/kora-app-symbol-processor/src/test/resources/META-INF/services/ru.tinkoff.kora.kora.app.ksp.extension.ExtensionFactory b/kora-app-symbol-processor/src/test/resources/META-INF/services/ru.tinkoff.kora.kora.app.ksp.extension.ExtensionFactory index 6c7f4805d..ce4570617 100644 --- a/kora-app-symbol-processor/src/test/resources/META-INF/services/ru.tinkoff.kora.kora.app.ksp.extension.ExtensionFactory +++ b/kora-app-symbol-processor/src/test/resources/META-INF/services/ru.tinkoff.kora.kora.app.ksp.extension.ExtensionFactory @@ -1 +1 @@ -ru.tinkoff.kora.kora.app.ksp.app.AppWithProcessorExtension$TestExtensionExtensionFactory +ru.tinkoff.kora.kora.app.ksp.app.AppWithProcessorExtensionProcessors$TestExtensionExtensionFactory diff --git a/mapstruct/mapstruct-ksp-extension/src/test/kotlin/ru/tinkoff/kora/mapstruct/ksp/extension/MapstructKoraExtensionTest.kt b/mapstruct/mapstruct-ksp-extension/src/test/kotlin/ru/tinkoff/kora/mapstruct/ksp/extension/MapstructKoraExtensionTest.kt index d6e77ea6a..fc002eab7 100644 --- a/mapstruct/mapstruct-ksp-extension/src/test/kotlin/ru/tinkoff/kora/mapstruct/ksp/extension/MapstructKoraExtensionTest.kt +++ b/mapstruct/mapstruct-ksp-extension/src/test/kotlin/ru/tinkoff/kora/mapstruct/ksp/extension/MapstructKoraExtensionTest.kt @@ -7,6 +7,7 @@ import ru.tinkoff.kora.kora.app.ksp.KoraAppProcessorProvider import ru.tinkoff.kora.ksp.common.AbstractSymbolProcessorTest import ru.tinkoff.kora.ksp.common.GraphUtil import ru.tinkoff.kora.ksp.common.GraphUtil.toGraph +import ru.tinkoff.kora.ksp.common.KotlinCompilation import java.util.* class MapstructKoraExtensionTest : AbstractSymbolProcessorTest() { @@ -35,7 +36,9 @@ class MapstructKoraExtensionTest : AbstractSymbolProcessorTest() { """.trimIndent() patchedSources[sources.size] = main - super.compile0(listOf(KoraAppProcessorProvider()), *patchedSources) + KotlinCompilation() + .withClasspathJar("mapstruct") + .compile(listOf(KoraAppProcessorProvider()), *patchedSources) compileResult.assertSuccess() return loadClass("TestAppGraph").toGraph() } diff --git a/openapi/openapi-generator/src/test/java/ru/tinkoff/kora/openapi/generator/BaseKotlinOpenapiTest.java b/openapi/openapi-generator/src/test/java/ru/tinkoff/kora/openapi/generator/BaseKotlinOpenapiTest.java index 56edc27b7..e24f78112 100644 --- a/openapi/openapi-generator/src/test/java/ru/tinkoff/kora/openapi/generator/BaseKotlinOpenapiTest.java +++ b/openapi/openapi-generator/src/test/java/ru/tinkoff/kora/openapi/generator/BaseKotlinOpenapiTest.java @@ -40,6 +40,7 @@ protected void process(String name, String mode, String spec, BaseOpenapiTest.Sw } kc.withProcessors(List.of(new JsonSymbolProcessorProvider(), new HttpControllerProcessorProvider(), new HttpClientSymbolProcessorProvider(), new ValidSymbolProcessorProvider(), new AopSymbolProcessorProvider())) + .withClasspathJar("swagger-annotations") .withGeneratedSourcesDir(kotlinSourcesDir) .compile(); diff --git a/resilient/resilient-symbol-processor/src/test/kotlin/ru/tinkoff/kora/resilient/symbol/processor/aop/AppRunner.kt b/resilient/resilient-symbol-processor/src/test/kotlin/ru/tinkoff/kora/resilient/symbol/processor/aop/AppRunner.kt index c4ad12cc7..1bc93ca45 100644 --- a/resilient/resilient-symbol-processor/src/test/kotlin/ru/tinkoff/kora/resilient/symbol/processor/aop/AppRunner.kt +++ b/resilient/resilient-symbol-processor/src/test/kotlin/ru/tinkoff/kora/resilient/symbol/processor/aop/AppRunner.kt @@ -7,6 +7,7 @@ import ru.tinkoff.kora.aop.symbol.processor.AopSymbolProcessorProvider import ru.tinkoff.kora.application.graph.ApplicationGraphDraw import ru.tinkoff.kora.application.graph.RefreshableGraph import ru.tinkoff.kora.kora.app.ksp.KoraAppProcessorProvider +import ru.tinkoff.kora.ksp.common.KotlinCompilation import ru.tinkoff.kora.ksp.common.symbolProcess import ru.tinkoff.kora.resilient.symbol.processor.aop.testdata.AppWithConfig import java.util.function.Supplier @@ -67,7 +68,9 @@ open class AppRunner : Assertions() { } private fun getClassLoader(classes: List>): ClassLoader { - return symbolProcess(listOf(KoraAppProcessorProvider(), AopSymbolProcessorProvider()), classes) + return KotlinCompilation() + .withClasspathJar("config") + .symbolProcess(listOf(KoraAppProcessorProvider(), AopSymbolProcessorProvider()), classes) } fun getGraphForClasses(targetClasses: List>): InitializedGraph { diff --git a/scheduling/scheduling-ksp/src/test/kotlin/ru/tinkoff/kora/scheduling/ksp/SchedulingKspTest.kt b/scheduling/scheduling-ksp/src/test/kotlin/ru/tinkoff/kora/scheduling/ksp/SchedulingKspTest.kt index 9cdb916cf..e62014764 100644 --- a/scheduling/scheduling-ksp/src/test/kotlin/ru/tinkoff/kora/scheduling/ksp/SchedulingKspTest.kt +++ b/scheduling/scheduling-ksp/src/test/kotlin/ru/tinkoff/kora/scheduling/ksp/SchedulingKspTest.kt @@ -6,6 +6,7 @@ import org.assertj.core.api.Assertions import org.junit.jupiter.api.Test import org.quartz.DisallowConcurrentExecution import ru.tinkoff.kora.ksp.common.AbstractSymbolProcessorTest +import ru.tinkoff.kora.ksp.common.KotlinCompilation import ru.tinkoff.kora.ksp.common.symbolProcess import ru.tinkoff.kora.scheduling.ksp.controller.* import kotlin.reflect.KClass @@ -37,7 +38,9 @@ internal class SchedulingKspTest : AbstractSymbolProcessorTest() { } private fun process(type: KClass) { - val cl = symbolProcess(listOf(SchedulingKspProvider()), listOf(type)) + val cl = KotlinCompilation() + .withClasspathJar("quartz") + .symbolProcess(listOf(SchedulingKspProvider()), listOf(type)) val module = cl.loadClass(type.asClassName().packageName + ".$" + type.simpleName + "_SchedulingModule") } @@ -45,8 +48,10 @@ internal class SchedulingKspTest : AbstractSymbolProcessorTest() { @Test fun testDisallowConcurrentExecutionOnClass() { - val cr = compile0( - listOf(SchedulingKspProvider()), """ + val cr = KotlinCompilation() + .withClasspathJar("quartz") + .compile( + listOf(SchedulingKspProvider()), """ @org.quartz.DisallowConcurrentExecution class TestClass { @ru.tinkoff.kora.scheduling.quartz.ScheduleWithTrigger(Tag(TestClass::class)) @@ -54,7 +59,7 @@ internal class SchedulingKspTest : AbstractSymbolProcessorTest() { } """.trimIndent() - ) + ) cr.assertSuccess() val clazz = loadClass("\$TestClass_job_Job") Assertions.assertThat(clazz).hasAnnotation(DisallowConcurrentExecution::class.java) @@ -62,8 +67,10 @@ internal class SchedulingKspTest : AbstractSymbolProcessorTest() { @Test fun testDisallowConcurrentExecutionOnMethod() { - val cr = compile0( - listOf(SchedulingKspProvider()), """ + val cr = KotlinCompilation() + .withClasspathJar("quartz") + .compile( + listOf(SchedulingKspProvider()), """ class TestClass { @ru.tinkoff.kora.scheduling.quartz.ScheduleWithTrigger(Tag(TestClass::class)) @ru.tinkoff.kora.scheduling.quartz.DisallowConcurrentExecution @@ -71,7 +78,7 @@ internal class SchedulingKspTest : AbstractSymbolProcessorTest() { } """.trimIndent() - ) + ) cr.assertSuccess() val clazz = loadClass("\$TestClass_job_Job") Assertions.assertThat(clazz).hasAnnotation(DisallowConcurrentExecution::class.java) diff --git a/symbol-processor-common/src/testFixtures/kotlin/ru/tinkoff/kora/ksp/common/AbstractSymbolProcessorTest.kt b/symbol-processor-common/src/testFixtures/kotlin/ru/tinkoff/kora/ksp/common/AbstractSymbolProcessorTest.kt index dbcd6babb..e2e86c830 100644 --- a/symbol-processor-common/src/testFixtures/kotlin/ru/tinkoff/kora/ksp/common/AbstractSymbolProcessorTest.kt +++ b/symbol-processor-common/src/testFixtures/kotlin/ru/tinkoff/kora/ksp/common/AbstractSymbolProcessorTest.kt @@ -71,6 +71,58 @@ abstract class AbstractSymbolProcessorTest { """.trimIndent() } + protected fun KotlinCompilation.compile(processors: List, @Language("kotlin") vararg sources: String): TestUtils.ProcessingResult { + val testPackage = testPackage() + val testClass: Class<*> = testInfo.testClass.get() + val testMethod: Method = testInfo.testMethod.get() + val commonImports = commonImports() + withProcessors(processors) + .apply { processorsOptions.putAll(compileOptions) } + val sourceList = sequenceOf(*sources) + .map { s: String -> "package $testPackage;\n$commonImports\n/**\n* @see ${testClass.canonicalName}.${testMethod.name} \n*/\n" + s } + .map { s -> + val firstClass = s.indexOf("class ") to "class ".length + val firstInterface = s.indexOf("interface ") to "interface ".length + val classNameLocation = sequenceOf(firstClass, firstInterface) + .filter { it.first >= 0 } + .map { it.first + it.second } + .flatMap { + sequenceOf( + s.indexOf("\n", it + 1), + s.indexOf(" ", it + 1), + s.indexOf("(", it + 1), + s.indexOf("{", it + 1), + s.indexOf(":", it + 1), + s.indexOf("<", it + 1), + ) + .map { it1 -> it to it1 } + } + .filter { it.second >= 0 } + .minBy { it.second } + val className = s.substring(classNameLocation.first - 1, classNameLocation.second) + .trim() + .replaceFirst(Regex("<.*>"), "") + .trim() + val file = baseDir + .resolve("sources") + .resolve(testPackage.replace('.', File.separatorChar)) + .resolve("$className.kt") + Files.createDirectories(file.parent) + Files.deleteIfExists(file) + Files.writeString(file, s, StandardCharsets.UTF_8, StandardOpenOption.CREATE_NEW) + file + } + .toList() + + try { + val cl = withSrc(sourceList).compile() + compileResult = TestUtils.ProcessingResult.Success(cl) + } catch (e: CompilationErrorException) { + compileResult = TestUtils.ProcessingResult.Failure(e.messages) + } + return compileResult + } + protected fun compile0(processors: List, @Language("kotlin") vararg sources: String): TestUtils.ProcessingResult { val testPackage = testPackage() val testClass: Class<*> = testInfo.testClass.get() @@ -105,6 +157,7 @@ abstract class AbstractSymbolProcessorTest { .replaceFirst(Regex("<.*>"), "") .trim() val file = kc.baseDir + .resolve("sources") .resolve(testPackage.replace('.', File.separatorChar)) .resolve("$className.kt") Files.createDirectories(file.parent) diff --git a/symbol-processor-common/src/testFixtures/kotlin/ru/tinkoff/kora/ksp/common/KotlinCompilation.kt b/symbol-processor-common/src/testFixtures/kotlin/ru/tinkoff/kora/ksp/common/KotlinCompilation.kt index 6822db910..381e5ccc0 100644 --- a/symbol-processor-common/src/testFixtures/kotlin/ru/tinkoff/kora/ksp/common/KotlinCompilation.kt +++ b/symbol-processor-common/src/testFixtures/kotlin/ru/tinkoff/kora/ksp/common/KotlinCompilation.kt @@ -9,7 +9,6 @@ import org.jetbrains.kotlin.cli.common.messages.PrintingMessageCollector import org.jetbrains.kotlin.cli.jvm.K2JVMCompiler import org.jetbrains.kotlin.config.Services import ru.tinkoff.kora.ksp.common.TestUtils.asCompilationException -import ru.tinkoff.kora.ksp.common.TestUtils.classpath import java.io.ByteArrayOutputStream import java.io.File import java.io.PrintStream @@ -21,10 +20,7 @@ import java.nio.file.Path import java.nio.file.StandardCopyOption import java.util.* import kotlin.concurrent.atomics.ExperimentalAtomicApi -import kotlin.io.path.ExperimentalPathApi -import kotlin.io.path.absolute -import kotlin.io.path.createDirectories -import kotlin.io.path.deleteRecursively +import kotlin.io.path.* class KotlinCompilation { val processors = arrayListOf() @@ -33,15 +29,30 @@ class KotlinCompilation { val processorsOptions = mutableMapOf() val classpathEntries = mutableListOf() var outputDir = Path.of("build/in-test-generated-ksp/sources") + val classpath = mutableListOf() lateinit var classOutputDir: Path @OptIn(ExperimentalAtomicApi::class) - val baseDir = KotlinCompilation.baseDir.resolve("test" + UUID.randomUUID()).toAbsolutePath() + val baseDir = KotlinCompilation.baseDir.resolve("test-" + UUID.randomUUID()).toAbsolutePath() @OptIn(ExperimentalPathApi::class, ExperimentalAtomicApi::class) constructor() { baseDir.absolute().deleteRecursively() baseDir.absolute().createDirectories() + Path.of("").toAbsolutePath().resolve("build", "libs").toAbsolutePath().walk().map { it.toFile() }.forEach { classpath.add(it) } + classpath.add(Path.of("").toAbsolutePath().resolve("build", "classes", "kotlin", "test").toAbsolutePath().toFile()) + classpath.add(Path.of("").toAbsolutePath().resolve("build", "classes", "java", "test").toAbsolutePath().toFile()) + withClasspathJar("kotlin-stdlib") + .withClasspathJar("micrometer-core") + .withClasspathJar("opentelemetry-context") + .withClasspathJar("opentelemetry-api") + .withClasspathJar("jakarta.annotation-api") + .withClasspathJar("kotlinx-coroutines-core-jvm") + .withClasspathJar("kotlinx-coroutines-jdk8") + .withClasspathJar("slf4j-api") + .withClasspathJar("mockito-core") + .withClasspathJar("jackson-core") + .withClasspathRegex(".*/build/libs/.*jar") } fun withProcessor(p: SymbolProcessorProvider) = apply { processors.add(p) } @@ -52,6 +63,20 @@ class KotlinCompilation { fun withGeneratedSourcesDir(kotlinSourcesDir: Path) = apply { outputDir = kotlinSourcesDir } fun withJavaSrcs(javaFiles: List) = apply { javaSrcFiles.addAll(javaFiles) } + fun withClasspathRegex(regex: String) = apply { + val p = regex.toRegex() + TestUtils.classpath + .filter { p.matches(it) } + .forEach { classpath.add(File(it)) } + } + + fun withClasspathJar(jarName: String) = apply { + val p = (".*/$jarName.*jar$").toRegex() + TestUtils.classpath + .filter { p.matches(it) } + .forEach { classpath.add(File(it)) } + } + fun compile(): ClassLoader { val start = System.currentTimeMillis() val finalGeneratedSourcesPath = outputDir.toAbsolutePath() @@ -77,9 +102,6 @@ class KotlinCompilation { @OptIn(ExperimentalPathApi::class) fun symbolProcessFiles(): List { - val pluginClassPath = classpath.asSequence() - .map { File(it) } - .toList() + classpathEntries.map { it.toFile() } val sw = ByteArrayOutputStream() val collector = PrintingMessageCollector( PrintStream(sw, true, StandardCharsets.UTF_8), MessageRenderer.PLAIN_FULL_PATHS, true @@ -92,7 +114,7 @@ class KotlinCompilation { processorOptions = processorsOptions jdkHome = File(System.getProperty("java.home")) mapAnnotationArgumentsInJava = true - libraries = pluginClassPath + libraries = classpath + classpathEntries.map { it.toFile() } sourceRoots = srcFiles.map { it.toFile() } javaSourceRoots = javaSrcFiles.map { it.toFile() } kotlinOutputDir = baseDir.resolve("kotlinOutputDir").toFile() diff --git a/symbol-processor-common/src/testFixtures/kotlin/ru/tinkoff/kora/ksp/common/TestUtils.kt b/symbol-processor-common/src/testFixtures/kotlin/ru/tinkoff/kora/ksp/common/TestUtils.kt index 5cb7e3744..dcf5ca02d 100644 --- a/symbol-processor-common/src/testFixtures/kotlin/ru/tinkoff/kora/ksp/common/TestUtils.kt +++ b/symbol-processor-common/src/testFixtures/kotlin/ru/tinkoff/kora/ksp/common/TestUtils.kt @@ -91,3 +91,15 @@ fun symbolProcess(processors: List, targetClasses: List .apply { processorsOptions.putAll(params) } .compile() } + +fun KotlinCompilation.symbolProcess(processors: List, targetClasses: List>, params: Map = mapOf()): ClassLoader { + val srcFilesPath = targetClasses + .map { targetClass -> + "src/test/kotlin/" + targetClass.qualifiedName!!.replace(".", "/") + ".kt" + } + .map { Path.of(it) } + return withProcessors(processors) + .withSrc(srcFilesPath) + .apply { processorsOptions.putAll(params) } + .compile() +} diff --git a/validation/validation-symbol-processor/src/test/kotlin/ru/tinkoff/kora/validation/symbol/processor/AbstractValidationSymbolProcessorTest.kt b/validation/validation-symbol-processor/src/test/kotlin/ru/tinkoff/kora/validation/symbol/processor/AbstractValidationSymbolProcessorTest.kt index 182797bfc..9a5b72bf2 100644 --- a/validation/validation-symbol-processor/src/test/kotlin/ru/tinkoff/kora/validation/symbol/processor/AbstractValidationSymbolProcessorTest.kt +++ b/validation/validation-symbol-processor/src/test/kotlin/ru/tinkoff/kora/validation/symbol/processor/AbstractValidationSymbolProcessorTest.kt @@ -1,6 +1,10 @@ package ru.tinkoff.kora.validation.symbol.processor +import org.intellij.lang.annotations.Language +import ru.tinkoff.kora.aop.symbol.processor.AopSymbolProcessorProvider +import ru.tinkoff.kora.kora.app.ksp.KoraAppProcessorProvider import ru.tinkoff.kora.ksp.common.AbstractSymbolProcessorTest +import ru.tinkoff.kora.ksp.common.KotlinCompilation abstract class AbstractValidationSymbolProcessorTest : AbstractSymbolProcessorTest() { @@ -21,4 +25,8 @@ abstract class AbstractValidationSymbolProcessorTest : AbstractSymbolProcessorTe import ru.tinkoff.kora.validation.common.constraint.ValidatorModule """.trimIndent() } + + fun compile(@Language("kotlin") vararg sources: String) = KotlinCompilation() + .withClasspathJar("reactor-core") + .compile(listOf(KoraAppProcessorProvider(), ValidSymbolProcessorProvider(), AopSymbolProcessorProvider()), *sources) } diff --git a/validation/validation-symbol-processor/src/test/kotlin/ru/tinkoff/kora/validation/symbol/processor/ValidateRunner.kt b/validation/validation-symbol-processor/src/test/kotlin/ru/tinkoff/kora/validation/symbol/processor/ValidateRunner.kt index 65b2cbeb4..d197d1411 100644 --- a/validation/validation-symbol-processor/src/test/kotlin/ru/tinkoff/kora/validation/symbol/processor/ValidateRunner.kt +++ b/validation/validation-symbol-processor/src/test/kotlin/ru/tinkoff/kora/validation/symbol/processor/ValidateRunner.kt @@ -4,6 +4,7 @@ import com.google.devtools.ksp.KspExperimental import org.junit.jupiter.api.Assertions import ru.tinkoff.kora.aop.symbol.processor.AopSymbolProcessorProvider import ru.tinkoff.kora.application.graph.TypeRef +import ru.tinkoff.kora.ksp.common.KotlinCompilation import ru.tinkoff.kora.ksp.common.symbolProcess import ru.tinkoff.kora.validation.common.Validator import ru.tinkoff.kora.validation.common.constraint.ValidatorModule @@ -33,7 +34,7 @@ open class ValidateRunner : Assertions(), ) as ValidateSync } - protected open fun getValidateSuspend(): ValidateSuspend{ + protected open fun getValidateSuspend(): ValidateSuspend { val classLoader = getClassLoader() val clazz = classLoader!!.loadClass("ru.tinkoff.kora.validation.symbol.processor.testdata.\$ValidateSuspend__AopProxy") return clazz.constructors[0].newInstance( @@ -46,7 +47,7 @@ open class ValidateRunner : Assertions(), ) as ValidateSuspend } - protected open fun getValidateFlow(): ValidateFlow{ + protected open fun getValidateFlow(): ValidateFlow { val classLoader = getClassLoader() val clazz = classLoader!!.loadClass("ru.tinkoff.kora.validation.symbol.processor.testdata.\$ValidateFlow__AopProxy") return clazz.constructors[0].newInstance( @@ -74,7 +75,9 @@ open class ValidateRunner : Assertions(), ValidateSuspend::class, ValidateFlow::class, ) - classLoader = symbolProcess(listOf(ValidSymbolProcessorProvider(), AopSymbolProcessorProvider()), classes) + classLoader = KotlinCompilation() + .withClasspathJar("reactor-core") + .symbolProcess(listOf(ValidSymbolProcessorProvider(), AopSymbolProcessorProvider()), classes) } classLoader!! } catch (e: Exception) { diff --git a/validation/validation-symbol-processor/src/test/kotlin/ru/tinkoff/kora/validation/symbol/processor/ValidationJsonNullableArgumentNullableSyncTests.kt b/validation/validation-symbol-processor/src/test/kotlin/ru/tinkoff/kora/validation/symbol/processor/ValidationJsonNullableArgumentNullableSyncTests.kt index ddb124e0b..d16848483 100644 --- a/validation/validation-symbol-processor/src/test/kotlin/ru/tinkoff/kora/validation/symbol/processor/ValidationJsonNullableArgumentNullableSyncTests.kt +++ b/validation/validation-symbol-processor/src/test/kotlin/ru/tinkoff/kora/validation/symbol/processor/ValidationJsonNullableArgumentNullableSyncTests.kt @@ -3,18 +3,16 @@ package ru.tinkoff.kora.validation.symbol.processor import org.assertj.core.api.Assertions.assertThat import org.junit.jupiter.api.Assertions.* import org.junit.jupiter.api.Test -import ru.tinkoff.kora.aop.symbol.processor.AopSymbolProcessorProvider import ru.tinkoff.kora.json.common.JsonNullable -import ru.tinkoff.kora.kora.app.ksp.KoraAppProcessorProvider import ru.tinkoff.kora.validation.common.ViolationException import ru.tinkoff.kora.validation.common.constraint.ValidatorModule class ValidationJsonNullableArgumentNullableSyncTests : AbstractValidationSymbolProcessorTest(), ValidatorModule { + @Test fun argumentJsonNullableIsUndefined() { - compile0( - listOf(KoraAppProcessorProvider(), ValidSymbolProcessorProvider(), AopSymbolProcessorProvider()), + compile( """ @Component open class TestComponent { @@ -35,8 +33,7 @@ class ValidationJsonNullableArgumentNullableSyncTests : AbstractValidationSymbol @Test fun argumentJsonNullableIsNull() { - compile0( - listOf(KoraAppProcessorProvider(), ValidSymbolProcessorProvider(), AopSymbolProcessorProvider()), + compile( """ @Component open class TestComponent { @@ -57,8 +54,7 @@ class ValidationJsonNullableArgumentNullableSyncTests : AbstractValidationSymbol @Test fun argumentJsonNullableIsPresent() { - compile0( - listOf(KoraAppProcessorProvider(), ValidSymbolProcessorProvider(), AopSymbolProcessorProvider()), + compile( """ @Component open class TestComponent { @@ -79,8 +75,7 @@ class ValidationJsonNullableArgumentNullableSyncTests : AbstractValidationSymbol @Test fun argumentJsonNullableNonNullIsUndefined() { - compile0( - listOf(KoraAppProcessorProvider(), ValidSymbolProcessorProvider(), AopSymbolProcessorProvider()), + compile( """ @Component open class TestComponent { @@ -103,8 +98,7 @@ class ValidationJsonNullableArgumentNullableSyncTests : AbstractValidationSymbol @Test fun argumentJsonNullableNonNullIsNull() { - compile0( - listOf(KoraAppProcessorProvider(), ValidSymbolProcessorProvider(), AopSymbolProcessorProvider()), + compile( """ @Component open class TestComponent { @@ -127,8 +121,7 @@ class ValidationJsonNullableArgumentNullableSyncTests : AbstractValidationSymbol @Test fun argumentJsonNullableNonNullIsPresent() { - compile0( - listOf(KoraAppProcessorProvider(), ValidSymbolProcessorProvider(), AopSymbolProcessorProvider()), + compile( """ @Component open class TestComponent { @@ -149,8 +142,7 @@ class ValidationJsonNullableArgumentNullableSyncTests : AbstractValidationSymbol @Test fun argumentJsonNullableWithValidatorIsUndefined() { - compile0( - listOf(KoraAppProcessorProvider(), ValidSymbolProcessorProvider(), AopSymbolProcessorProvider()), + compile( """ @Component open class TestComponent { @@ -171,8 +163,7 @@ class ValidationJsonNullableArgumentNullableSyncTests : AbstractValidationSymbol @Test fun argumentJsonNullableWithValidatorIsNull() { - compile0( - listOf(KoraAppProcessorProvider(), ValidSymbolProcessorProvider(), AopSymbolProcessorProvider()), + compile( """ @Component open class TestComponent { @@ -196,8 +187,7 @@ class ValidationJsonNullableArgumentNullableSyncTests : AbstractValidationSymbol @Test fun argumentJsonNullableWithValidatorIsPresent() { - compile0( - listOf(KoraAppProcessorProvider(), ValidSymbolProcessorProvider(), AopSymbolProcessorProvider()), + compile( """ @Component open class TestComponent { @@ -218,8 +208,7 @@ class ValidationJsonNullableArgumentNullableSyncTests : AbstractValidationSymbol @Test fun argumentJsonNullableWithValidatorFailFastIsUndefined() { - compile0( - listOf(KoraAppProcessorProvider(), ValidSymbolProcessorProvider(), AopSymbolProcessorProvider()), + compile( """ @Component open class TestComponent { @@ -240,8 +229,7 @@ class ValidationJsonNullableArgumentNullableSyncTests : AbstractValidationSymbol @Test fun argumentJsonNullableWithValidatorFailFastIsNull() { - compile0( - listOf(KoraAppProcessorProvider(), ValidSymbolProcessorProvider(), AopSymbolProcessorProvider()), + compile( """ @Component open class TestComponent { @@ -265,8 +253,7 @@ class ValidationJsonNullableArgumentNullableSyncTests : AbstractValidationSymbol @Test fun argumentJsonNullableWithValidatorFailFastIsPresent() { - compile0( - listOf(KoraAppProcessorProvider(), ValidSymbolProcessorProvider(), AopSymbolProcessorProvider()), + compile( """ @Component open class TestComponent { diff --git a/validation/validation-symbol-processor/src/test/kotlin/ru/tinkoff/kora/validation/symbol/processor/ValidationJsonNullableArgumentRequiredSyncTests.kt b/validation/validation-symbol-processor/src/test/kotlin/ru/tinkoff/kora/validation/symbol/processor/ValidationJsonNullableArgumentRequiredSyncTests.kt index 35618c97d..f49002bba 100644 --- a/validation/validation-symbol-processor/src/test/kotlin/ru/tinkoff/kora/validation/symbol/processor/ValidationJsonNullableArgumentRequiredSyncTests.kt +++ b/validation/validation-symbol-processor/src/test/kotlin/ru/tinkoff/kora/validation/symbol/processor/ValidationJsonNullableArgumentRequiredSyncTests.kt @@ -3,9 +3,7 @@ package ru.tinkoff.kora.validation.symbol.processor import org.assertj.core.api.Assertions.assertThat import org.junit.jupiter.api.Assertions.* import org.junit.jupiter.api.Test -import ru.tinkoff.kora.aop.symbol.processor.AopSymbolProcessorProvider import ru.tinkoff.kora.json.common.JsonNullable -import ru.tinkoff.kora.kora.app.ksp.KoraAppProcessorProvider import ru.tinkoff.kora.validation.common.ViolationException import ru.tinkoff.kora.validation.common.constraint.ValidatorModule @@ -13,8 +11,7 @@ class ValidationJsonNullableArgumentRequiredSyncTests : AbstractValidationSymbol @Test fun argumentJsonNullableIsUndefined() { - compile0( - listOf(KoraAppProcessorProvider(), ValidSymbolProcessorProvider(), AopSymbolProcessorProvider()), + compile( """ @Component open class TestComponent { @@ -35,8 +32,7 @@ class ValidationJsonNullableArgumentRequiredSyncTests : AbstractValidationSymbol @Test fun argumentJsonNullableIsNull() { - compile0( - listOf(KoraAppProcessorProvider(), ValidSymbolProcessorProvider(), AopSymbolProcessorProvider()), + compile( """ @Component open class TestComponent { @@ -57,8 +53,7 @@ class ValidationJsonNullableArgumentRequiredSyncTests : AbstractValidationSymbol @Test fun argumentJsonNullableIsPresent() { - compile0( - listOf(KoraAppProcessorProvider(), ValidSymbolProcessorProvider(), AopSymbolProcessorProvider()), + compile( """ @Component open class TestComponent { @@ -79,8 +74,7 @@ class ValidationJsonNullableArgumentRequiredSyncTests : AbstractValidationSymbol @Test fun argumentJsonNullableNonNullIsUndefined() { - compile0( - listOf(KoraAppProcessorProvider(), ValidSymbolProcessorProvider(), AopSymbolProcessorProvider()), + compile( """ @Component open class TestComponent { @@ -103,8 +97,7 @@ class ValidationJsonNullableArgumentRequiredSyncTests : AbstractValidationSymbol @Test fun argumentJsonNullableNonNullIsNull() { - compile0( - listOf(KoraAppProcessorProvider(), ValidSymbolProcessorProvider(), AopSymbolProcessorProvider()), + compile( """ @Component open class TestComponent { @@ -127,8 +120,7 @@ class ValidationJsonNullableArgumentRequiredSyncTests : AbstractValidationSymbol @Test fun argumentJsonNullableNonNullIsPresent() { - compile0( - listOf(KoraAppProcessorProvider(), ValidSymbolProcessorProvider(), AopSymbolProcessorProvider()), + compile( """ @Component open class TestComponent { @@ -149,8 +141,7 @@ class ValidationJsonNullableArgumentRequiredSyncTests : AbstractValidationSymbol @Test fun argumentJsonNullableWithValidatorIsUndefined() { - compile0( - listOf(KoraAppProcessorProvider(), ValidSymbolProcessorProvider(), AopSymbolProcessorProvider()), + compile( """ @Component open class TestComponent { @@ -171,8 +162,7 @@ class ValidationJsonNullableArgumentRequiredSyncTests : AbstractValidationSymbol @Test fun argumentJsonNullableWithValidatorIsNull() { - compile0( - listOf(KoraAppProcessorProvider(), ValidSymbolProcessorProvider(), AopSymbolProcessorProvider()), + compile( """ @Component open class TestComponent { @@ -196,8 +186,7 @@ class ValidationJsonNullableArgumentRequiredSyncTests : AbstractValidationSymbol @Test fun argumentJsonNullableWithValidatorIsPresent() { - compile0( - listOf(KoraAppProcessorProvider(), ValidSymbolProcessorProvider(), AopSymbolProcessorProvider()), + compile( """ @Component open class TestComponent { @@ -218,8 +207,7 @@ class ValidationJsonNullableArgumentRequiredSyncTests : AbstractValidationSymbol @Test fun argumentJsonNullableWithValidatorFailFastIsUndefined() { - compile0( - listOf(KoraAppProcessorProvider(), ValidSymbolProcessorProvider(), AopSymbolProcessorProvider()), + compile( """ @Component open class TestComponent { @@ -240,8 +228,7 @@ class ValidationJsonNullableArgumentRequiredSyncTests : AbstractValidationSymbol @Test fun argumentJsonNullableWithValidatorFailFastIsNull() { - compile0( - listOf(KoraAppProcessorProvider(), ValidSymbolProcessorProvider(), AopSymbolProcessorProvider()), + compile( """ @Component open class TestComponent { @@ -265,8 +252,7 @@ class ValidationJsonNullableArgumentRequiredSyncTests : AbstractValidationSymbol @Test fun argumentJsonNullableWithValidatorFailFastIsPresent() { - compile0( - listOf(KoraAppProcessorProvider(), ValidSymbolProcessorProvider(), AopSymbolProcessorProvider()), + compile( """ @Component open class TestComponent { diff --git a/validation/validation-symbol-processor/src/test/kotlin/ru/tinkoff/kora/validation/symbol/processor/ValidationJsonNullableFieldNullableTests.kt b/validation/validation-symbol-processor/src/test/kotlin/ru/tinkoff/kora/validation/symbol/processor/ValidationJsonNullableFieldNullableTests.kt index 1fad21774..7e360a865 100644 --- a/validation/validation-symbol-processor/src/test/kotlin/ru/tinkoff/kora/validation/symbol/processor/ValidationJsonNullableFieldNullableTests.kt +++ b/validation/validation-symbol-processor/src/test/kotlin/ru/tinkoff/kora/validation/symbol/processor/ValidationJsonNullableFieldNullableTests.kt @@ -4,7 +4,6 @@ import org.assertj.core.api.Assertions.assertThat import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Test import ru.tinkoff.kora.json.common.JsonNullable -import ru.tinkoff.kora.kora.app.ksp.KoraAppProcessorProvider import ru.tinkoff.kora.validation.common.ValidationContext import ru.tinkoff.kora.validation.common.Validator import ru.tinkoff.kora.validation.common.constraint.ValidatorModule @@ -13,8 +12,7 @@ class ValidationJsonNullableFieldNullableTests : AbstractValidationSymbolProcess @Test fun fieldJsonNullableIsUndefined() { - compile0( - listOf(KoraAppProcessorProvider(), ValidSymbolProcessorProvider()), + compile( """ @Valid data class TestRecord(val field: JsonNullable?) @@ -32,8 +30,7 @@ class ValidationJsonNullableFieldNullableTests : AbstractValidationSymbolProcess @Test fun fieldJsonNullableIsNull() { - compile0( - listOf(KoraAppProcessorProvider(), ValidSymbolProcessorProvider()), + compile( """ @Valid data class TestRecord(val field: JsonNullable?) @@ -52,8 +49,7 @@ class ValidationJsonNullableFieldNullableTests : AbstractValidationSymbolProcess @Test fun fieldJsonNullableIsPresent() { - compile0( - listOf(KoraAppProcessorProvider(), ValidSymbolProcessorProvider()), + compile( """ @Valid data class TestRecord(val field: JsonNullable?) @@ -72,8 +68,7 @@ class ValidationJsonNullableFieldNullableTests : AbstractValidationSymbolProcess @Test fun fieldJsonNullableNonNullIsUndefined() { - compile0( - listOf(KoraAppProcessorProvider(), ValidSymbolProcessorProvider()), + compile( """ @Valid data class TestRecord(@field:Nonnull val field: JsonNullable?) @@ -92,8 +87,7 @@ class ValidationJsonNullableFieldNullableTests : AbstractValidationSymbolProcess @Test fun fieldJsonNullableNonNullIsNull() { - compile0( - listOf(KoraAppProcessorProvider(), ValidSymbolProcessorProvider()), + compile( """ @Valid data class TestRecord(@field:Nonnull val field: JsonNullable?) @@ -112,8 +106,7 @@ class ValidationJsonNullableFieldNullableTests : AbstractValidationSymbolProcess @Test fun fieldJsonNullableNonNullIsPresent() { - compile0( - listOf(KoraAppProcessorProvider(), ValidSymbolProcessorProvider()), + compile( """ @Valid data class TestRecord(@field:Nonnull val field: JsonNullable?) @@ -132,8 +125,7 @@ class ValidationJsonNullableFieldNullableTests : AbstractValidationSymbolProcess @Test fun fieldJsonNullableWithValidatorIsUndefined() { - compile0( - listOf(KoraAppProcessorProvider(), ValidSymbolProcessorProvider()), + compile( """ @Valid data class TestRecord(@field:NotBlank @field:NotEmpty val field: JsonNullable?) @@ -153,8 +145,7 @@ class ValidationJsonNullableFieldNullableTests : AbstractValidationSymbolProcess @Test fun fieldJsonNullableWithValidatorIsNull() { - compile0( - listOf(KoraAppProcessorProvider(), ValidSymbolProcessorProvider()), + compile( """ @Valid data class TestRecord(@field:NotBlank @field:NotEmpty val field: JsonNullable?) @@ -174,8 +165,7 @@ class ValidationJsonNullableFieldNullableTests : AbstractValidationSymbolProcess @Test fun fieldJsonNullableWithValidatorIsPresent() { - compile0( - listOf(KoraAppProcessorProvider(), ValidSymbolProcessorProvider()), + compile( """ @Valid data class TestRecord(@field:NotBlank @field:NotEmpty val field: JsonNullable?) @@ -195,8 +185,7 @@ class ValidationJsonNullableFieldNullableTests : AbstractValidationSymbolProcess @Test fun fieldJsonNullableWithValidatorFailFastIsUndefined() { - compile0( - listOf(KoraAppProcessorProvider(), ValidSymbolProcessorProvider()), + compile( """ @Valid data class TestRecord(@field:NotBlank @field:NotEmpty val field: JsonNullable?) @@ -216,8 +205,7 @@ class ValidationJsonNullableFieldNullableTests : AbstractValidationSymbolProcess @Test fun fieldJsonNullableWithValidatorFailFastIsNull() { - compile0( - listOf(KoraAppProcessorProvider(), ValidSymbolProcessorProvider()), + compile( """ @Valid data class TestRecord(@field:NotBlank @field:NotEmpty val field: JsonNullable?) @@ -237,8 +225,7 @@ class ValidationJsonNullableFieldNullableTests : AbstractValidationSymbolProcess @Test fun fieldJsonNullableWithValidatorFailFastIsPresent() { - compile0( - listOf(KoraAppProcessorProvider(), ValidSymbolProcessorProvider()), + compile( """ @Valid data class TestRecord(@field:NotBlank @field:NotEmpty val field: JsonNullable?) diff --git a/validation/validation-symbol-processor/src/test/kotlin/ru/tinkoff/kora/validation/symbol/processor/ValidationJsonNullableFieldRequiredTests.kt b/validation/validation-symbol-processor/src/test/kotlin/ru/tinkoff/kora/validation/symbol/processor/ValidationJsonNullableFieldRequiredTests.kt index c45b76f6d..0bbfe2d01 100644 --- a/validation/validation-symbol-processor/src/test/kotlin/ru/tinkoff/kora/validation/symbol/processor/ValidationJsonNullableFieldRequiredTests.kt +++ b/validation/validation-symbol-processor/src/test/kotlin/ru/tinkoff/kora/validation/symbol/processor/ValidationJsonNullableFieldRequiredTests.kt @@ -4,7 +4,6 @@ import org.assertj.core.api.Assertions.assertThat import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Test import ru.tinkoff.kora.json.common.JsonNullable -import ru.tinkoff.kora.kora.app.ksp.KoraAppProcessorProvider import ru.tinkoff.kora.validation.common.ValidationContext import ru.tinkoff.kora.validation.common.Validator import ru.tinkoff.kora.validation.common.constraint.ValidatorModule @@ -13,8 +12,7 @@ class ValidationJsonNullableFieldRequiredTests : AbstractValidationSymbolProcess @Test fun fieldJsonNullableIsUndefined() { - compile0( - listOf(KoraAppProcessorProvider(), ValidSymbolProcessorProvider()), + compile( """ @Valid data class TestRecord(val field: JsonNullable) @@ -32,8 +30,7 @@ class ValidationJsonNullableFieldRequiredTests : AbstractValidationSymbolProcess @Test fun fieldJsonNullableIsNull() { - compile0( - listOf(KoraAppProcessorProvider(), ValidSymbolProcessorProvider()), + compile( """ @Valid data class TestRecord(val field: JsonNullable) @@ -52,8 +49,7 @@ class ValidationJsonNullableFieldRequiredTests : AbstractValidationSymbolProcess @Test fun fieldJsonNullableIsPresent() { - compile0( - listOf(KoraAppProcessorProvider(), ValidSymbolProcessorProvider()), + compile( """ @Valid data class TestRecord(val field: JsonNullable) @@ -72,8 +68,7 @@ class ValidationJsonNullableFieldRequiredTests : AbstractValidationSymbolProcess @Test fun fieldJsonNullableNonNullIsUndefined() { - compile0( - listOf(KoraAppProcessorProvider(), ValidSymbolProcessorProvider()), + compile( """ @Valid data class TestRecord(@field:Nonnull val field: JsonNullable) @@ -92,8 +87,7 @@ class ValidationJsonNullableFieldRequiredTests : AbstractValidationSymbolProcess @Test fun fieldJsonNullableNonNullIsNull() { - compile0( - listOf(KoraAppProcessorProvider(), ValidSymbolProcessorProvider()), + compile( """ @Valid data class TestRecord(@field:Nonnull val field: JsonNullable) @@ -112,8 +106,7 @@ class ValidationJsonNullableFieldRequiredTests : AbstractValidationSymbolProcess @Test fun fieldJsonNullableNonNullIsPresent() { - compile0( - listOf(KoraAppProcessorProvider(), ValidSymbolProcessorProvider()), + compile( """ @Valid data class TestRecord(@field:Nonnull val field: JsonNullable) @@ -132,8 +125,7 @@ class ValidationJsonNullableFieldRequiredTests : AbstractValidationSymbolProcess @Test fun fieldJsonNullableWithValidatorIsUndefined() { - compile0( - listOf(KoraAppProcessorProvider(), ValidSymbolProcessorProvider()), + compile( """ @Valid data class TestRecord(@field:NotBlank @field:NotEmpty val field: JsonNullable) @@ -153,8 +145,7 @@ class ValidationJsonNullableFieldRequiredTests : AbstractValidationSymbolProcess @Test fun fieldJsonNullableWithValidatorIsNull() { - compile0( - listOf(KoraAppProcessorProvider(), ValidSymbolProcessorProvider()), + compile( """ @Valid data class TestRecord(@field:NotBlank @field:NotEmpty val field: JsonNullable) @@ -174,8 +165,7 @@ class ValidationJsonNullableFieldRequiredTests : AbstractValidationSymbolProcess @Test fun fieldJsonNullableWithValidatorIsPresent() { - compile0( - listOf(KoraAppProcessorProvider(), ValidSymbolProcessorProvider()), + compile( """ @Valid data class TestRecord(@field:NotBlank @field:NotEmpty val field: JsonNullable) @@ -195,8 +185,7 @@ class ValidationJsonNullableFieldRequiredTests : AbstractValidationSymbolProcess @Test fun fieldJsonNullableWithValidatorFailFastIsUndefined() { - compile0( - listOf(KoraAppProcessorProvider(), ValidSymbolProcessorProvider()), + compile( """ @Valid data class TestRecord(@field:NotBlank @field:NotEmpty val field: JsonNullable) @@ -216,8 +205,7 @@ class ValidationJsonNullableFieldRequiredTests : AbstractValidationSymbolProcess @Test fun fieldJsonNullableWithValidatorFailFastIsNull() { - compile0( - listOf(KoraAppProcessorProvider(), ValidSymbolProcessorProvider()), + compile( """ @Valid data class TestRecord(@field:NotBlank @field:NotEmpty val field: JsonNullable) @@ -237,8 +225,7 @@ class ValidationJsonNullableFieldRequiredTests : AbstractValidationSymbolProcess @Test fun fieldJsonNullableWithValidatorFailFastIsPresent() { - compile0( - listOf(KoraAppProcessorProvider(), ValidSymbolProcessorProvider()), + compile( """ @Valid data class TestRecord(@field:NotBlank @field:NotEmpty val field: JsonNullable) diff --git a/validation/validation-symbol-processor/src/test/kotlin/ru/tinkoff/kora/validation/symbol/processor/ValidationJsonNullableResultNullableSyncTests.kt b/validation/validation-symbol-processor/src/test/kotlin/ru/tinkoff/kora/validation/symbol/processor/ValidationJsonNullableResultNullableSyncTests.kt index 580fb25b4..a5a6bc3f9 100644 --- a/validation/validation-symbol-processor/src/test/kotlin/ru/tinkoff/kora/validation/symbol/processor/ValidationJsonNullableResultNullableSyncTests.kt +++ b/validation/validation-symbol-processor/src/test/kotlin/ru/tinkoff/kora/validation/symbol/processor/ValidationJsonNullableResultNullableSyncTests.kt @@ -3,8 +3,6 @@ package ru.tinkoff.kora.validation.symbol.processor import org.assertj.core.api.Assertions.assertThat import org.junit.jupiter.api.Assertions.* import org.junit.jupiter.api.Test -import ru.tinkoff.kora.aop.symbol.processor.AopSymbolProcessorProvider -import ru.tinkoff.kora.kora.app.ksp.KoraAppProcessorProvider import ru.tinkoff.kora.validation.common.ViolationException import ru.tinkoff.kora.validation.common.constraint.ValidatorModule @@ -12,8 +10,7 @@ class ValidationJsonNullableResultNullableSyncTests : AbstractValidationSymbolPr @Test fun resultJsonNullableIsUndefined() { - compile0( - listOf(KoraAppProcessorProvider(), ValidSymbolProcessorProvider(), AopSymbolProcessorProvider()), + compile( """ @Component open class TestComponent { @@ -36,8 +33,7 @@ class ValidationJsonNullableResultNullableSyncTests : AbstractValidationSymbolPr @Test fun resultJsonNullableIsNull() { - compile0( - listOf(KoraAppProcessorProvider(), ValidSymbolProcessorProvider(), AopSymbolProcessorProvider()), + compile( """ @Component open class TestComponent { @@ -60,8 +56,7 @@ class ValidationJsonNullableResultNullableSyncTests : AbstractValidationSymbolPr @Test fun resultJsonNullableIsPresent() { - compile0( - listOf(KoraAppProcessorProvider(), ValidSymbolProcessorProvider(), AopSymbolProcessorProvider()), + compile( """ @Component open class TestComponent { @@ -84,8 +79,7 @@ class ValidationJsonNullableResultNullableSyncTests : AbstractValidationSymbolPr @Test fun resultJsonNullableNonNullIsUndefined() { - compile0( - listOf(KoraAppProcessorProvider(), ValidSymbolProcessorProvider(), AopSymbolProcessorProvider()), + compile( """ @Component open class TestComponent { @@ -109,8 +103,7 @@ class ValidationJsonNullableResultNullableSyncTests : AbstractValidationSymbolPr @Test fun resultJsonNullableNonNullIsNull() { - compile0( - listOf(KoraAppProcessorProvider(), ValidSymbolProcessorProvider(), AopSymbolProcessorProvider()), + compile( """ @Component open class TestComponent { @@ -134,8 +127,7 @@ class ValidationJsonNullableResultNullableSyncTests : AbstractValidationSymbolPr @Test fun resultJsonNullableNonNullIsPresent() { - compile0( - listOf(KoraAppProcessorProvider(), ValidSymbolProcessorProvider(), AopSymbolProcessorProvider()), + compile( """ @Component open class TestComponent { @@ -159,8 +151,7 @@ class ValidationJsonNullableResultNullableSyncTests : AbstractValidationSymbolPr @Test fun resultJsonNullableWithValidatorIsUndefined() { - compile0( - listOf(KoraAppProcessorProvider(), ValidSymbolProcessorProvider(), AopSymbolProcessorProvider()), + compile( """ @Component open class TestComponent { @@ -185,8 +176,7 @@ class ValidationJsonNullableResultNullableSyncTests : AbstractValidationSymbolPr @Test fun resultJsonNullableWithValidatorIsNull() { - compile0( - listOf(KoraAppProcessorProvider(), ValidSymbolProcessorProvider(), AopSymbolProcessorProvider()), + compile( """ @Component open class TestComponent { @@ -212,8 +202,7 @@ class ValidationJsonNullableResultNullableSyncTests : AbstractValidationSymbolPr @Test fun resultJsonNullableWithValidatorIsPresent() { - compile0( - listOf(KoraAppProcessorProvider(), ValidSymbolProcessorProvider(), AopSymbolProcessorProvider()), + compile( """ @Component open class TestComponent { @@ -238,8 +227,7 @@ class ValidationJsonNullableResultNullableSyncTests : AbstractValidationSymbolPr @Test fun resultJsonNullableWithValidatorFailFastIsUndefined() { - compile0( - listOf(KoraAppProcessorProvider(), ValidSymbolProcessorProvider(), AopSymbolProcessorProvider()), + compile( """ @Component open class TestComponent { @@ -264,8 +252,7 @@ class ValidationJsonNullableResultNullableSyncTests : AbstractValidationSymbolPr @Test fun resultJsonNullableWithValidatorFailFastIsNull() { - compile0( - listOf(KoraAppProcessorProvider(), ValidSymbolProcessorProvider(), AopSymbolProcessorProvider()), + compile( """ @Component open class TestComponent { @@ -291,8 +278,7 @@ class ValidationJsonNullableResultNullableSyncTests : AbstractValidationSymbolPr @Test fun resultJsonNullableWithValidatorFailFastIsPresent() { - compile0( - listOf(KoraAppProcessorProvider(), ValidSymbolProcessorProvider(), AopSymbolProcessorProvider()), + compile( """ @Component open class TestComponent { diff --git a/validation/validation-symbol-processor/src/test/kotlin/ru/tinkoff/kora/validation/symbol/processor/ValidationJsonNullableResultRequiredSyncTests.kt b/validation/validation-symbol-processor/src/test/kotlin/ru/tinkoff/kora/validation/symbol/processor/ValidationJsonNullableResultRequiredSyncTests.kt index 8700c0edb..fafbcb796 100644 --- a/validation/validation-symbol-processor/src/test/kotlin/ru/tinkoff/kora/validation/symbol/processor/ValidationJsonNullableResultRequiredSyncTests.kt +++ b/validation/validation-symbol-processor/src/test/kotlin/ru/tinkoff/kora/validation/symbol/processor/ValidationJsonNullableResultRequiredSyncTests.kt @@ -3,8 +3,6 @@ package ru.tinkoff.kora.validation.symbol.processor import org.assertj.core.api.Assertions.assertThat import org.junit.jupiter.api.Assertions.* import org.junit.jupiter.api.Test -import ru.tinkoff.kora.aop.symbol.processor.AopSymbolProcessorProvider -import ru.tinkoff.kora.kora.app.ksp.KoraAppProcessorProvider import ru.tinkoff.kora.validation.common.ViolationException import ru.tinkoff.kora.validation.common.constraint.ValidatorModule @@ -12,8 +10,7 @@ class ValidationJsonNullableResultRequiredSyncTests : AbstractValidationSymbolPr @Test fun resultJsonNullableIsUndefined() { - compile0( - listOf(KoraAppProcessorProvider(), ValidSymbolProcessorProvider(), AopSymbolProcessorProvider()), + compile( """ @Component open class TestComponent { @@ -36,8 +33,7 @@ class ValidationJsonNullableResultRequiredSyncTests : AbstractValidationSymbolPr @Test fun resultJsonNullableIsNull() { - compile0( - listOf(KoraAppProcessorProvider(), ValidSymbolProcessorProvider(), AopSymbolProcessorProvider()), + compile( """ @Component open class TestComponent { @@ -60,8 +56,7 @@ class ValidationJsonNullableResultRequiredSyncTests : AbstractValidationSymbolPr @Test fun resultJsonNullableIsPresent() { - compile0( - listOf(KoraAppProcessorProvider(), ValidSymbolProcessorProvider(), AopSymbolProcessorProvider()), + compile( """ @Component open class TestComponent { @@ -84,8 +79,7 @@ class ValidationJsonNullableResultRequiredSyncTests : AbstractValidationSymbolPr @Test fun resultJsonNullableNonNullIsUndefined() { - compile0( - listOf(KoraAppProcessorProvider(), ValidSymbolProcessorProvider(), AopSymbolProcessorProvider()), + compile( """ @Component open class TestComponent { @@ -109,8 +103,7 @@ class ValidationJsonNullableResultRequiredSyncTests : AbstractValidationSymbolPr @Test fun resultJsonNullableNonNullIsNull() { - compile0( - listOf(KoraAppProcessorProvider(), ValidSymbolProcessorProvider(), AopSymbolProcessorProvider()), + compile( """ @Component open class TestComponent { @@ -134,8 +127,7 @@ class ValidationJsonNullableResultRequiredSyncTests : AbstractValidationSymbolPr @Test fun resultJsonNullableNonNullIsPresent() { - compile0( - listOf(KoraAppProcessorProvider(), ValidSymbolProcessorProvider(), AopSymbolProcessorProvider()), + compile( """ @Component open class TestComponent { @@ -159,8 +151,7 @@ class ValidationJsonNullableResultRequiredSyncTests : AbstractValidationSymbolPr @Test fun resultJsonNullableWithValidatorIsUndefined() { - compile0( - listOf(KoraAppProcessorProvider(), ValidSymbolProcessorProvider(), AopSymbolProcessorProvider()), + compile( """ @Component open class TestComponent { @@ -185,8 +176,7 @@ class ValidationJsonNullableResultRequiredSyncTests : AbstractValidationSymbolPr @Test fun resultJsonNullableWithValidatorIsNull() { - compile0( - listOf(KoraAppProcessorProvider(), ValidSymbolProcessorProvider(), AopSymbolProcessorProvider()), + compile( """ @Component open class TestComponent { @@ -212,8 +202,7 @@ class ValidationJsonNullableResultRequiredSyncTests : AbstractValidationSymbolPr @Test fun resultJsonNullableWithValidatorIsPresent() { - compile0( - listOf(KoraAppProcessorProvider(), ValidSymbolProcessorProvider(), AopSymbolProcessorProvider()), + compile( """ @Component open class TestComponent { @@ -238,8 +227,7 @@ class ValidationJsonNullableResultRequiredSyncTests : AbstractValidationSymbolPr @Test fun resultJsonNullableWithValidatorFailFastIsUndefined() { - compile0( - listOf(KoraAppProcessorProvider(), ValidSymbolProcessorProvider(), AopSymbolProcessorProvider()), + compile( """ @Component open class TestComponent { @@ -264,8 +252,7 @@ class ValidationJsonNullableResultRequiredSyncTests : AbstractValidationSymbolPr @Test fun resultJsonNullableWithValidatorFailFastIsNull() { - compile0( - listOf(KoraAppProcessorProvider(), ValidSymbolProcessorProvider(), AopSymbolProcessorProvider()), + compile( """ @Component open class TestComponent { @@ -291,8 +278,7 @@ class ValidationJsonNullableResultRequiredSyncTests : AbstractValidationSymbolPr @Test fun resultJsonNullableWithValidatorFailFastIsPresent() { - compile0( - listOf(KoraAppProcessorProvider(), ValidSymbolProcessorProvider(), AopSymbolProcessorProvider()), + compile( """ @Component open class TestComponent { diff --git a/validation/validation-symbol-processor/src/test/kotlin/ru/tinkoff/kora/validation/symbol/processor/ValidatorSealedTypeTest.kt b/validation/validation-symbol-processor/src/test/kotlin/ru/tinkoff/kora/validation/symbol/processor/ValidatorSealedTypeTest.kt index 3ac1e54c5..d785942ed 100644 --- a/validation/validation-symbol-processor/src/test/kotlin/ru/tinkoff/kora/validation/symbol/processor/ValidatorSealedTypeTest.kt +++ b/validation/validation-symbol-processor/src/test/kotlin/ru/tinkoff/kora/validation/symbol/processor/ValidatorSealedTypeTest.kt @@ -14,7 +14,8 @@ class ValidatorSealedTypeTest : AbstractSymbolProcessorTest() { @Test fun testSealedInterface() { - compile0(listOf(KoraAppProcessorProvider(), ValidSymbolProcessorProvider()), + compile0( + listOf(KoraAppProcessorProvider(), ValidSymbolProcessorProvider()), """ @Valid sealed interface TestInterface { @@ -31,7 +32,8 @@ class ValidatorSealedTypeTest : AbstractSymbolProcessorTest() { @Test fun testExtension() { - compile0(listOf(KoraAppProcessorProvider(), ValidSymbolProcessorProvider()), + compile0( + listOf(KoraAppProcessorProvider(), ValidSymbolProcessorProvider()), """ @Valid sealed interface TestInterface {