116 lines
4.4 KiB
JSON
116 lines
4.4 KiB
JSON
{
|
|
"run_id": "20260916_033500",
|
|
"environment": "MOCK DMS ONLY",
|
|
"total_scenarios": 15,
|
|
"passed_scenarios": 15,
|
|
"failed_scenarios": 0,
|
|
"overall_status": "PASS",
|
|
"scenarios": [
|
|
{
|
|
"index": 1,
|
|
"name": "先Accommodation后Report",
|
|
"expectation": "Grant -> accepted -> poll success -> ACTIVE",
|
|
"test_method": "com.ruoyi.train.dms.DmsMockE2EScenariosSuiteTest#scenario01_accommodationFirstThenReport_grantsAndBecomesActive",
|
|
"status": "PASS"
|
|
},
|
|
{
|
|
"index": 2,
|
|
"name": "先Report后Accommodation",
|
|
"expectation": "WAITING -> Accommodation后Grant -> ACTIVE",
|
|
"test_method": "com.ruoyi.train.dms.DmsMockE2EScenariosSuiteTest#scenario02_reportFirstThenAccommodation_grantsAndBecomesActive",
|
|
"status": "PASS"
|
|
},
|
|
{
|
|
"index": 3,
|
|
"name": "重复Report + reconcile x5",
|
|
"expectation": "authorization 1条 -> credential create 1次 (幂等)",
|
|
"test_method": "com.ruoyi.train.dms.DmsMockE2EScenariosSuiteTest#scenario03_duplicateReportAndReconcile_idempotentSingleAuthAndCredential",
|
|
"status": "PASS"
|
|
},
|
|
{
|
|
"index": 4,
|
|
"name": "Grant failed",
|
|
"expectation": "Authorization非ACTIVE -> retry生成新Operation",
|
|
"test_method": "com.ruoyi.train.dms.DmsMockE2EScenariosSuiteTest#scenario04_grantFailed_nonActiveAndRetryCreatesNewOperation",
|
|
"status": "PASS"
|
|
},
|
|
{
|
|
"index": 5,
|
|
"name": "Grant timeout",
|
|
"expectation": "不ACTIVE -> 历史保留",
|
|
"test_method": "com.ruoyi.train.dms.DmsMockE2EScenariosSuiteTest#scenario05_grantTimeout_retainsHistoryAndNonActive",
|
|
"status": "PASS"
|
|
},
|
|
{
|
|
"index": 6,
|
|
"name": "退训",
|
|
"expectation": "Revoke -> poll success -> REVOKED",
|
|
"test_method": "com.ruoyi.train.dms.DmsMockE2EScenariosSuiteTest#scenario06_dropOut_revokesAndBecomesRevoked",
|
|
"status": "PASS"
|
|
},
|
|
{
|
|
"index": 7,
|
|
"name": "完成培训",
|
|
"expectation": "Revoke -> REVOKED",
|
|
"test_method": "com.ruoyi.train.dms.DmsMockE2EScenariosSuiteTest#scenario07_planComplete_revokesAndBecomesRevoked",
|
|
"status": "PASS"
|
|
},
|
|
{
|
|
"index": 8,
|
|
"name": "请假",
|
|
"expectation": "不自动Revoke (保持OPEN_QUESTION,保留现有授权)",
|
|
"test_method": "com.ruoyi.train.dms.DmsMockE2EScenariosSuiteTest#scenario08_studentLeave_doesNotAutoRevoke",
|
|
"status": "PASS"
|
|
},
|
|
{
|
|
"index": 9,
|
|
"name": "调房成功",
|
|
"expectation": "Grant new first -> New ACTIVE -> Revoke old -> Old REVOKED",
|
|
"test_method": "com.ruoyi.train.dms.DmsMockE2EScenariosSuiteTest#scenario09_transferRoomSuccess_newActiveThenOldRevoked",
|
|
"status": "PASS"
|
|
},
|
|
{
|
|
"index": 10,
|
|
"name": "调房新房Grant失败",
|
|
"expectation": "Old仍ACTIVE -> Old revoke count = 0",
|
|
"test_method": "com.ruoyi.train.dms.DmsMockE2EScenariosSuiteTest#scenario10_transferRoomNewGrantFailure_oldRemainsActiveAndNotRevoked",
|
|
"status": "PASS"
|
|
},
|
|
{
|
|
"index": 11,
|
|
"name": "0 primary lock",
|
|
"expectation": "no grant (配置异常提示)",
|
|
"test_method": "com.ruoyi.train.dms.DmsMockE2EScenariosSuiteTest#scenario11_zeroPrimaryLock_noGrant",
|
|
"status": "PASS"
|
|
},
|
|
{
|
|
"index": 12,
|
|
"name": "2 primary locks",
|
|
"expectation": "config error / no grant (配置异常提示)",
|
|
"test_method": "com.ruoyi.train.dms.DmsMockE2EScenariosSuiteTest#scenario12_twoPrimaryLocks_configErrorAndNoGrant",
|
|
"status": "PASS"
|
|
},
|
|
{
|
|
"index": 13,
|
|
"name": "1 primary + multiple secondary locks",
|
|
"expectation": "只 grant primary (PRIMARY_LOCK_ONLY)",
|
|
"test_method": "com.ruoyi.train.dms.DmsMockE2EScenariosSuiteTest#scenario13_onePrimaryAndMultipleSecondary_grantsOnlyPrimary",
|
|
"status": "PASS"
|
|
},
|
|
{
|
|
"index": 14,
|
|
"name": "DMS network failure on Report",
|
|
"expectation": "Report Confirm 不回滚 (事务解耦,独立记录重试状态)",
|
|
"test_method": "com.ruoyi.train.dms.DmsMockE2EScenariosSuiteTest#scenario14_dmsNetworkFailure_reportConfirmDoesNotRollback",
|
|
"status": "PASS"
|
|
},
|
|
{
|
|
"index": 15,
|
|
"name": "DMS revoke failure on Checkout",
|
|
"expectation": "checkout / plan complete 不回滚 (事务解耦,业务终态不受外部依赖影响)",
|
|
"test_method": "com.ruoyi.train.dms.DmsMockE2EScenariosSuiteTest#scenario15_dmsRevokeFailure_checkoutDoesNotRollback",
|
|
"status": "PASS"
|
|
}
|
|
]
|
|
}
|