[Developer] #567 expose VPD effective SQL trace
This commit is contained in:
@@ -31,6 +31,8 @@ class GuidedFlowTemplateTest {
|
||||
.doesNotContain("name=\"tokenKeyId\"");
|
||||
assertThat(result)
|
||||
.contains("적용된 사용자와 권한")
|
||||
.contains("토큰 적용 후 SQL")
|
||||
.contains("vpd_predicate")
|
||||
.contains("다음에 할 일")
|
||||
.contains("<details")
|
||||
.contains("기술 상세");
|
||||
@@ -138,6 +140,18 @@ class GuidedFlowTemplateTest {
|
||||
.doesNotContain("JSON_QUERY(\n :body_text")
|
||||
.doesNotContain("JSON_VALUE(\n :body_text");
|
||||
assertThat(sql.split("v_body_text := :body_text", -1)).hasSize(2);
|
||||
assertThat(sql).contains("vpd_predicate").contains("effective_sql");
|
||||
}
|
||||
|
||||
@Test
|
||||
void existingOrdsSetupCanReturnTheVpdPredicateTrace() throws IOException {
|
||||
String setup = Files.readString(Path.of("sql/adb/22_agent_ords_security_ords_handler_setup.sql"));
|
||||
String grant = Files.readString(Path.of("sql/adb/33_agent_ords_sql_trace_grant.sql"));
|
||||
|
||||
assertThat(setup)
|
||||
.contains("admin.cb_agent_doc_vpd_filter('ADMIN', 'CB_V_SEARCH_DOCUMENTS')")
|
||||
.contains("APEX_JSON.WRITE('effective_sql', v_effective_sql)");
|
||||
assertThat(grant).contains("GRANT EXECUTE ON cb_agent_doc_vpd_filter TO cb_ords");
|
||||
}
|
||||
|
||||
private String template(String relativePath) throws IOException {
|
||||
|
||||
Reference in New Issue
Block a user