use wip_host::CallErrorKind; use wip_protocol::{INTERFACE_FORMAT_V1, ProtocolErrorCode}; use wip_public_api_example::{PublishOutcome, run}; #[test] fn public_crates_support_the_complete_end_to_end_scenario() { let report = run().unwrap(); assert_eq!(report.published_interfaces.len(), 2); assert_eq!(report.catalog_descriptor_format, INTERFACE_FORMAT_V1); assert_eq!(report.audit_descriptor_format, INTERFACE_FORMAT_V1); assert_eq!( report.published, PublishOutcome::Published("article-1".into()) ); assert_eq!( report.rejected, PublishOutcome::Rejected("a title is required".into()) ); assert_eq!(report.catalog_status, "catalog-ready"); assert_eq!(report.audit_status, "audit-ready"); assert_eq!(report.host_failure, CallErrorKind::Implementation); assert_eq!(report.protocol_failure.code, ProtocolErrorCode::Internal); }