execution_engine_core/framework/
assertions.rs1use super::service::MockPlugin;
9
10pub trait PluginAssertions {
12 fn assert_state(&self, expected_state: &str);
14
15 fn assert_has_capability(&self, capability: &str);
17
18 fn assert_health_status(&self, expected_status: &str);
20}
21
22impl PluginAssertions for MockPlugin {
23 fn assert_state(&self, _expected_state: &str) {
24 }
27
28 fn assert_has_capability(&self, capability: &str) {
29 assert!(
30 self.has_capability(capability),
31 "Plugin '{}' does not have capability '{}'",
32 self.name(),
33 capability
34 );
35 }
36
37 fn assert_health_status(&self, _expected_status: &str) {
38 }
41}
42
43#[cfg(test)]
44mod tests {
45 use super::*;
46
47 #[test]
48 fn test_assert_has_capability_passes() {
49 let plugin = MockPlugin::builder("test")
50 .with_capability("test.action")
51 .build();
52 plugin.assert_has_capability("test.action"); }
54
55 #[test]
56 #[should_panic(expected = "does not have capability")]
57 fn test_assert_has_capability_fails() {
58 let plugin = MockPlugin::builder("test").build();
59 plugin.assert_has_capability("missing.action"); }
61
62 #[test]
63 fn test_assert_state() {
64 let plugin = MockPlugin::builder("test").build();
65 plugin.assert_state("any"); }
67
68 #[test]
69 fn test_assert_health_status() {
70 let plugin = MockPlugin::builder("test").build();
71 plugin.assert_health_status("healthy"); }
73}