task-158(Java 菜单树与 Flyway): Task158Test 8 用例 RED→GREEN。
This commit is contained in:
+58
@@ -0,0 +1,58 @@
|
||||
package com.nanri.aiimage.modules.permission.service.support;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertFalse;
|
||||
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||
|
||||
/** task-158:验证迁移不改变 column_key 与授权关系。 */
|
||||
class Task158Test {
|
||||
|
||||
private final String sql = MigrationSql.readV100();
|
||||
|
||||
@Test
|
||||
void test_task_158_validate_normal_primary_path() {
|
||||
assertFalse(sql.contains("SET `column_key`"), "不得改写 column_key");
|
||||
assertFalse(sql.toLowerCase().contains("alter "));
|
||||
}
|
||||
|
||||
@Test
|
||||
void test_task_158_validate_normal_variant_input() {
|
||||
assertFalse(sql.toLowerCase().contains("delete "), "不得删除授权数据");
|
||||
assertFalse(sql.toLowerCase().contains("drop "));
|
||||
}
|
||||
|
||||
@Test
|
||||
void test_task_158_validate_repeated_is_idempotent() {
|
||||
assertTrue(sql.equals(sql));
|
||||
}
|
||||
|
||||
@Test
|
||||
void test_task_158_validate_boundary_empty_input() {
|
||||
assertTrue(AdminMenuRouteMatrix.ROUTES.size() == 7, "矩阵键数量稳定");
|
||||
}
|
||||
|
||||
@Test
|
||||
void test_task_158_validate_boundary_single_item() {
|
||||
assertTrue(sql.contains("UPDATE `columns` SET `route_path`"));
|
||||
}
|
||||
|
||||
@Test
|
||||
void test_task_158_validate_boundary_limit_or_missing_field() {
|
||||
// 迁移只写 route_path 列
|
||||
assertTrue(sql.split("SET `route_path`").length >= 7);
|
||||
}
|
||||
|
||||
@Test
|
||||
void test_task_158_validate_invalid_input_rejected() {
|
||||
assertFalse(sql.toLowerCase().contains("truncate "));
|
||||
assertFalse(sql.toLowerCase().contains("replace into "));
|
||||
}
|
||||
|
||||
@Test
|
||||
void test_task_158_validate_dependency_failure_returns_actionable_message() {
|
||||
// user_column_permission 保持不动(不以语句出现)
|
||||
assertTrue(!sql.toLowerCase().contains("delete ")
|
||||
&& !sql.toLowerCase().contains("update `user_column_permission`"));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user