refactor: ConfigServiceTest looks normal again
This commit is contained in:
parent
30635b4a21
commit
625383070d
1 changed files with 40 additions and 56 deletions
|
|
@ -9,11 +9,15 @@ import java.nio.file.Files;
|
||||||
import java.nio.file.Path;
|
import java.nio.file.Path;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import static org.junit.jupiter.api.Assertions.*;
|
import static org.junit.jupiter.api.Assertions.*;
|
||||||
|
|
||||||
public class ConfigServiceTest {
|
public class ConfigServiceTest {
|
||||||
|
|
||||||
@TempDir
|
@TempDir
|
||||||
Path tempDir;
|
Path tempDir;
|
||||||
|
|
||||||
private Path configPath;
|
private Path configPath;
|
||||||
private ConfigService configService;
|
private ConfigService configService;
|
||||||
|
|
||||||
@BeforeEach
|
@BeforeEach
|
||||||
void setUp() throws IOException {
|
void setUp() throws IOException {
|
||||||
configPath = tempDir.resolve("configServiceTest.json");
|
configPath = tempDir.resolve("configServiceTest.json");
|
||||||
|
|
@ -25,23 +29,17 @@ public class ConfigServiceTest {
|
||||||
assertNotNull(configService.getMapper());
|
assertNotNull(configService.getMapper());
|
||||||
assertNotNull(configService.getConfig());
|
assertNotNull(configService.getConfig());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void constructorFileDNETest(){
|
public void constructorFileDNETest(){
|
||||||
Path nonExistentPath = tempDir.resolve("DNE.json");
|
Path nonExistentPath = tempDir.resolve("DNE.json");
|
||||||
ConfigService newService = new ConfigService(nonExistentPath);
|
ConfigService newService = new ConfigService(nonExistentPath);
|
||||||
|
|
||||||
assertNotNull(newService.getConfig());
|
assertNotNull(newService.getConfig());
|
||||||
assertEquals("en", newService
|
assertEquals("en", newService.getConfig().getLanguage());
|
||||||
.getConfig()
|
assertEquals("http://localhost:8080", newService.getConfig().getServerUrl());
|
||||||
.getLanguage());
|
assertTrue(newService.getConfig().getFavourites().isEmpty());
|
||||||
assertEquals("http://localhost:8080", newService.
|
assertTrue(newService.getConfig().getShoppingList().isEmpty());
|
||||||
getConfig().getServerUrl());
|
|
||||||
assertTrue(newService.getConfig()
|
|
||||||
.getFavourites()
|
|
||||||
.isEmpty());
|
|
||||||
assertTrue(newService
|
|
||||||
.getConfig()
|
|
||||||
.getShoppingList()
|
|
||||||
.isEmpty());
|
|
||||||
}
|
}
|
||||||
@Test
|
@Test
|
||||||
public void validJsonLoadTest() throws IOException {
|
public void validJsonLoadTest() throws IOException {
|
||||||
|
|
@ -53,66 +51,48 @@ public class ConfigServiceTest {
|
||||||
"shoppingList": ["milk", "butter"]
|
"shoppingList": ["milk", "butter"]
|
||||||
}
|
}
|
||||||
""";
|
""";
|
||||||
|
|
||||||
Files.writeString(configPath, json);
|
Files.writeString(configPath, json);
|
||||||
ConfigService loadedService = new ConfigService(configPath);
|
ConfigService loadedService = new ConfigService(configPath);
|
||||||
Config loadedConfig = loadedService.getConfig();
|
Config loadedConfig = loadedService.getConfig();
|
||||||
assertEquals("de", loadedConfig
|
|
||||||
.getLanguage());
|
assertEquals("de", loadedConfig.getLanguage());
|
||||||
assertEquals("http://example.com:8080", loadedConfig
|
assertEquals("http://example.com:8080", loadedConfig.getServerUrl());
|
||||||
.getServerUrl());
|
assertEquals(2, loadedConfig.getFavourites().size());
|
||||||
assertEquals(2, loadedConfig
|
assertTrue(loadedConfig.getFavourites().contains(123L));
|
||||||
.getFavourites()
|
assertTrue(loadedConfig.getFavourites().contains(456L));
|
||||||
.size());
|
assertEquals(2, loadedConfig.getShoppingList().size());
|
||||||
assertTrue(loadedConfig
|
assertTrue(loadedConfig.getShoppingList().contains("milk"));
|
||||||
.getFavourites()
|
assertTrue(loadedConfig.getShoppingList().contains("butter"));
|
||||||
.contains(123L));
|
|
||||||
assertTrue(loadedConfig
|
|
||||||
.getFavourites()
|
|
||||||
.contains(456L));
|
|
||||||
assertEquals(2, loadedConfig
|
|
||||||
.getShoppingList()
|
|
||||||
.size());
|
|
||||||
assertTrue(loadedConfig
|
|
||||||
.getShoppingList()
|
|
||||||
.contains("milk"));
|
|
||||||
assertTrue(loadedConfig
|
|
||||||
.getShoppingList()
|
|
||||||
.contains("butter"));
|
|
||||||
}
|
}
|
||||||
@Test
|
@Test
|
||||||
public void invalidJsonLoadTest() throws IOException {
|
public void invalidJsonLoadTest() throws IOException {
|
||||||
Files.writeString(configPath, "{ invalid json text");
|
Files.writeString(configPath, "{ invalid json text");
|
||||||
|
|
||||||
assertThrows(RuntimeException.class, () -> {
|
assertThrows(RuntimeException.class, () -> {
|
||||||
ConfigService corruptedService = new ConfigService(configPath);
|
ConfigService corruptedService = new ConfigService(configPath);
|
||||||
corruptedService
|
corruptedService.getConfig();
|
||||||
.getConfig();
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@Test
|
@Test
|
||||||
public void safeTest(){
|
public void safeTest(){
|
||||||
Config realConfig = new Config();
|
Config realConfig = new Config();
|
||||||
realConfig
|
|
||||||
.setLanguage("de");
|
realConfig.setLanguage("de");
|
||||||
realConfig
|
realConfig.setServerUrl("http://example.com:8080");
|
||||||
.setServerUrl("http://example.com:8080");
|
realConfig.addFavourite(1L);
|
||||||
realConfig
|
realConfig.addFavourite(2L);
|
||||||
.addFavourite(1L);
|
realConfig.setShoppingList(List.of("milk", "bread"));
|
||||||
realConfig
|
|
||||||
.addFavourite(2L);
|
configService.setConfig(realConfig);
|
||||||
realConfig
|
configService.save();
|
||||||
.setShoppingList(List.of("milk", "bread"));
|
|
||||||
configService
|
|
||||||
.setConfig(realConfig);
|
|
||||||
configService
|
|
||||||
.save();
|
|
||||||
ConfigService loadedService = new ConfigService(configPath);
|
ConfigService loadedService = new ConfigService(configPath);
|
||||||
Config loadedConfig = loadedService
|
Config loadedConfig = loadedService.getConfig();
|
||||||
.getConfig();
|
|
||||||
assertEquals("de", loadedConfig.getLanguage());
|
assertEquals("de", loadedConfig.getLanguage());
|
||||||
assertEquals("http://example.com:8080", loadedConfig
|
assertEquals("http://example.com:8080", loadedConfig.getServerUrl());
|
||||||
.getServerUrl());
|
assertEquals(2, loadedConfig.getFavourites().size());
|
||||||
assertEquals(2, loadedConfig
|
|
||||||
.getFavourites().size());
|
|
||||||
assertTrue(loadedConfig.getFavourites().contains(1L));
|
assertTrue(loadedConfig.getFavourites().contains(1L));
|
||||||
assertTrue(loadedConfig.getFavourites().contains(2L));
|
assertTrue(loadedConfig.getFavourites().contains(2L));
|
||||||
assertEquals(2, loadedConfig.getShoppingList().size());
|
assertEquals(2, loadedConfig.getShoppingList().size());
|
||||||
|
|
@ -122,14 +102,18 @@ public class ConfigServiceTest {
|
||||||
@Test
|
@Test
|
||||||
public void multipleTimesSaveTest(){
|
public void multipleTimesSaveTest(){
|
||||||
Config realConfig = new Config();
|
Config realConfig = new Config();
|
||||||
|
|
||||||
configService.setConfig(realConfig);
|
configService.setConfig(realConfig);
|
||||||
configService.save();
|
configService.save();
|
||||||
|
|
||||||
realConfig.setLanguage("de");
|
realConfig.setLanguage("de");
|
||||||
configService.save();
|
configService.save();
|
||||||
realConfig.setServerUrl("http://example.com:8080");
|
realConfig.setServerUrl("http://example.com:8080");
|
||||||
configService.save();
|
configService.save();
|
||||||
|
|
||||||
ConfigService loadedService = new ConfigService(configPath);
|
ConfigService loadedService = new ConfigService(configPath);
|
||||||
Config loadedConfig = loadedService.getConfig();
|
Config loadedConfig = loadedService.getConfig();
|
||||||
|
|
||||||
assertEquals("de", loadedConfig.getLanguage());
|
assertEquals("de", loadedConfig.getLanguage());
|
||||||
assertEquals("http://example.com:8080", loadedConfig.getServerUrl());
|
assertEquals("http://example.com:8080", loadedConfig.getServerUrl());
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue