Reformat sample applications
Fixes gh-54
This commit is contained in:
@@ -22,8 +22,8 @@ import org.springframework.web.server.WebFilter;
|
||||
import org.springframework.web.server.WebFilterChain;
|
||||
|
||||
/**
|
||||
* WebFilter that inserts a key-value pair into the Reactor context which is
|
||||
* transferred to and accessible in Reactor data fetchers.
|
||||
* WebFilter that inserts a key-value pair into the Reactor context which is transferred
|
||||
* to and accessible in Reactor data fetchers.
|
||||
*/
|
||||
public class ContextWebFilter implements WebFilter {
|
||||
|
||||
|
||||
@@ -41,19 +41,17 @@ public class DataRepository {
|
||||
}
|
||||
|
||||
public Flux<String> getGreetings(DataFetchingEnvironment environment) {
|
||||
return Mono.delay(Duration.ofMillis(50)).flatMapMany(aLong ->
|
||||
Flux.deferContextual(context -> {
|
||||
String name = context.get("name");
|
||||
return Flux.just("Hi", "Bonjour", "Hola", "Ciao", "Zdravo").map(s -> s + " " + name);
|
||||
}));
|
||||
return Mono.delay(Duration.ofMillis(50)).flatMapMany(aLong -> Flux.deferContextual(context -> {
|
||||
String name = context.get("name");
|
||||
return Flux.just("Hi", "Bonjour", "Hola", "Ciao", "Zdravo").map(s -> s + " " + name);
|
||||
}));
|
||||
}
|
||||
|
||||
public Flux<String> getGreetingsStream(DataFetchingEnvironment environment) {
|
||||
return Mono.delay(Duration.ofMillis(50)).flatMapMany(aLong ->
|
||||
Flux.deferContextual(context -> {
|
||||
String name = context.get("name");
|
||||
return Flux.just("Hi", "Bonjour", "Hola", "Ciao", "Zdravo").map(s -> s + " " + name);
|
||||
}));
|
||||
return Mono.delay(Duration.ofMillis(50)).flatMapMany(aLong -> Flux.deferContextual(context -> {
|
||||
String name = context.get("name");
|
||||
return Flux.just("Hi", "Bonjour", "Hola", "Ciao", "Zdravo").map(s -> s + " " + name);
|
||||
}));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -26,26 +26,22 @@ public class SampleWiring implements RuntimeWiringCustomizer {
|
||||
|
||||
private final DataRepository dataRepository;
|
||||
|
||||
|
||||
public SampleWiring(@Autowired DataRepository dataRepository) {
|
||||
this.dataRepository = dataRepository;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void customize(RuntimeWiring.Builder builder) {
|
||||
|
||||
builder.type("Query", typeBuilder ->
|
||||
typeBuilder.dataFetcher("greeting", this.dataRepository::getBasic));
|
||||
builder.type("Query", typeBuilder -> typeBuilder.dataFetcher("greeting", this.dataRepository::getBasic));
|
||||
|
||||
builder.type("Query", typeBuilder ->
|
||||
typeBuilder.dataFetcher("greetingMono", this.dataRepository::getGreeting));
|
||||
builder.type("Query", typeBuilder -> typeBuilder.dataFetcher("greetingMono", this.dataRepository::getGreeting));
|
||||
|
||||
builder.type("Query", typeBuilder ->
|
||||
typeBuilder.dataFetcher("greetingsFlux", this.dataRepository::getGreetings));
|
||||
builder.type("Query",
|
||||
typeBuilder -> typeBuilder.dataFetcher("greetingsFlux", this.dataRepository::getGreetings));
|
||||
|
||||
builder.type("Subscription", typeBuilder ->
|
||||
typeBuilder.dataFetcher("greetings", this.dataRepository::getGreetingsStream));
|
||||
builder.type("Subscription",
|
||||
typeBuilder -> typeBuilder.dataFetcher("greetings", this.dataRepository::getGreetingsStream));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -32,29 +32,21 @@ public class QueryTests {
|
||||
|
||||
private GraphQlTester graphQlTester;
|
||||
|
||||
|
||||
@BeforeEach
|
||||
public void setUp(@Autowired WebGraphQlHandler handler) {
|
||||
this.graphQlTester = GraphQlTester.create(webInput ->
|
||||
handler.handle(webInput).contextWrite(context -> context.put("name", "James")));
|
||||
this.graphQlTester = GraphQlTester
|
||||
.create(webInput -> handler.handle(webInput).contextWrite(context -> context.put("name", "James")));
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
void greetingMono() {
|
||||
this.graphQlTester.query("{greetingMono}")
|
||||
.execute()
|
||||
.path("greetingMono")
|
||||
.entity(String.class)
|
||||
this.graphQlTester.query("{greetingMono}").execute().path("greetingMono").entity(String.class)
|
||||
.isEqualTo("Hello James");
|
||||
}
|
||||
|
||||
@Test
|
||||
void greetingsFlux() {
|
||||
this.graphQlTester.query("{greetingsFlux}")
|
||||
.execute()
|
||||
.path("greetingsFlux")
|
||||
.entityList(String.class)
|
||||
this.graphQlTester.query("{greetingsFlux}").execute().path("greetingsFlux").entityList(String.class)
|
||||
.containsExactly("Hi James", "Bonjour James", "Hola James", "Ciao James", "Zdravo James");
|
||||
}
|
||||
|
||||
|
||||
@@ -34,44 +34,31 @@ public class SubscriptionTests {
|
||||
|
||||
private GraphQlTester graphQlTester;
|
||||
|
||||
|
||||
@BeforeEach
|
||||
public void setUp(@Autowired WebGraphQlHandler handler) {
|
||||
this.graphQlTester = GraphQlTester.create(webInput ->
|
||||
handler.handle(webInput).contextWrite(context -> context.put("name", "James")));
|
||||
this.graphQlTester = GraphQlTester
|
||||
.create(webInput -> handler.handle(webInput).contextWrite(context -> context.put("name", "James")));
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
void subscriptionWithEntityPath() {
|
||||
String query = "subscription { greetings }";
|
||||
|
||||
Flux<String> result = this.graphQlTester.query(query)
|
||||
.executeSubscription()
|
||||
.toFlux("greetings", String.class);
|
||||
Flux<String> result = this.graphQlTester.query(query).executeSubscription().toFlux("greetings", String.class);
|
||||
|
||||
StepVerifier.create(result)
|
||||
.expectNext("Hi James")
|
||||
.expectNext("Bonjour James")
|
||||
.expectNext("Hola James")
|
||||
.expectNext("Ciao James")
|
||||
.expectNext("Zdravo James")
|
||||
.verifyComplete();
|
||||
StepVerifier.create(result).expectNext("Hi James").expectNext("Bonjour James").expectNext("Hola James")
|
||||
.expectNext("Ciao James").expectNext("Zdravo James").verifyComplete();
|
||||
}
|
||||
|
||||
@Test
|
||||
void subscriptionWithResponseSpec() {
|
||||
String query = "subscription { greetings }";
|
||||
|
||||
Flux<GraphQlTester.ResponseSpec> result = this.graphQlTester.query(query)
|
||||
.executeSubscription()
|
||||
.toFlux();
|
||||
Flux<GraphQlTester.ResponseSpec> result = this.graphQlTester.query(query).executeSubscription().toFlux();
|
||||
|
||||
StepVerifier.create(result)
|
||||
.consumeNextWith(spec -> spec.path("greetings").valueExists())
|
||||
StepVerifier.create(result).consumeNextWith(spec -> spec.path("greetings").valueExists())
|
||||
.consumeNextWith(spec -> spec.path("greetings").matchesJson("\"Bonjour James\""))
|
||||
.consumeNextWith(spec -> spec.path("greetings").matchesJson("\"Hola James\""))
|
||||
.expectNextCount(2)
|
||||
.consumeNextWith(spec -> spec.path("greetings").matchesJson("\"Hola James\"")).expectNextCount(2)
|
||||
.verifyComplete();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user