pub trait SpecRegistry: Send + Sync {
// Required methods
fn protocol(&self) -> Protocol;
fn operations(&self) -> Vec<SpecOperation>;
fn find_operation(
&self,
operation: &str,
path: &str,
) -> Option<SpecOperation>;
fn validate_request(
&self,
request: &ProtocolRequest,
) -> Result<ValidationResult>;
fn generate_mock_response(
&self,
request: &ProtocolRequest,
) -> Result<ProtocolResponse>;
}
Expand description
Trait for spec-driven mocking registries (OpenAPI, GraphQL schema, Proto files)
Required Methods§
Sourcefn operations(&self) -> Vec<SpecOperation>
fn operations(&self) -> Vec<SpecOperation>
Get all available operations/routes in this spec
Sourcefn find_operation(&self, operation: &str, path: &str) -> Option<SpecOperation>
fn find_operation(&self, operation: &str, path: &str) -> Option<SpecOperation>
Find an operation by path/name
Sourcefn validate_request(
&self,
request: &ProtocolRequest,
) -> Result<ValidationResult>
fn validate_request( &self, request: &ProtocolRequest, ) -> Result<ValidationResult>
Validate a request against the spec
Sourcefn generate_mock_response(
&self,
request: &ProtocolRequest,
) -> Result<ProtocolResponse>
fn generate_mock_response( &self, request: &ProtocolRequest, ) -> Result<ProtocolResponse>
Generate a mock response for a request