use koi_embedded::testkit;
#[tokio::test]
async fn same_consumer_code_runs_in_both_postures() {
for node in [testkit::open().await, testkit::secured().await] {
let cm = node.certmesh().expect("certmesh handle");
let env = cm.sign(b"hello, mesh").await.expect("sign");
let assurance = cm.verify(&env).await.expect("verify");
assert!(
!assurance.is_rejected(),
"verify must accept our own envelope in any posture (got {assurance:?})"
);
let sealed = cm.seal(b"a secret").await.expect("seal");
let opened = cm.open(&sealed).await.expect("open");
assert_eq!(
opened.payload, b"a secret",
"seal/open must round-trip in any posture"
);
let diagnosis = cm.diagnose().await.expect("diagnose");
assert!(
!diagnosis.is_red(),
"a freshly-built node must not diagnose RED (got {diagnosis:?})"
);
node.shutdown().await;
}
}