Skip to content

Commit 90aa3bd

Browse files
Polishing.
Move tests targeting DefaultAotContext. Original Pull Request: #3391
1 parent f841cac commit 90aa3bd

File tree

2 files changed

+59
-70
lines changed

2 files changed

+59
-70
lines changed

src/test/java/org/springframework/data/aot/AotContextUnitTests.java

Lines changed: 0 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -15,26 +15,15 @@
1515
*/
1616
package org.springframework.data.aot;
1717

18-
import static org.mockito.Mockito.*;
19-
2018
import java.util.function.Consumer;
2119

2220
import org.assertj.core.api.Assertions;
23-
import org.junit.jupiter.api.Test;
2421
import org.junit.jupiter.params.ParameterizedTest;
2522
import org.junit.jupiter.params.provider.CsvSource;
26-
import org.mockito.Mock;
2723
import org.mockito.Mockito;
28-
import org.mockito.junit.jupiter.MockitoSettings;
29-
3024
import org.springframework.aot.generate.GenerationContext;
31-
import org.springframework.aot.test.generate.TestGenerationContext;
32-
import org.springframework.beans.factory.BeanFactory;
3325
import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
3426
import org.springframework.core.env.Environment;
35-
import org.springframework.data.aot.types.Address;
36-
import org.springframework.data.aot.types.Customer;
37-
import org.springframework.data.aot.types.EmptyType1;
3827
import org.springframework.mock.env.MockEnvironment;
3928
import org.springframework.util.StringUtils;
4029

