prompty 2.0.0-alpha.8

Prompty is an asset class and format for LLM prompts
Documentation

// Code generated by AgentSchema emitter; DO NOT EDIT.

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());
}