Skip to content

Commit

Permalink
Merge pull request #185 from Netflix/update-to-spring-graphql
Browse files Browse the repository at this point in the history
Update the example to use the spring-graphql integration.
  • Loading branch information
srinivasankavitha authored Apr 17, 2024
2 parents d25df80 + f3a7fc9 commit 18ddaf2
Show file tree
Hide file tree
Showing 6 changed files with 22 additions and 9 deletions.
11 changes: 6 additions & 5 deletions build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ import org.gradle.api.tasks.testing.logging.TestLogEvent.*

plugins {
id("java")
id("org.springframework.boot") version "3.2.2"
id("org.springframework.boot") version "3.2.4"
id("io.spring.dependency-management") version "1.1.4"
id("com.netflix.dgs.codegen") version "6.1.4"
}
Expand All @@ -42,7 +42,7 @@ repositories {

dependencyManagement {
imports {
mavenBom("com.netflix.graphql.dgs:graphql-dgs-platform-dependencies:8.0.0")
mavenBom("com.netflix.graphql.dgs:graphql-dgs-platform-dependencies:8.5.6")
}
}

Expand All @@ -62,10 +62,11 @@ repositories {
extra["kotlin.version"] = "1.9.20"

dependencies {
implementation(platform("com.netflix.graphql.dgs:graphql-dgs-platform-dependencies:8.0.0"))
implementation("com.netflix.graphql.dgs:graphql-dgs-spring-boot-starter")
implementation(platform("com.netflix.graphql.dgs:graphql-dgs-platform-dependencies:8.5.6"))
implementation("com.netflix.graphql.dgs:graphql-dgs-spring-graphql-starter")
implementation("com.netflix.graphql.dgs:graphql-dgs-extended-scalars")
implementation("com.netflix.graphql.dgs:graphql-dgs-subscriptions-websockets-autoconfigure")
implementation("org.springframework.boot:spring-boot-starter-websocket")
implementation("name.nkonev.multipart-spring-graphql:multipart-spring-graphql:1.1.4")
implementation("org.springframework.boot:spring-boot-starter-web")
implementation("net.datafaker:datafaker:2.+")
implementation("com.github.ben-manes.caffeine:caffeine")
Expand Down
4 changes: 3 additions & 1 deletion src/main/java/com/example/demo/config/MetricsConfig.java
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
package com.example.demo.config;

import io.micrometer.core.instrument.MeterRegistry;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import io.micrometer.core.instrument.logging.LoggingMeterRegistry;

import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;

@Configuration
public class MetricsConfig {
Expand Down
6 changes: 6 additions & 0 deletions src/main/resources/application.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,12 @@ spring:
application:
name: dgs-example-java

graphql:
graphiql:
enabled: true
websocket:
path: /graphql

---
spring:
config:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
import com.netflix.graphql.dgs.client.WebSocketGraphQLClient;
import com.netflix.graphql.dgs.client.codegen.GraphQLQueryRequest;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.boot.test.web.server.LocalServerPort;
Expand All @@ -21,6 +22,7 @@
import java.util.Collections;

@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
@Disabled
public class ReviewSubscriptionIntegrationTest {

@LocalServerPort
Expand All @@ -31,7 +33,7 @@ public class ReviewSubscriptionIntegrationTest {

@BeforeEach
public void setup() {
webSocketGraphQLClient = new WebSocketGraphQLClient("ws://localhost:" + port + "/subscriptions", new ReactorNettyWebSocketClient());
webSocketGraphQLClient = new WebSocketGraphQLClient("ws://localhost:" + port + "/graphql", new ReactorNettyWebSocketClient());
graphQLClient = MonoGraphQLClient.createWithWebClient(WebClient.create(("http://localhost:" + port + "/graphql")));
}

Expand Down
3 changes: 2 additions & 1 deletion src/test/java/com/example/demo/ReviewSubscriptionTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
import com.netflix.graphql.dgs.DgsQueryExecutor;
import com.netflix.graphql.dgs.autoconfig.DgsAutoConfiguration;
import com.netflix.graphql.dgs.client.codegen.GraphQLQueryRequest;
import com.netflix.graphql.dgs.scalars.UploadScalar;
import graphql.ExecutionResult;
import org.junit.jupiter.api.Test;
import org.reactivestreams.Publisher;
Expand All @@ -33,7 +34,7 @@
* Each time a review is added, a new ExecutionResult is given to subscriber.
* Normally, this publisher is consumed by the Websocket/SSE subscription handler and you don't deal with this code directly, but for testing purposes it's useful to use the stream directly.
*/
@SpringBootTest(classes = {DefaultReviewsService.class, ReviewsDataFetcher.class, DgsAutoConfiguration.class, DateTimeScalar.class})
@SpringBootTest(classes = {DefaultReviewsService.class, ReviewsDataFetcher.class, DgsAutoConfiguration.class, DateTimeScalar.class, UploadScalar.class})
public class ReviewSubscriptionTest {
@Autowired
DgsQueryExecutor dgsQueryExecutor;
Expand Down
3 changes: 2 additions & 1 deletion src/test/java/com/example/demo/ShowsDataFetcherTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
import com.netflix.graphql.dgs.DgsQueryExecutor;
import com.netflix.graphql.dgs.autoconfig.DgsAutoConfiguration;
import com.netflix.graphql.dgs.client.codegen.GraphQLQueryRequest;
import com.netflix.graphql.dgs.scalars.UploadScalar;
import graphql.ExecutionResult;
import org.assertj.core.util.Maps;
import org.junit.jupiter.api.BeforeEach;
Expand All @@ -33,7 +34,7 @@
import static org.mockito.Mockito.verify;


@SpringBootTest(classes = {DgsAutoConfiguration.class, ReviewsDataLoaderWithContext.class, ShowsDataFetcher.class, ReviewsDataFetcher.class, ReviewsDataLoader.class, DateTimeScalar.class})
@SpringBootTest(classes = {DgsAutoConfiguration.class, ReviewsDataLoaderWithContext.class, ShowsDataFetcher.class, ReviewsDataFetcher.class, ReviewsDataLoader.class, DateTimeScalar.class, UploadScalar.class})
class ShowsDataFetcherTest {

@Autowired
Expand Down

0 comments on commit 18ddaf2

Please sign in to comment.