Skip to main content

synapse_application/
catalog_validation.rs

1use serde_json::Value;
2use soma_ops::OperationName;
3
4use crate::{CompatibilityError, SynapseCatalog};
5
6impl SynapseCatalog {
7    /// Validates one canonical result payload against its checked-in schema.
8    pub fn validate_result(
9        &self,
10        operation: &OperationName,
11        result: &Value,
12    ) -> Result<(), CompatibilityError> {
13        self.result_schema(operation)
14            .ok_or_else(|| CompatibilityError::UnknownOperation(operation.clone()))?
15            .validate(operation, "result", result)
16    }
17}
18
19#[cfg(test)]
20#[path = "catalog_validation_tests.rs"]
21mod tests;