fix: make phase 5 permission validation mysql compatible
This commit is contained in:
+17
@@ -58,6 +58,23 @@ class Phase5DeliveryPermissionSqlContractTest {
|
||||
"('CN_FIRSTLEG_PDA_OPERATOR','platform:overseas-warehouse:");
|
||||
}
|
||||
|
||||
@Test
|
||||
void validatesTheWarehouseRoleMatrixWithOneTemporaryTableReadPerStatement() throws Exception {
|
||||
String sql = sql();
|
||||
|
||||
assertThat(sql).contains(
|
||||
"DECLARE v_warehouse_operator_permission_count INT DEFAULT 0",
|
||||
"DECLARE v_warehouse_tally_permission_count INT DEFAULT 0",
|
||||
"SELECT COALESCE(SUM(role_code='WAREHOUSE_OPERATOR'),0)",
|
||||
"COALESCE(SUM(role_code='WAREHOUSE_TALLY'),0)",
|
||||
"INTO v_warehouse_operator_permission_count, v_warehouse_tally_permission_count",
|
||||
"IF v_warehouse_operator_permission_count <> 7",
|
||||
"OR v_warehouse_tally_permission_count <> 2 THEN");
|
||||
assertThat(sql).doesNotContain(
|
||||
"IF (SELECT COUNT(*) FROM tmp_phase5_delivery_role_permission",
|
||||
"OR (SELECT COUNT(*) FROM tmp_phase5_delivery_role_permission");
|
||||
}
|
||||
|
||||
@Test
|
||||
void grantsOnlyTheDefaultCustomerAdministratorAutomatically() throws Exception {
|
||||
String sql = sql();
|
||||
|
||||
Reference in New Issue
Block a user