Skip to content
This repository was archived by the owner on Oct 25, 2021. It is now read-only.

Commit a80e019

Browse files
committed
different url tests
1 parent 5f7c727 commit a80e019

File tree

4 files changed

+97
-4
lines changed

4 files changed

+97
-4
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
package graphql.spring.web.reactive;
2+
3+
import graphql.ExecutionInput;
4+
import graphql.ExecutionResultImpl;
5+
import graphql.GraphQL;
6+
import org.junit.Test;
7+
import org.junit.runner.RunWith;
8+
import org.mockito.ArgumentCaptor;
9+
import org.mockito.Mockito;
10+
import org.springframework.beans.factory.annotation.Autowired;
11+
import org.springframework.boot.test.context.SpringBootTest;
12+
import org.springframework.test.context.junit4.SpringRunner;
13+
import org.springframework.test.web.reactive.server.WebTestClient;
14+
15+
import java.util.concurrent.CompletableFuture;
16+
17+
import static org.hamcrest.CoreMatchers.is;
18+
import static org.junit.Assert.assertThat;
19+
20+
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, properties = "graphql.url=otherUrl")
21+
@RunWith(SpringRunner.class)
22+
public class IntegrationDifferentUrlTest {
23+
24+
@Autowired
25+
private WebTestClient webClient;
26+
27+
@Autowired
28+
GraphQL graphql;
29+
30+
@Test
31+
public void endpointIsAvailableWithDifferentUrl() {
32+
String query = "{foo}";
33+
34+
ExecutionResultImpl executionResult = ExecutionResultImpl.newExecutionResult()
35+
.data("bar")
36+
.build();
37+
CompletableFuture cf = CompletableFuture.completedFuture(executionResult);
38+
ArgumentCaptor<ExecutionInput> captor = ArgumentCaptor.forClass(ExecutionInput.class);
39+
Mockito.when(graphql.executeAsync(captor.capture())).thenReturn(cf);
40+
41+
this.webClient.get().uri("/otherUrl?query={query}", query).exchange().expectStatus().isOk()
42+
.expectBody(String.class).isEqualTo("{\"data\":\"bar\"}");
43+
44+
assertThat(captor.getValue().getQuery(), is(query));
45+
}
46+
47+
}

graphql-java-spring-boot-starter-webflux/src/test/java/graphql/spring/web/reactive/IntegrationTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
import static org.hamcrest.CoreMatchers.is;
1818
import static org.junit.Assert.assertThat;
1919

20-
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, classes = IntegrationTestConfig.class)
20+
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
2121
@RunWith(SpringRunner.class)
2222
public class IntegrationTest {
2323

graphql-java-spring-boot-starter-webmvc/src/test/java/graphql/spring/web/servlet/IntegrationTest.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,12 @@
1212
import org.springframework.boot.test.web.client.TestRestTemplate;
1313
import org.springframework.test.context.junit4.SpringRunner;
1414

15-
import java.io.UnsupportedEncodingException;
1615
import java.util.concurrent.CompletableFuture;
1716

1817
import static org.hamcrest.CoreMatchers.is;
1918
import static org.junit.Assert.assertThat;
2019

21-
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, classes = IntegrationTestConfig.class)
20+
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, properties = "graphql.url=otherUrl")
2221
@RunWith(SpringRunner.class)
2322
public class IntegrationTest {
2423

@@ -29,7 +28,7 @@ public class IntegrationTest {
2928
GraphQL graphql;
3029

3130
@Test
32-
public void endpointIsAvailable() throws UnsupportedEncodingException {
31+
public void endpointIsAvailable() {
3332
String query = "{foo}";
3433

3534
ExecutionResultImpl executionResult = ExecutionResultImpl.newExecutionResult()
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
package graphql.spring.web.servlet;
2+
3+
import graphql.ExecutionInput;
4+
import graphql.ExecutionResultImpl;
5+
import graphql.GraphQL;
6+
import org.junit.Test;
7+
import org.junit.runner.RunWith;
8+
import org.mockito.ArgumentCaptor;
9+
import org.mockito.Mockito;
10+
import org.springframework.beans.factory.annotation.Autowired;
11+
import org.springframework.boot.test.context.SpringBootTest;
12+
import org.springframework.boot.test.web.client.TestRestTemplate;
13+
import org.springframework.test.context.junit4.SpringRunner;
14+
15+
import java.util.concurrent.CompletableFuture;
16+
17+
import static org.hamcrest.CoreMatchers.is;
18+
import static org.junit.Assert.assertThat;
19+
20+
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, properties = "graphql.url=otherUrl")
21+
@RunWith(SpringRunner.class)
22+
public class IntegrationTestDifferentUrl {
23+
24+
@Autowired
25+
private TestRestTemplate restTemplate;
26+
27+
@Autowired
28+
GraphQL graphql;
29+
30+
@Test
31+
public void endpointIsAvailableWithDifferentUrl() {
32+
String query = "{foo}";
33+
34+
ExecutionResultImpl executionResult = ExecutionResultImpl.newExecutionResult()
35+
.data("bar")
36+
.build();
37+
CompletableFuture cf = CompletableFuture.completedFuture(executionResult);
38+
ArgumentCaptor<ExecutionInput> captor = ArgumentCaptor.forClass(ExecutionInput.class);
39+
Mockito.when(graphql.executeAsync(captor.capture())).thenReturn(cf);
40+
41+
String body = this.restTemplate.getForObject("/otherUrl/?query={query}", String.class, query);
42+
43+
assertThat(body, is("{\"data\":\"bar\"}"));
44+
assertThat(captor.getValue().getQuery(), is(query));
45+
}
46+
47+
}

0 commit comments

Comments
 (0)