33 lines
1002 B
Java
33 lines
1002 B
Java
package com.cloudhandson.vpdbackoffice.service;
|
|
|
|
import static org.assertj.core.api.Assertions.assertThat;
|
|
import static org.assertj.core.api.Assertions.assertThatThrownBy;
|
|
|
|
import org.junit.jupiter.api.Test;
|
|
|
|
class SecuritySqlScriptServiceTest {
|
|
|
|
private final SecuritySqlScriptService service = new SecuritySqlScriptService();
|
|
|
|
@Test
|
|
void exposesOnlyTheCuratedGitTrackedSecurityScripts() {
|
|
assertThat(service.list())
|
|
.extracting(item -> item.fileName())
|
|
.containsExactly(
|
|
"70_sg_tool_user.sql",
|
|
"71_sg_identity_administration.sql"
|
|
);
|
|
|
|
assertThat(service.find("smilegate-identity-administration").source())
|
|
.contains("create table sg_app_user")
|
|
.contains("DATA_AI_TF");
|
|
}
|
|
|
|
@Test
|
|
void rejectsUnknownScriptIdsInsteadOfResolvingAPathFromRequestInput() {
|
|
assertThatThrownBy(() -> service.find("../../etc/passwd"))
|
|
.isInstanceOf(AppException.class)
|
|
.hasMessageContaining("조회할 수 없는");
|
|
}
|
|
}
|