fix(client): to Guice DI pattern

This commit is contained in:
Zhongheng Liu 2026-01-12 17:16:44 +01:00
commit 96b7241056
Signed by: steven
GPG key ID: F69B980899C1C09D
4 changed files with 9 additions and 5 deletions

View file

@ -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<WebSocketDataService<Long, Recipe>>() {}).toInstance(
new WebSocketDataService<>()

View file

@ -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;
}
/**

View file

@ -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());
}
/**

View file

@ -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,7 @@ class ServerUtilsTest {
@BeforeEach
void setup() throws IOException, InterruptedException {
dv = new ServerUtils();
dv = new ServerUtils(HttpClient.newHttpClient());
Assumptions.assumeTrue(dv.isServerAvailable(), "Server not available");