@@ -44,67 +33,8 @@
4433
* @author Mark Paluch
4534
* @author Christoph Strobl
4635
*/
47-
@MockitoSettings(strictness = org.mockito.quality.Strictness.LENIENT)
4836
class AotContextUnitTests {
4937

50-
@Mock BeanFactory beanFactory;
51-
52-
@Mock AotMappingContext mappingContext;
53-
54-
MockEnvironment mockEnvironment = new MockEnvironment();
55-
56-
@Test // GH-2595
57-
void shouldContributeAccessorByDefault() {
58-
59-
contributeAccessor(Address.class);
60-
verify(mappingContext).contribute(Address.class);
61-
}
62-
63-
@Test // GH-2595
64-
void shouldConsiderDisabledAccessors() {
65-
66-
mockEnvironment.setProperty("spring.aot.data.accessors.enabled", "false");
67-
68-
contributeAccessor(Address.class);
69-
70-
verifyNoInteractions(mappingContext);
71-
}
72-
73-
@Test // GH-2595
74-
void shouldApplyExcludeFilters() {
75-
76-
mockEnvironment.setProperty("spring.aot.data.accessors.exclude",
77-
Customer.class.getName() + " , " + EmptyType1.class.getName());
78-
79-
contributeAccessor(Address.class, Customer.class, EmptyType1.class);
80-
81-
verify(mappingContext).contribute(Address.class);
82-
verifyNoMoreInteractions(mappingContext);
83-
}
84-
85-
@Test // GH-2595
86-
void shouldApplyIncludeExcludeFilters() {
87-
88-
mockEnvironment.setProperty("spring.aot.data.accessors.include", Customer.class.getPackageName() + ".Add*");
89-
mockEnvironment.setProperty("spring.aot.data.accessors.exclude", Customer.class.getPackageName() + ".**");
90-
91-
contributeAccessor(Address.class, Customer.class, EmptyType1.class);
92-
93-
verify(mappingContext).contribute(Address.class);
94-
verifyNoMoreInteractions(mappingContext);
95-
}
96-
97-
private void contributeAccessor(Class<?>... classes) {
98-
99-
DefaultAotContext context = new DefaultAotContext(beanFactory, mockEnvironment, mappingContext);
100-
101-
for (Class<?> aClass : classes) {
102-
context.typeConfiguration(aClass, AotTypeConfiguration::contributeAccessors);
103-
}
104-
105-
context.contributeTypeConfigurations(new TestGenerationContext());
106-
}
107-
10838
@ParameterizedTest // GH-3322
10939
@CsvSource({ //
11040
"'spring.aot.repositories.enabled', '', '', '', true", //

src/test/java/org/springframework/data/aot/DefaultAotContextUnitTests.java

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,9 @@
1616
package org.springframework.data.aot;
1717

1818
import static org.assertj.core.api.Assertions.assertThat;
19+
import static org.mockito.Mockito.verify;
20+
import static org.mockito.Mockito.verifyNoInteractions;
21+
import static org.mockito.Mockito.verifyNoMoreInteractions;
1922
import static org.springframework.aot.hint.predicate.RuntimeHintsPredicates.reflection;
2023

2124
import java.util.List;
@@ -27,12 +30,16 @@
2730
import org.springframework.aot.hint.annotation.Reflective;
2831
import org.springframework.aot.test.generate.TestGenerationContext;
2932
import org.springframework.beans.factory.BeanFactory;
33+
import org.springframework.data.aot.types.Address;
34+
import org.springframework.data.aot.types.Customer;
35+
import org.springframework.data.aot.types.EmptyType1;
3036
import org.springframework.mock.env.MockEnvironment;
3137

3238
/**
3339
* Unit tests targeting {@link DefaultAotContext};
3440
*
3541
* @author Christoph Strobl
42+
* @author Mark Paluch
3643
*/
3744
@MockitoSettings(strictness = org.mockito.quality.Strictness.LENIENT)
3845
public class DefaultAotContextUnitTests {
@@ -43,6 +50,47 @@ public class DefaultAotContextUnitTests {
4350

4451
MockEnvironment mockEnvironment = new MockEnvironment();
4552

53+
@Test // GH-2595
54+
void shouldContributeAccessorByDefault() {
55+
56+
contributeAccessor(Address.class);
57+
verify(mappingContext).contribute(Address.class);
58+
}
59+
60+
@Test // GH-2595
61+
void shouldConsiderDisabledAccessors() {
62+
63+
mockEnvironment.setProperty("spring.aot.data.accessors.enabled", "false");
64+
65+
contributeAccessor(Address.class);
66+
67+
verifyNoInteractions(mappingContext);
68+
}
69+
70+
@Test // GH-2595
71+
void shouldApplyExcludeFilters() {
72+
73+
mockEnvironment.setProperty("spring.aot.data.accessors.exclude",
74+
Customer.class.getName() + " , " + EmptyType1.class.getName());
75+
76+
contributeAccessor(Address.class, Customer.class, EmptyType1.class);
77+
78+
verify(mappingContext).contribute(Address.class);
79+
verifyNoMoreInteractions(mappingContext);
80+
}
81+
82+
@Test // GH-2595
83+
void shouldApplyIncludeExcludeFilters() {
84+
85+
mockEnvironment.setProperty("spring.aot.data.accessors.include", Customer.class.getPackageName() + ".Add*");
86+
mockEnvironment.setProperty("spring.aot.data.accessors.exclude", Customer.class.getPackageName() + ".**");
87+
88+
contributeAccessor(Address.class, Customer.class, EmptyType1.class);
89+
90+
verify(mappingContext).contribute(Address.class);
91+
verifyNoMoreInteractions(mappingContext);
92+
}
93+
4694
@Test // GH-3387
4795
void doesNotRegisterReflectionWhenThereIsNothingToRegister() {
4896

@@ -118,6 +166,17 @@ void registerReflectionIfThereIsAnAtReflectiveAnnotationInTheSuperType() throws
118166
.matches(reflection().onMethodInvocation(DummyWithAtReflective.class.getMethod("getValue")).negate());
119167
}
120168

169+
private void contributeAccessor(Class<?>... classes) {
170+
171+
DefaultAotContext context = new DefaultAotContext(beanFactory, mockEnvironment, mappingContext);
172+
173+
for (Class<?> aClass : classes) {
174+
context.typeConfiguration(aClass, AotTypeConfiguration::contributeAccessors);
175+
}
176+
177+
context.contributeTypeConfigurations(new TestGenerationContext());
178+
}
179+
121180
static class Dummy {
122181

123182
String value;

0 commit comments

Comments
 (0)