#![cfg(feature = "test-harness")]
use nexo_microapp_sdk::{Microapp, MicroappTestHarness, ToolCtx, ToolError, ToolReply};
use serde_json::json;
async fn echo(args: serde_json::Value, _ctx: ToolCtx) -> Result<ToolReply, ToolError> {
Ok(ToolReply::ok_json(json!({ "echoed": args })))
}
#[tokio::test]
async fn echo_microapp_round_trip() {
let app = Microapp::new("echo-test", "0.0.0").with_tool("echo", echo);
let harness = MicroappTestHarness::new(app);
let out = harness
.call_tool("echo", json!({ "ping": "pong" }))
.await
.expect("call ok");
assert_eq!(out["echoed"]["ping"], "pong");
}