Files
claw/tests/scheduled_monitoring_action_registry_test.rs

99 lines
3.7 KiB
Rust

use std::path::PathBuf;
use sgclaw::compat::scene_platform::scheduled_registry::load_scheduled_monitoring_registry;
fn validation_bundle_skills_dir() -> PathBuf {
PathBuf::from("dist/sgclaw_scheduled_monitoring_read_only_validation_bundle_2026-04-22/skills")
}
#[test]
fn scheduled_monitoring_registry_loads_materialized_skill() {
let registry = load_scheduled_monitoring_registry(&validation_bundle_skills_dir()).unwrap();
let entry = registry
.iter()
.find(|entry| entry.workflow_id == "command_center_fee_control_monitoring_action")
.expect("command center skill must be registered");
assert_eq!(
entry.workflow_id,
"command_center_fee_control_monitoring_action"
);
assert_eq!(
entry.manifest.scene.kind,
"scheduled_monitoring_action_workflow"
);
}
#[test]
fn scheduled_monitoring_registry_loads_archive_workorder_skill() {
let registry = load_scheduled_monitoring_registry(&validation_bundle_skills_dir()).unwrap();
let entry = registry
.iter()
.find(|entry| entry.workflow_id == "archive_workorder_grid_push_monitoring_action")
.expect("archive workorder skill must be registered");
assert_eq!(entry.manifest.scene.id, "archive-workorder-grid-push-monitor");
assert_eq!(
entry.manifest.scene.kind,
"scheduled_monitoring_action_workflow"
);
assert_eq!(entry.manifest.scene.category, "monitoring");
let safety = entry.manifest.safety.as_ref().unwrap();
assert_eq!(safety.active_enabled, false);
assert_eq!(safety.queue_process_enabled, false);
assert_eq!(
entry.manifest.runtime_context.as_ref().unwrap().expected_domain,
"yx.gs.sgcc.com.cn"
);
}
#[test]
fn scheduled_monitoring_registry_loads_available_balance_below_zero_skill() {
let registry = load_scheduled_monitoring_registry(&validation_bundle_skills_dir()).unwrap();
let entry = registry
.iter()
.find(|entry| entry.workflow_id == "available_balance_below_zero_monitoring_action")
.expect("available balance below zero skill must be registered");
assert_eq!(entry.manifest.scene.id, "available-balance-below-zero-monitor");
assert_eq!(
entry.manifest.scene.kind,
"scheduled_monitoring_action_workflow"
);
assert_eq!(entry.manifest.scene.category, "monitoring");
let safety = entry.manifest.safety.as_ref().unwrap();
assert_eq!(safety.active_enabled, false);
assert_eq!(safety.queue_process_enabled, false);
assert_eq!(
entry.manifest.runtime_context.as_ref().unwrap().expected_domain,
"yx.gs.sgcc.com.cn"
);
}
#[test]
fn scheduled_monitoring_registry_loads_sgcc_todo_crawler_skill() {
let registry = load_scheduled_monitoring_registry(&validation_bundle_skills_dir()).unwrap();
let entry = registry
.iter()
.find(|entry| entry.workflow_id == "sgcc_todo_crawler_monitoring_action")
.expect("sgcc todo crawler skill must be registered");
assert_eq!(entry.manifest.scene.id, "sgcc-todo-crawler");
assert_eq!(
entry.manifest.scene.kind,
"scheduled_monitoring_action_workflow"
);
assert_eq!(entry.manifest.scene.category, "monitoring");
let safety = entry.manifest.safety.as_ref().unwrap();
assert_eq!(safety.active_enabled, false);
assert_eq!(safety.queue_process_enabled, false);
assert_eq!(
entry.manifest.runtime_context.as_ref().unwrap().expected_domain,
"xcoa.sgcc.com.cn"
);
let tools = entry.manifest.tools.as_ref().unwrap();
assert_eq!(tools.detect, "scripts/detect.js");
assert_eq!(tools.decide, "scripts/decide.js");
assert_eq!(tools.action_plan, "scripts/action_plan.js");
}