use prompty::model::OpenApiTool;
use prompty::model::context::{LoadContext, SaveContext};
#[test]
fn test_open_api_tool_load_json() {
let json = r####"
{
"kind": "openapi",
"connection": {
"kind": "reference"
},
"specification": "./openapi.json"
}
"####;
let result = OpenApiTool::from_json(json, &LoadContext::default());
assert!(result.is_ok(), "Failed to load from JSON: {:?}", result.err());
let instance = result.unwrap();
assert_eq!(instance.kind, "openapi");
assert_eq!(instance.specification, "./openapi.json");
}
#[test]
fn test_open_api_tool_load_yaml() {
let yaml = r####"
kind: openapi
connection:
kind: reference
specification: ./openapi.json
"####;
let result = OpenApiTool::from_yaml(yaml, &LoadContext::default());
assert!(result.is_ok(), "Failed to load from YAML: {:?}", result.err());
let instance = result.unwrap();
assert_eq!(instance.kind, "openapi");
assert_eq!(instance.specification, "./openapi.json");
}
#[test]
fn test_open_api_tool_roundtrip() {
let json = r####"
{
"kind": "openapi",
"connection": {
"kind": "reference"
},
"specification": "./openapi.json"
}
"####;
let result = OpenApiTool::from_json(json, &LoadContext::default());
assert!(result.is_ok(), "Failed to load: {:?}", result.err());
let instance = result.unwrap();
let json_output = instance.to_json(&SaveContext::default());
assert!(json_output.is_ok(), "Failed to serialize to JSON: {:?}", json_output.err());
}