48 lines
1.7 KiB
Java
48 lines
1.7 KiB
Java
package com.cloudhandson.vpdbackoffice.web;
|
|
|
|
import static org.assertj.core.api.Assertions.assertThat;
|
|
|
|
import java.nio.file.Path;
|
|
import java.util.Locale;
|
|
import org.junit.jupiter.api.Test;
|
|
import org.thymeleaf.context.Context;
|
|
import org.thymeleaf.spring6.SpringTemplateEngine;
|
|
import org.thymeleaf.templateresolver.FileTemplateResolver;
|
|
|
|
class SettingsTemplateRenderTest {
|
|
|
|
@Test
|
|
void rendersConnectionAndDatabasePreparationPagesSeparately() {
|
|
var resolver = new FileTemplateResolver();
|
|
resolver.setPrefix(Path.of("src/main/resources/templates").toAbsolutePath() + "/");
|
|
resolver.setSuffix(".html");
|
|
resolver.setTemplateMode("HTML");
|
|
resolver.setCacheable(false);
|
|
var engine = new SpringTemplateEngine();
|
|
engine.setTemplateResolver(resolver);
|
|
|
|
var context = new Context(Locale.KOREAN);
|
|
context.setVariable("_csrf", new CsrfFixture("_csrf", "test-token"));
|
|
context.setVariable("ordsBaseUrl", "https://ords.example.test/ords");
|
|
context.setVariable("hmmMcpPublicUrl", "https://hmm-backoffice.cloud-handson.com/mcp");
|
|
|
|
String connection = engine.process("settings", context);
|
|
String database = engine.process("settings-database", context);
|
|
|
|
assertThat(connection)
|
|
.contains("설정 기반 MCP 도구")
|
|
.contains("https://hmm-backoffice.cloud-handson.com/mcp")
|
|
.contains("Legacy ORDS Base URL")
|
|
.contains("/settings/database")
|
|
.doesNotContain("g329127dfd380ad-kbaipoc")
|
|
.doesNotContain("/settings/database/initialize");
|
|
assertThat(database)
|
|
.contains("DB 준비 상태")
|
|
.contains("/settings/database/initialize")
|
|
.contains("DB 준비 실행");
|
|
}
|
|
|
|
private record CsrfFixture(String parameterName, String token) {
|
|
}
|
|
}
|