SpecRegistry

Trait SpecRegistry 

Source
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§

Source

fn protocol(&self) -> Protocol

Get the protocol this registry handles

Source

fn operations(&self) -> Vec<SpecOperation>

Get all available operations/routes in this spec

Source

fn find_operation(&self, operation: &str, path: &str) -> Option<SpecOperation>

Find an operation by path/name

Source

fn validate_request( &self, request: &ProtocolRequest, ) -> Result<ValidationResult>

Validate a request against the spec

Source

fn generate_mock_response( &self, request: &ProtocolRequest, ) -> Result<ProtocolResponse>

Generate a mock response for a request

Implementors§