AllOpen: Support @SpringBootTest annotation (KT-18262)
This commit is contained in:
@@ -41,7 +41,8 @@ class AllOpenCommandLineProcessor : CommandLineProcessor {
|
|||||||
"org.springframework.stereotype.Component",
|
"org.springframework.stereotype.Component",
|
||||||
"org.springframework.transaction.annotation.Transactional",
|
"org.springframework.transaction.annotation.Transactional",
|
||||||
"org.springframework.scheduling.annotation.Async",
|
"org.springframework.scheduling.annotation.Async",
|
||||||
"org.springframework.cache.annotation.Cacheable"))
|
"org.springframework.cache.annotation.Cacheable",
|
||||||
|
"org.springframework.boot.test.context.SpringBootTest"))
|
||||||
|
|
||||||
val ANNOTATION_OPTION = CliOption("annotation", "<fqname>", "Annotation qualified names",
|
val ANNOTATION_OPTION = CliOption("annotation", "<fqname>", "Annotation qualified names",
|
||||||
required = false, allowMultipleOccurrences = true)
|
required = false, allowMultipleOccurrences = true)
|
||||||
|
|||||||
@@ -0,0 +1,45 @@
|
|||||||
|
// FILE: component.kt
|
||||||
|
package org.springframework.stereotype
|
||||||
|
annotation class Component
|
||||||
|
|
||||||
|
// FILE: transactional.kt
|
||||||
|
package org.springframework.transaction.annotation
|
||||||
|
annotation class Transactional
|
||||||
|
|
||||||
|
// FILE: async.kt
|
||||||
|
package org.springframework.scheduling.annotation
|
||||||
|
annotation class Async
|
||||||
|
|
||||||
|
// FILE: cacheable.kt
|
||||||
|
package org.springframework.cache.annotation
|
||||||
|
annotation class Cacheable
|
||||||
|
|
||||||
|
// FILE: springBootTest.kt
|
||||||
|
package org.springframework.boot.test.context
|
||||||
|
annotation class SpringBootTest
|
||||||
|
|
||||||
|
// FILE: main.kt
|
||||||
|
package test
|
||||||
|
|
||||||
|
import org.springframework.stereotype.*
|
||||||
|
import org.springframework.transaction.annotation.*
|
||||||
|
import org.springframework.scheduling.annotation.*
|
||||||
|
import org.springframework.cache.annotation.*
|
||||||
|
import org.springframework.boot.test.context.*
|
||||||
|
|
||||||
|
@Component
|
||||||
|
class TestComponent
|
||||||
|
|
||||||
|
@Transactional
|
||||||
|
class TestTransactional
|
||||||
|
|
||||||
|
@Async
|
||||||
|
class TestAsync
|
||||||
|
|
||||||
|
@Cacheable
|
||||||
|
class TestCacheable
|
||||||
|
|
||||||
|
@SpringBootTest
|
||||||
|
class TestSpringBootTest
|
||||||
|
|
||||||
|
class NoAnno
|
||||||
@@ -0,0 +1,54 @@
|
|||||||
|
@java.lang.annotation.Retention
|
||||||
|
@kotlin.Metadata
|
||||||
|
public annotation class org/springframework/boot/test/context/SpringBootTest
|
||||||
|
|
||||||
|
@java.lang.annotation.Retention
|
||||||
|
@kotlin.Metadata
|
||||||
|
public annotation class org/springframework/cache/annotation/Cacheable
|
||||||
|
|
||||||
|
@java.lang.annotation.Retention
|
||||||
|
@kotlin.Metadata
|
||||||
|
public annotation class org/springframework/scheduling/annotation/Async
|
||||||
|
|
||||||
|
@java.lang.annotation.Retention
|
||||||
|
@kotlin.Metadata
|
||||||
|
public annotation class org/springframework/stereotype/Component
|
||||||
|
|
||||||
|
@java.lang.annotation.Retention
|
||||||
|
@kotlin.Metadata
|
||||||
|
public annotation class org/springframework/transaction/annotation/Transactional
|
||||||
|
|
||||||
|
@kotlin.Metadata
|
||||||
|
public final class test/NoAnno {
|
||||||
|
public method <init>(): void
|
||||||
|
}
|
||||||
|
|
||||||
|
@org.springframework.scheduling.annotation.Async
|
||||||
|
@kotlin.Metadata
|
||||||
|
public class test/TestAsync {
|
||||||
|
public method <init>(): void
|
||||||
|
}
|
||||||
|
|
||||||
|
@org.springframework.cache.annotation.Cacheable
|
||||||
|
@kotlin.Metadata
|
||||||
|
public class test/TestCacheable {
|
||||||
|
public method <init>(): void
|
||||||
|
}
|
||||||
|
|
||||||
|
@org.springframework.stereotype.Component
|
||||||
|
@kotlin.Metadata
|
||||||
|
public class test/TestComponent {
|
||||||
|
public method <init>(): void
|
||||||
|
}
|
||||||
|
|
||||||
|
@org.springframework.boot.test.context.SpringBootTest
|
||||||
|
@kotlin.Metadata
|
||||||
|
public class test/TestSpringBootTest {
|
||||||
|
public method <init>(): void
|
||||||
|
}
|
||||||
|
|
||||||
|
@org.springframework.transaction.annotation.Transactional
|
||||||
|
@kotlin.Metadata
|
||||||
|
public class test/TestTransactional {
|
||||||
|
public method <init>(): void
|
||||||
|
}
|
||||||
+5
-2
@@ -22,8 +22,11 @@ import org.jetbrains.kotlin.extensions.DeclarationAttributeAltererExtension
|
|||||||
|
|
||||||
abstract class AbstractBytecodeListingTestForAllOpen : AbstractBytecodeListingTest() {
|
abstract class AbstractBytecodeListingTestForAllOpen : AbstractBytecodeListingTest() {
|
||||||
override fun setupEnvironment(environment: KotlinCoreEnvironment) {
|
override fun setupEnvironment(environment: KotlinCoreEnvironment) {
|
||||||
|
val annotations = AbstractAllOpenDeclarationAttributeAltererExtension.ANNOTATIONS_FOR_TESTS +
|
||||||
|
AllOpenCommandLineProcessor.SUPPORTED_PRESETS.flatMap { it.value }
|
||||||
|
|
||||||
DeclarationAttributeAltererExtension.registerExtension(
|
DeclarationAttributeAltererExtension.registerExtension(
|
||||||
environment.project, CliAllOpenDeclarationAttributeAltererExtension(
|
environment.project,
|
||||||
AbstractAllOpenDeclarationAttributeAltererExtension.ANNOTATIONS_FOR_TESTS))
|
CliAllOpenDeclarationAttributeAltererExtension(annotations))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
+6
@@ -102,6 +102,12 @@ public class BytecodeListingTestForAllOpenGenerated extends AbstractBytecodeList
|
|||||||
doTest(fileName);
|
doTest(fileName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@TestMetadata("springAnnotations.kt")
|
||||||
|
public void testSpringAnnotations() throws Exception {
|
||||||
|
String fileName = KotlinTestUtils.navigationMetadata("plugins/allopen/allopen-cli/testData/bytecodeListing/springAnnotations.kt");
|
||||||
|
doTest(fileName);
|
||||||
|
}
|
||||||
|
|
||||||
@TestMetadata("superClassAnnotation.kt")
|
@TestMetadata("superClassAnnotation.kt")
|
||||||
public void testSuperClassAnnotation() throws Exception {
|
public void testSuperClassAnnotation() throws Exception {
|
||||||
String fileName = KotlinTestUtils.navigationMetadata("plugins/allopen/allopen-cli/testData/bytecodeListing/superClassAnnotation.kt");
|
String fileName = KotlinTestUtils.navigationMetadata("plugins/allopen/allopen-cli/testData/bytecodeListing/superClassAnnotation.kt");
|
||||||
|
|||||||
Reference in New Issue
Block a user