diff --git a/client/src/main/java/client/MyModule.java b/client/src/main/java/client/MyModule.java index 661b2df..8dd203e 100644 --- a/client/src/main/java/client/MyModule.java +++ b/client/src/main/java/client/MyModule.java @@ -35,6 +35,7 @@ import com.google.inject.TypeLiteral; import commons.Ingredient; import commons.Recipe; +import java.net.http.HttpClient; import java.nio.file.Path; public class MyModule implements Module { @@ -51,6 +52,7 @@ public class MyModule implements Module { binder.bind(WebSocketUtils.class).in(Scopes.SINGLETON); binder.bind(NutritionDetailsCtrl.class).in(Scopes.SINGLETON); binder.bind(NutritionViewCtrl.class).in(Scopes.SINGLETON); + binder.bind(HttpClient.class).in(Scopes.SINGLETON); binder.bind(ConfigService.class).toInstance(new ConfigService(Path.of("config.json"))); binder.bind(new TypeLiteral>() {}).toInstance( new WebSocketDataService<>() @@ -59,4 +61,4 @@ public class MyModule implements Module { new WebSocketDataService<>() ); } -} \ No newline at end of file +} diff --git a/client/src/main/java/client/utils/ServerUtils.java b/client/src/main/java/client/utils/ServerUtils.java index 606afd5..3f8bc91 100644 --- a/client/src/main/java/client/utils/ServerUtils.java +++ b/client/src/main/java/client/utils/ServerUtils.java @@ -32,8 +32,8 @@ public class ServerUtils { private final int statusOK = 200; @Inject - public ServerUtils() { - client = HttpClient.newHttpClient(); + public ServerUtils(HttpClient client) { + this.client = client; } /** diff --git a/client/src/test/java/client/ServerUtilsMockTest.java b/client/src/test/java/client/ServerUtilsMockTest.java index 57e3e42..f7cc958 100644 --- a/client/src/test/java/client/ServerUtilsMockTest.java +++ b/client/src/test/java/client/ServerUtilsMockTest.java @@ -12,6 +12,7 @@ import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import java.io.IOException; +import java.net.http.HttpClient; import java.util.ArrayList; import java.util.List; @@ -40,7 +41,7 @@ class ServerUtilsMockTest { @BeforeEach void setup() { objectMapper = new ObjectMapper(); - serverUtils = new ServerUtils(); + serverUtils = new ServerUtils(HttpClient.newHttpClient()); } /** diff --git a/client/src/test/java/client/ServerUtilsTest.java b/client/src/test/java/client/ServerUtilsTest.java index 67d38a1..9583d8c 100644 --- a/client/src/test/java/client/ServerUtilsTest.java +++ b/client/src/test/java/client/ServerUtilsTest.java @@ -11,6 +11,7 @@ import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import java.io.IOException; +import java.net.http.HttpClient; import java.util.List; import static org.junit.jupiter.api.Assertions.*; @@ -32,7 +33,8 @@ class ServerUtilsTest { @BeforeEach void setup() throws IOException, InterruptedException { - dv = new ServerUtils(); + // FIXME: Prefer Guice-provided instance via a unit test Module. + dv = new ServerUtils(HttpClient.newHttpClient()); Assumptions.assumeTrue(dv.isServerAvailable(), "Server not available");