@@ -400,8 +400,8 @@ def test_validate_selected_plugins_emits_progress_and_result_lines(self):
400400 ("plugin-b" , {"repo" : "https://github.com/example/plugin-b" }),
401401 ]
402402 fake_results = [
403- {"plugin" : "plugin-a" , "ok" : True , "stage" : "load" , "message" : "ok" },
404- {"plugin" : "plugin-b" , "ok" : False , "stage" : "metadata" , "message" : "invalid metadata.yaml " },
403+ {"plugin" : "plugin-a" , "ok" : True , "severity" : "pass" , " stage" : "load" , "message" : "ok" },
404+ {"plugin" : "plugin-b" , "ok" : False , "severity" : "warn" , " stage" : "metadata" , "message" : "missing required metadata fields: desc " },
405405 ]
406406
407407 with mock .patch .object (module , "validate_plugin" , side_effect = fake_results ) as validate_mock :
@@ -420,7 +420,7 @@ def test_validate_selected_plugins_emits_progress_and_result_lines(self):
420420 self .assertEqual (validate_mock .call_count , 2 )
421421 print_mock .assert_any_call ("[1/2] Queued plugin-a" , flush = True )
422422 print_mock .assert_any_call ("[1/2] PASS plugin-a [load] ok" , flush = True )
423- print_mock .assert_any_call ("[2/2] FAIL plugin-b [metadata] invalid metadata.yaml " , flush = True )
423+ print_mock .assert_any_call ("[2/2] WARN plugin-b [metadata] missing required metadata fields: desc " , flush = True )
424424
425425 def test_validate_selected_plugins_preserves_result_order_with_out_of_order_completion (self ):
426426 module = load_validator_module ()
@@ -592,6 +592,7 @@ def test_reports_missing_required_metadata_fields(self):
592592 result = module .precheck_plugin_directory (plugin_dir )
593593
594594 self .assertFalse (result ["ok" ])
595+ self .assertEqual (result ["severity" ], "warn" )
595596 self .assertEqual (result ["stage" ], "metadata" )
596597 self .assertIn ("desc" , result ["message" ])
597598 self .assertIn ("version" , result ["message" ])
@@ -652,19 +653,21 @@ def test_worker_sys_path_includes_astrbot_root_before_codebase(self):
652653
653654
654655class ReportBuilderTests (unittest .TestCase ):
655- def test_build_report_counts_passed_and_failed_results (self ):
656+ def test_build_report_counts_passed_warned_and_failed_results (self ):
656657 module = load_validator_module ()
657658
658659 report = module .build_report (
659660 [
660- {"plugin" : "plugin-a" , "ok" : True , "stage" : "load" , "message" : "ok" },
661- {"plugin" : "plugin-b" , "ok" : False , "stage" : "metadata" , "message" : "missing desc" },
661+ {"plugin" : "plugin-a" , "ok" : True , "severity" : "pass" , "stage" : "load" , "message" : "ok" },
662+ {"plugin" : "plugin-b" , "ok" : False , "severity" : "warn" , "stage" : "metadata" , "message" : "missing desc" },
663+ {"plugin" : "plugin-c" , "ok" : False , "severity" : "fail" , "stage" : "load" , "message" : "boom" },
662664 ]
663665 )
664666
665- self .assertEqual (report ["summary" ]["total" ], 2 )
667+ self .assertEqual (report ["summary" ]["total" ], 3 )
666668 self .assertEqual (report ["summary" ]["passed" ], 1 )
667669 self .assertEqual (report ["summary" ]["failed" ], 1 )
670+ self .assertEqual (report ["summary" ]["warned" ], 1 )
668671 self .assertEqual (report ["results" ][1 ]["plugin" ], "plugin-b" )
669672
670673
0 commit comments