This commit is contained in:
Johnny Lim
2023-02-15 22:22:58 +09:00
parent 3e3f046dc9
commit ce3be72e7f
18 changed files with 49 additions and 51 deletions

View File

@@ -16,10 +16,9 @@
package org.springframework.context.aot
import org.assertj.core.api.Assertions
import org.assertj.core.api.Assertions.assertThat
import org.junit.jupiter.api.Test
import org.mockito.Mockito
import org.springframework.aot.generate.GenerationContext
import org.springframework.aot.hint.MemberCategory
import org.springframework.aot.hint.predicate.RuntimeHintsPredicates
import org.springframework.aot.test.generate.TestGenerationContext
@@ -41,7 +40,7 @@ class KotlinReflectionBeanRegistrationAotProcessorTests {
@Test
fun processorIsRegistered() {
Assertions.assertThat(
assertThat(
AotServices.factories(javaClass.classLoader).load(BeanRegistrationAotProcessor::class.java))
.anyMatch(KotlinReflectionBeanRegistrationAotProcessor::class.java::isInstance)
}
@@ -49,12 +48,12 @@ class KotlinReflectionBeanRegistrationAotProcessorTests {
@Test
fun shouldProcessKotlinBean() {
process(SampleKotlinBean::class.java)
Assertions.assertThat(
assertThat(
RuntimeHintsPredicates.reflection()
.onType(SampleKotlinBean::class.java)
.withMemberCategory(MemberCategory.INTROSPECT_DECLARED_METHODS)
).accepts(generationContext.runtimeHints)
Assertions.assertThat(
assertThat(
RuntimeHintsPredicates.reflection()
.onType(BaseKotlinBean::class.java)
.withMemberCategory(MemberCategory.INTROSPECT_DECLARED_METHODS)
@@ -64,7 +63,7 @@ class KotlinReflectionBeanRegistrationAotProcessorTests {
@Test
fun shouldNotProcessJavaBean() {
process(SampleJavaBean::class.java)
Assertions.assertThat(generationContext.runtimeHints.reflection().typeHints()).isEmpty()
assertThat(generationContext.runtimeHints.reflection().typeHints()).isEmpty()
}
private fun process(beanClass: Class<*>) {

View File

@@ -20,7 +20,8 @@ import jakarta.validation.ValidationException
import jakarta.validation.Validator
import jakarta.validation.constraints.NotEmpty
import kotlinx.coroutines.runBlocking
import org.assertj.core.api.Assertions
import org.assertj.core.api.Assertions.assertThat
import org.assertj.core.api.Assertions.assertThatExceptionOfType
import org.junit.jupiter.api.Test
import org.springframework.aop.framework.ProxyFactory
import org.springframework.validation.annotation.Validated
@@ -41,8 +42,8 @@ class KotlinMethodValidationTests {
validator.afterPropertiesSet()
proxyFactory.addAdvice(MethodValidationInterceptor(validator as Validator))
val proxy = proxyFactory.getProxy() as MyValidBean
Assertions.assertThat(proxy.validName("name")).isEqualTo("name")
Assertions.assertThatExceptionOfType(ValidationException::class.java).isThrownBy {
assertThat(proxy.validName("name")).isEqualTo("name")
assertThatExceptionOfType(ValidationException::class.java).isThrownBy {
proxy.validName("")
}
}
@@ -55,8 +56,8 @@ class KotlinMethodValidationTests {
validator.afterPropertiesSet()
proxyFactory.addAdvice(MethodValidationInterceptor(validator as Validator))
val proxy = proxyFactory.getProxy() as MyValidCoroutinesBean
Assertions.assertThat(proxy.validName("name")).isEqualTo("name")
Assertions.assertThatExceptionOfType(ValidationException::class.java).isThrownBy {
assertThat(proxy.validName("name")).isEqualTo("name")
assertThatExceptionOfType(ValidationException::class.java).isThrownBy {
runBlocking {
proxy.validName("")
}