Remove auto-configurations from starter modules

This commit is contained in:
Brian Clozel
2020-09-16 16:09:37 +02:00
parent 39e22eb81a
commit 1e61beb0a4
11 changed files with 1 additions and 208 deletions

View File

@@ -2,6 +2,5 @@ description = "Starter for building GraphQL Java applications with Spring MVC"
dependencies {
api project(':spring-graphql-web')
api 'io.projectreactor:reactor-core'
api 'org.springframework.boot:spring-boot-starter-web'
}

View File

@@ -1,23 +0,0 @@
package org.springframework.boot.graphql.servlet;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication;
import org.springframework.graphql.servlet.components.GraphQLController;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import javax.annotation.PostConstruct;
@Configuration
@ConditionalOnWebApplication
@ComponentScan(basePackageClasses = GraphQLController.class)
public class GraphQLEndpointConfiguration {
@Autowired
ApplicationContext applicationContext;
@PostConstruct
public void init() {
}
}

View File

@@ -1,6 +0,0 @@
@NonNullApi
@NonNullFields
package org.springframework.boot.graphql.servlet;
import org.springframework.lang.NonNullApi;
import org.springframework.lang.NonNullFields;

View File

@@ -1,2 +0,0 @@
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
org.springframework.boot.graphql.servlet.GraphQLEndpointConfiguration

View File

@@ -1,54 +0,0 @@
package org.springframework.boot.graphql.servlet;
import graphql.ExecutionInput;
import graphql.ExecutionResultImpl;
import graphql.GraphQL;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.ArgumentCaptor;
import org.mockito.Mockito;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.boot.test.web.client.TestRestTemplate;
import org.springframework.http.ResponseEntity;
import org.springframework.test.context.junit.jupiter.SpringExtension;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.concurrent.CompletableFuture;
import static org.assertj.core.api.Assertions.assertThat;
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
@ExtendWith(SpringExtension.class)
public class IntegrationTest {
@Autowired
private TestRestTemplate restTemplate;
@Autowired
GraphQL graphql;
@Test
public void endpointIsAvailable() {
String query = "{foo}";
ExecutionResultImpl executionResult = ExecutionResultImpl.newExecutionResult()
.data("bar")
.build();
CompletableFuture cf = CompletableFuture.completedFuture(executionResult);
ArgumentCaptor<ExecutionInput> captor = ArgumentCaptor.forClass(ExecutionInput.class);
Mockito.when(graphql.executeAsync(captor.capture())).thenReturn(cf);
Map<String, String> body = new LinkedHashMap<>();
body.put("query", query);
ResponseEntity responseEntity = this.restTemplate.postForEntity("/graphql", body, Map.class);
Map responseBody = (Map) responseEntity.getBody();
assertThat(responseBody.get("data")).isEqualTo("bar");
assertThat(captor.getValue().getQuery()).isEqualTo(query);
}
}

View File

@@ -1,18 +0,0 @@
package org.springframework.boot.graphql.servlet;
import graphql.GraphQL;
import org.mockito.Mockito;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Bean;
@SpringBootApplication
public class IntegrationTestConfig {
@Bean
public GraphQL graphQL() {
return Mockito.mock(GraphQL.class);
}
}

View File

@@ -1,23 +0,0 @@
package org.springframework.boot.graphql.reactive;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.graphql.reactive.components.GraphQLController;
import javax.annotation.PostConstruct;
@Configuration
@ConditionalOnWebApplication
@ComponentScan(basePackageClasses = GraphQLController.class)
public class GraphQLEndpointConfiguration {
@Autowired
ApplicationContext applicationContext;
@PostConstruct
public void init() {
}
}

View File

@@ -1,6 +0,0 @@
@NonNullApi
@NonNullFields
package org.springframework.boot.graphql.reactive;
import org.springframework.lang.NonNullApi;
import org.springframework.lang.NonNullFields;

View File

@@ -1,2 +1,2 @@
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
org.springframework.boot.graphql.reactive.GraphQLEndpointConfiguration
org.springframework.boot.graphql.reactive.GraphQLWebFluxAutoConfiguration

View File

@@ -1,56 +0,0 @@
package org.springframework.boot.graphql.reactive;
import graphql.ExecutionInput;
import graphql.ExecutionResultImpl;
import graphql.GraphQL;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.ArgumentCaptor;
import org.mockito.Mockito;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit.jupiter.SpringExtension;
import org.springframework.test.web.reactive.server.WebTestClient;
import org.springframework.web.reactive.function.BodyInserters;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.concurrent.CompletableFuture;
import static org.assertj.core.api.Assertions.assertThat;
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
@ExtendWith(SpringExtension.class)
public class IntegrationTest {
@Autowired
WebTestClient webClient;
@Autowired
GraphQL graphql;
@Test
public void endpointIsAvailable() {
String query = "{foo}";
ExecutionResultImpl executionResult = ExecutionResultImpl.newExecutionResult()
.data("bar")
.build();
CompletableFuture cf = CompletableFuture.completedFuture(executionResult);
ArgumentCaptor<ExecutionInput> captor = ArgumentCaptor.forClass(ExecutionInput.class);
Mockito.when(graphql.executeAsync(captor.capture())).thenReturn(cf);
Map<String, String> body = new LinkedHashMap<>();
body.put("query", query);
Map<String, Object> expectedResult = new LinkedHashMap<>();
expectedResult.put("data", "bar");
this.webClient.post().uri("/graphql").body(BodyInserters.fromValue(body)).exchange().expectStatus().isOk()
.expectBody(Map.class).isEqualTo(expectedResult);
Assertions.assertThat(captor.getValue().getQuery()).isEqualTo(query);
}
}

View File

@@ -1,18 +0,0 @@
package org.springframework.boot.graphql.reactive;
import graphql.GraphQL;
import org.mockito.Mockito;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Bean;
@SpringBootApplication
public class IntegrationTestConfig {
@Bean
public GraphQL graphQL() {
return Mockito.mock(GraphQL.class);
}
}