[Developer] #573 normalize vector access whitelist

This commit is contained in:
devmrko
2026-06-30 16:33:59 +09:00
parent a9c58fa854
commit e0fbf1e0c5
8 changed files with 234 additions and 43 deletions

View File

@@ -147,10 +147,26 @@ class GuidedFlowTemplateTest {
assertThat(result)
.contains("토큰 적용 후 SQL")
.contains("권한 적용 SQL")
.contains("VPD가 추가한 WHERE 조건");
.contains("VPD가 추가한 WHERE 조건")
.contains("ALL: 추가 행 필터 없음")
.contains("기본 whitelist 역할");
assertThat(vectorSql)
.contains("VECTOR_DISTANCE(d.embedding, TO_VECTOR(:embedding), COSINE)")
.contains("WHERE d.embedding IS NOT NULL AND (' || v_vpd_predicate || ')");
.contains("IF TRIM(v_vpd_predicate) <> '1 = 1' THEN")
.contains("' AND (' || v_vpd_predicate || ')'");
}
@Test
void vectorDefaultRolesAreSeededAsWhitelistAllRules() throws IOException {
String setup = Files.readString(Path.of("sql/adb/32_dds_vector_tag_setup.sql"));
assertThat(setup)
.contains("ensure_vector_all_permission(10)")
.contains("ensure_vector_all_permission(20)")
.contains("ensure_vector_all_permission(30)")
.contains("UPPER(TRIM(rule_type)) = 'TAG'")
.contains("NULL, 'ALL', NULL")
.doesNotContain("SYS.ODCIVARCHAR2LIST('SPRING_BOOT', 'ORDS')");
}
@Test