Files
svn-log-tool/src/test/java/com/svnlog/web/service/SettingsServiceTest.java
T

60 lines
2.7 KiB
Java

package com.svnlog.web.service;
import java.nio.file.Path;
import java.util.Map;
import java.nio.file.Paths;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.io.TempDir;
class SettingsServiceTest {
@TempDir
Path tempDir;
@Test
void shouldReturnDefaultProviderAndOpenAiDefaults() throws Exception {
final OutputFileService outputFileService = new OutputFileService();
outputFileService.setOutputRoot(tempDir.resolve("outputs").toString());
final SettingsService settingsService = new SettingsService(outputFileService, new SvnPresetService());
final Map<String, Object> settings = settingsService.getSettings();
Assertions.assertEquals(SettingsService.PROVIDER_DEEPSEEK, settings.get("provider"));
Assertions.assertEquals("http://127.0.0.1:5001/v1", settings.get("openaiBaseUrl"));
Assertions.assertEquals("sk-f8b3f43e1fdd4f50b287050f08a6c7ed", settings.get("openaiApiKey"));
Assertions.assertEquals("deepseek-v4-flash", settings.get("openaiStageOneModel"));
Assertions.assertEquals("deepseek-v4-pro", settings.get("openaiStageTwoModel"));
}
@Test
void shouldUpdateProviderAndOpenAiSettings() throws Exception {
final OutputFileService outputFileService = new OutputFileService();
outputFileService.setOutputRoot(tempDir.resolve("outputs").toString());
final SettingsService settingsService = new SettingsService(outputFileService, new SvnPresetService());
final String newOutputDir = tempDir.resolve("custom-output").toString();
settingsService.updateSettings(
"sk-deepseek-runtime",
SettingsService.PROVIDER_OPENAI_COMPATIBLE,
"http://localhost:5001/v1/",
"sk-openai-runtime",
"deepseek-v4-flash",
"deepseek-v4-pro",
newOutputDir,
"preset-2"
);
final Map<String, Object> settings = settingsService.getSettings();
Assertions.assertEquals(SettingsService.PROVIDER_OPENAI_COMPATIBLE, settings.get("provider"));
Assertions.assertEquals("http://localhost:5001/v1/", settings.get("openaiBaseUrl"));
Assertions.assertEquals("sk-openai-runtime", settings.get("openaiApiKey"));
Assertions.assertEquals("deepseek-v4-flash", settings.get("openaiStageOneModel"));
Assertions.assertEquals("deepseek-v4-pro", settings.get("openaiStageTwoModel"));
Assertions.assertEquals("preset-2", settings.get("defaultSvnPresetId"));
Assertions.assertEquals(Paths.get(newOutputDir).toAbsolutePath().normalize().toString(), settings.get("outputDir"));
}
}