Test that GraphQL QueryDSL auto-config backs off without Query DSL

See gh-34974
This commit is contained in:
Andy Wilkinson
2023-09-11 12:53:45 +01:00
parent 671b04e3e3
commit 14a59a33dc
3 changed files with 18 additions and 1 deletions

View File

@@ -217,7 +217,6 @@ dependencies {
testImplementation("com.ibm.db2:jcc")
testImplementation("com.jayway.jsonpath:json-path")
testImplementation("com.mysql:mysql-connector-j")
testImplementation("com.querydsl:querydsl-core")
testImplementation("com.squareup.okhttp3:mockwebserver")
testImplementation("com.sun.xml.messaging.saaj:saaj-impl")
testImplementation("io.projectreactor:reactor-test")

View File

@@ -23,6 +23,7 @@ import org.junit.jupiter.api.Test;
import org.springframework.boot.autoconfigure.AutoConfigurations;
import org.springframework.boot.autoconfigure.graphql.Book;
import org.springframework.boot.autoconfigure.graphql.GraphQlAutoConfiguration;
import org.springframework.boot.test.context.FilteredClassLoader;
import org.springframework.boot.test.context.runner.WebApplicationContextRunner;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@@ -33,6 +34,7 @@ import org.springframework.graphql.data.GraphQlRepository;
import org.springframework.graphql.test.tester.ExecutionGraphQlServiceTester;
import org.springframework.graphql.test.tester.GraphQlTester;
import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.BDDMockito.given;
import static org.mockito.Mockito.mock;
@@ -65,6 +67,13 @@ class GraphQlQuerydslAutoConfigurationTests {
});
}
@Test
void shouldBackOffWithoutQueryDsl() {
this.contextRunner.withClassLoader(new FilteredClassLoader("com.querydsl.core"))
.run((context) -> assertThat(context).doesNotHaveBean("querydslRegistrar")
.doesNotHaveBean(GraphQlQuerydslAutoConfiguration.class));
}
@Configuration(proxyBeanMethods = false)
static class MockRepositoryConfig {

View File

@@ -22,6 +22,7 @@ import reactor.core.publisher.Mono;
import org.springframework.boot.autoconfigure.AutoConfigurations;
import org.springframework.boot.autoconfigure.graphql.Book;
import org.springframework.boot.autoconfigure.graphql.GraphQlAutoConfiguration;
import org.springframework.boot.test.context.FilteredClassLoader;
import org.springframework.boot.test.context.runner.ReactiveWebApplicationContextRunner;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@@ -32,6 +33,7 @@ import org.springframework.graphql.data.GraphQlRepository;
import org.springframework.graphql.test.tester.ExecutionGraphQlServiceTester;
import org.springframework.graphql.test.tester.GraphQlTester;
import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.BDDMockito.given;
import static org.mockito.Mockito.mock;
@@ -64,6 +66,13 @@ class GraphQlReactiveQuerydslAutoConfigurationTests {
});
}
@Test
void shouldBackOffWithoutQueryDsl() {
this.contextRunner.withClassLoader(new FilteredClassLoader("com.querydsl.core"))
.run((context) -> assertThat(context).doesNotHaveBean("querydslRegistrar")
.doesNotHaveBean(GraphQlReactiveQuerydslAutoConfiguration.class));
}
@Configuration(proxyBeanMethods = false)
static class MockRepositoryConfig {