Skip to main content

PluginInstance

Trait PluginInstance 

Source
pub trait PluginInstance:
    Debug
    + Send
    + Sync {
Show 16 methods // Required methods fn manifest(&self) -> &PactPluginManifest; fn instance_id(&self) -> &str; fn has_capability(&self, capability: &str) -> bool; fn compare_contents<'life0, 'async_trait>( &'life0 self, request: CompareContentsRequest, ) -> Pin<Box<dyn Future<Output = Result<CompareContentsResponse>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn configure_interaction<'life0, 'async_trait>( &'life0 self, request: ConfigureInteractionRequest, ) -> Pin<Box<dyn Future<Output = Result<ConfigureInteractionResponse>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn generate_content<'life0, 'async_trait>( &'life0 self, request: GenerateContentRequest, ) -> Pin<Box<dyn Future<Output = Result<GenerateContentResponse>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn start_mock_server<'life0, 'async_trait>( &'life0 self, request: StartMockServerRequest, ) -> Pin<Box<dyn Future<Output = Result<StartMockServerResponse>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn shutdown_mock_server<'life0, 'async_trait>( &'life0 self, request: ShutdownMockServerRequest, ) -> Pin<Box<dyn Future<Output = Result<ShutdownMockServerResponse>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn get_mock_server_results<'life0, 'async_trait>( &'life0 self, request: MockServerRequest, ) -> Pin<Box<dyn Future<Output = Result<MockServerResults>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn prepare_interaction_for_verification<'life0, 'async_trait>( &'life0 self, request: VerificationPreparationRequest, ) -> Pin<Box<dyn Future<Output = Result<VerificationPreparationResponse>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn verify_interaction<'life0, 'async_trait>( &'life0 self, request: VerifyInteractionRequest, ) -> Pin<Box<dyn Future<Output = Result<VerifyInteractionResponse>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn update_catalogue<'life0, 'async_trait>( &'life0 self, request: Catalogue, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; // Provided methods fn kill(&self) { ... } fn start_mock_server_v2<'life0, 'async_trait>( &'life0 self, request: StartMockServerRequest, ) -> Pin<Box<dyn Future<Output = Result<StartMockServerResponse>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait { ... } fn prepare_interaction_for_verification_v2<'life0, 'async_trait>( &'life0 self, request: VerificationPreparationRequest, ) -> Pin<Box<dyn Future<Output = Result<VerificationPreparationResponse>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait { ... } fn verify_interaction_v2<'life0, 'async_trait>( &'life0 self, request: VerifyInteractionRequest, ) -> Pin<Box<dyn Future<Output = Result<VerifyInteractionResponse>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait { ... }
}
Expand description

Trait for a running plugin instance.

Implementations include crate::grpc_plugin::GrpcPactPlugin for exec-type plugins that communicate via gRPC, and future embedded runtimes (Lua, Python, …).

Required Methods§

Source

fn manifest(&self) -> &PactPluginManifest

Return the manifest for this plugin.

Source

fn instance_id(&self) -> &str

Return the instance ID assigned to this plugin at startup.

Source

fn has_capability(&self, capability: &str) -> bool

Check whether the plugin declared a specific capability.

Source

fn compare_contents<'life0, 'async_trait>( &'life0 self, request: CompareContentsRequest, ) -> Pin<Box<dyn Future<Output = Result<CompareContentsResponse>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Send a compare contents request to the plugin process

Source

fn configure_interaction<'life0, 'async_trait>( &'life0 self, request: ConfigureInteractionRequest, ) -> Pin<Box<dyn Future<Output = Result<ConfigureInteractionResponse>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Send a configure contents request to the plugin process

Source

fn generate_content<'life0, 'async_trait>( &'life0 self, request: GenerateContentRequest, ) -> Pin<Box<dyn Future<Output = Result<GenerateContentResponse>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Send a generate content request to the plugin

Source

fn start_mock_server<'life0, 'async_trait>( &'life0 self, request: StartMockServerRequest, ) -> Pin<Box<dyn Future<Output = Result<StartMockServerResponse>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Start a mock server

Source

fn shutdown_mock_server<'life0, 'async_trait>( &'life0 self, request: ShutdownMockServerRequest, ) -> Pin<Box<dyn Future<Output = Result<ShutdownMockServerResponse>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Shutdown a running mock server

Source

fn get_mock_server_results<'life0, 'async_trait>( &'life0 self, request: MockServerRequest, ) -> Pin<Box<dyn Future<Output = Result<MockServerResults>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Get the matching results from a running mock server

Source

fn prepare_interaction_for_verification<'life0, 'async_trait>( &'life0 self, request: VerificationPreparationRequest, ) -> Pin<Box<dyn Future<Output = Result<VerificationPreparationResponse>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Prepare an interaction for verification.

Source

fn verify_interaction<'life0, 'async_trait>( &'life0 self, request: VerifyInteractionRequest, ) -> Pin<Box<dyn Future<Output = Result<VerifyInteractionResponse>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Execute the verification for the interaction.

Source

fn update_catalogue<'life0, 'async_trait>( &'life0 self, request: Catalogue, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Updates the catalogue.

Provided Methods§

Source

fn kill(&self)

Terminate the running plugin. The default no-op suits embedded runtimes that are not managed as a child process.

Source

fn start_mock_server_v2<'life0, 'async_trait>( &'life0 self, request: StartMockServerRequest, ) -> Pin<Box<dyn Future<Output = Result<StartMockServerResponse>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Start a mock server using V2 structured interaction data (no pact JSON).

Source

fn prepare_interaction_for_verification_v2<'life0, 'async_trait>( &'life0 self, request: VerificationPreparationRequest, ) -> Pin<Box<dyn Future<Output = Result<VerificationPreparationResponse>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Prepare an interaction for verification using V2 structured interaction data.

Source

fn verify_interaction_v2<'life0, 'async_trait>( &'life0 self, request: VerifyInteractionRequest, ) -> Pin<Box<dyn Future<Output = Result<VerifyInteractionResponse>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Execute the verification for the interaction using V2 structured interaction data.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§