//! Check the shared generator against a real example's discovered document. #[test] fn notes_client_preserves_names_and_docs() { let document = serde_json::from_str(include_str!("../../examples/consumer/imports/notes.json")).unwrap(); let code = sausage_interface::client_rs("notes", &document).unwrap(); assert!(code.contains("pub struct AddParams")); assert!(code.contains("pub struct Added")); assert!(!code.contains("AddedResult")); assert!(code.contains("The complete note text")); assert!(code.contains("pub fn add(params: AddParams)")); syn::parse_file(&code).unwrap(); let target = std::path::Path::new(env!("CARGO_MANIFEST_DIR")).join("../target/sdk"); std::fs::create_dir_all(&target).unwrap(); std::fs::write(target.join("notes-client.rs"), code).unwrap(); }