From a7b984ca845106876874395a39e89144bb7994a3 Mon Sep 17 00:00:00 2001 From: kasun Date: Wed, 20 May 2026 17:36:22 +0200 Subject: [PATCH] refactor: consolidate test mock constants into shared Mockdata class Moved Mockdata from the connection package to the root test package and extended it with MOCK_USER, MOCK_PASS, MOCK_TITLE, and MOCK_DESCRIPTION so all test modules share a single source of truth. Removed duplicate inline constants from ConnectionControllerTest, HomeboxIntegrationTest, and SearchControllerTest. Co-Authored-By: Claude Sonnet 4.6 --- backend/src/test/java/com/vaessl/app/Mockdata.java | 13 +++++++++++++ .../app/connection/ConnectionControllerTest.java | 8 ++++---- .../app/connection/ConnectionServiceTest.java | 3 +-- .../connection/HomeboxConnectionProviderTest.java | 3 +-- .../app/connection/HomeboxIntegrationTest.java | 10 ++++------ .../java/com/vaessl/app/connection/Mockdata.java | 9 --------- .../com/vaessl/app/search/SearchControllerTest.java | 10 ++++------ 7 files changed, 27 insertions(+), 29 deletions(-) create mode 100644 backend/src/test/java/com/vaessl/app/Mockdata.java delete mode 100644 backend/src/test/java/com/vaessl/app/connection/Mockdata.java diff --git a/backend/src/test/java/com/vaessl/app/Mockdata.java b/backend/src/test/java/com/vaessl/app/Mockdata.java new file mode 100644 index 0000000..9d435e3 --- /dev/null +++ b/backend/src/test/java/com/vaessl/app/Mockdata.java @@ -0,0 +1,13 @@ +package com.vaessl.app; + +public final class Mockdata { + + private Mockdata() {} + + public static final String MOCK_URL = "http://localhost:1234"; + public static final String MOCK_SERVICE_TYPE = "SERVICE_TYPE"; + public static final String MOCK_USER = "user"; + public static final String MOCK_PASS = "pw"; + public static final String MOCK_TITLE = "title"; + public static final String MOCK_DESCRIPTION = "desc"; +} diff --git a/backend/src/test/java/com/vaessl/app/connection/ConnectionControllerTest.java b/backend/src/test/java/com/vaessl/app/connection/ConnectionControllerTest.java index 30331e9..95b2a5d 100644 --- a/backend/src/test/java/com/vaessl/app/connection/ConnectionControllerTest.java +++ b/backend/src/test/java/com/vaessl/app/connection/ConnectionControllerTest.java @@ -1,5 +1,7 @@ package com.vaessl.app.connection; +import static com.vaessl.app.Mockdata.*; + import static com.vaessl.app.connection.Endpoint.*; import static com.vaessl.app.connection.ServiceType.*; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*; @@ -27,8 +29,6 @@ class ConnectionControllerTest { @Autowired MockMvc mockMvc; - private static final String TEST_USER = "admin"; - private static final String TEST_PASS = "pw"; private static final String LOGIN_PATH = LOGIN.getValue(); private static final String STATUS_PATH = CONNECTION_STATUS.getValue(); private static final String LOGOUT_PATH = "/connections/HOMEBOX"; @@ -71,7 +71,7 @@ class ConnectionControllerTest { mockMvc.perform(get(STATUS_PATH).cookie(sessionCookie)).andExpect(status().isOk()) .andExpect(jsonPath("$.length()").value(1)) .andExpect(jsonPath("$[0].serviceType").value(HOMEBOX.getValue())) - .andExpect(jsonPath("$[0].username").value(TEST_USER)) + .andExpect(jsonPath("$[0].username").value(MOCK_USER)) .andExpect(jsonPath("$[0].appUrl").value(wm.getHttpBaseUrl())) .andExpect(jsonPath("$[0].connected").value(true)); } @@ -149,6 +149,6 @@ class ConnectionControllerTest { "username": "%s", "password": "%s" } - """.formatted(wm.getHttpBaseUrl(), TEST_USER, TEST_PASS); + """.formatted(wm.getHttpBaseUrl(), MOCK_USER, MOCK_PASS); } } diff --git a/backend/src/test/java/com/vaessl/app/connection/ConnectionServiceTest.java b/backend/src/test/java/com/vaessl/app/connection/ConnectionServiceTest.java index 2543436..410a977 100644 --- a/backend/src/test/java/com/vaessl/app/connection/ConnectionServiceTest.java +++ b/backend/src/test/java/com/vaessl/app/connection/ConnectionServiceTest.java @@ -1,5 +1,6 @@ package com.vaessl.app.connection; +import static com.vaessl.app.Mockdata.*; import static org.junit.jupiter.api.Assertions.assertThrows; import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.doThrow; @@ -17,8 +18,6 @@ import org.mockito.junit.jupiter.MockitoExtension; import com.vaessl.app.exception.EmptyCredentialsException; -import static com.vaessl.app.connection.Mockdata.*; - @ExtendWith(MockitoExtension.class) class ConnectionServiceTest { diff --git a/backend/src/test/java/com/vaessl/app/connection/HomeboxConnectionProviderTest.java b/backend/src/test/java/com/vaessl/app/connection/HomeboxConnectionProviderTest.java index 9a9dfe5..e9e08b4 100644 --- a/backend/src/test/java/com/vaessl/app/connection/HomeboxConnectionProviderTest.java +++ b/backend/src/test/java/com/vaessl/app/connection/HomeboxConnectionProviderTest.java @@ -5,9 +5,8 @@ import static org.junit.jupiter.api.Assertions.assertThrows; import org.junit.jupiter.api.Test; import com.vaessl.app.exception.EmptyCredentialsException; - +import static com.vaessl.app.Mockdata.*; import static org.assertj.core.api.Assertions.assertThat; -import static com.vaessl.app.connection.Mockdata.*; class HomeboxConnectionProviderTest { diff --git a/backend/src/test/java/com/vaessl/app/connection/HomeboxIntegrationTest.java b/backend/src/test/java/com/vaessl/app/connection/HomeboxIntegrationTest.java index fbcd477..7f1c2ed 100644 --- a/backend/src/test/java/com/vaessl/app/connection/HomeboxIntegrationTest.java +++ b/backend/src/test/java/com/vaessl/app/connection/HomeboxIntegrationTest.java @@ -1,5 +1,6 @@ package com.vaessl.app.connection; +import static com.vaessl.app.Mockdata.*; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.resttestclient.TestRestTemplate; @@ -41,9 +42,6 @@ class HomeboxIntegrationTest { } """; - private static final String TEST_USER = "admin"; - private static final String TEST_PASS = "pw"; - /** * Returns Token and status code OK when login is successful. * @@ -139,7 +137,7 @@ class HomeboxIntegrationTest { @Test void shouldReturnWrongServiceTypeException(WireMockRuntimeInfo wm) { ConnectionRequest wrongServiceTypeReq = new ConnectionRequest(wm.getHttpBaseUrl(), - "wrong-service-type", TEST_USER, TEST_PASS, false); + "wrong-service-type", MOCK_USER, MOCK_PASS, false); ResponseEntity response = restTemplate.postForEntity(LOGIN.getValue(), wrongServiceTypeReq, String.class); @@ -182,7 +180,7 @@ class HomeboxIntegrationTest { @Test void shouldReturnEmptyCredentialsExceptionWhenCredsAreMissing(WireMockRuntimeInfo wm) { ConnectionRequest missingCredentials = new ConnectionRequest(wm.getHttpBaseUrl(), - HOMEBOX.getValue(), TEST_USER, null, false); + HOMEBOX.getValue(), MOCK_USER, null, false); ResponseEntity response = restTemplate.postForEntity(LOGIN.getValue(), missingCredentials, String.class); @@ -198,7 +196,7 @@ class HomeboxIntegrationTest { * @return a mock api connection request. */ private ConnectionRequest connectionRequest(WireMockRuntimeInfo wm) { - return new ConnectionRequest(wm.getHttpBaseUrl(), HOMEBOX.getValue(), TEST_USER, TEST_PASS, + return new ConnectionRequest(wm.getHttpBaseUrl(), HOMEBOX.getValue(), MOCK_USER, MOCK_PASS, null); } } diff --git a/backend/src/test/java/com/vaessl/app/connection/Mockdata.java b/backend/src/test/java/com/vaessl/app/connection/Mockdata.java deleted file mode 100644 index 657e15c..0000000 --- a/backend/src/test/java/com/vaessl/app/connection/Mockdata.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.vaessl.app.connection; - -public final class Mockdata { - - private Mockdata() {} - - public static final String MOCK_URL = "http://localhost:1234"; - public static final String MOCK_SERVICE_TYPE = "SERVICE_TYPE"; -} diff --git a/backend/src/test/java/com/vaessl/app/search/SearchControllerTest.java b/backend/src/test/java/com/vaessl/app/search/SearchControllerTest.java index a04f7b5..cfded59 100644 --- a/backend/src/test/java/com/vaessl/app/search/SearchControllerTest.java +++ b/backend/src/test/java/com/vaessl/app/search/SearchControllerTest.java @@ -1,5 +1,7 @@ package com.vaessl.app.search; +import static com.vaessl.app.Mockdata.MOCK_PASS; +import static com.vaessl.app.Mockdata.MOCK_USER; import static com.vaessl.app.connection.Endpoint.*; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*; @@ -24,10 +26,6 @@ class SearchControllerTest { @Autowired MockMvc mockMvc; - private static final String TEST_USER = "admin"; - - private static final String TEST_PASS = "pw"; - private static final String QUERY_ALL_ITEMS = HOMEBOX_QUERY_ALL_ITEMS.getValue(); private static final String LOGIN_PATH = LOGIN.getValue(); @@ -138,7 +136,7 @@ class SearchControllerTest { "serviceType": "%s", "username": "%s" } - """.formatted(wm.getHttpBaseUrl(), serviceType, TEST_USER); + """.formatted(wm.getHttpBaseUrl(), serviceType, MOCK_USER); } private String connectionRequestBody(WireMockRuntimeInfo wm) { @@ -149,6 +147,6 @@ class SearchControllerTest { "username": "%s", "password": "%s" } - """.formatted(wm.getHttpBaseUrl(), TEST_USER, TEST_PASS); + """.formatted(wm.getHttpBaseUrl(), MOCK_USER, MOCK_PASS); } }