Trait pact_plugin_driver::proto::pact_plugin_server::PactPlugin
source · [−]pub trait PactPlugin: Send + Sync + 'static {
fn init_plugin<'life0, 'async_trait>(
&'life0 self,
request: Request<InitPluginRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<InitPluginResponse>, Status>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn update_catalogue<'life0, 'async_trait>(
&'life0 self,
request: Request<Catalogue>
) -> Pin<Box<dyn Future<Output = Result<Response<()>, Status>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn compare_contents<'life0, 'async_trait>(
&'life0 self,
request: Request<CompareContentsRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<CompareContentsResponse>, Status>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn configure_interaction<'life0, 'async_trait>(
&'life0 self,
request: Request<ConfigureInteractionRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<ConfigureInteractionResponse>, Status>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn generate_content<'life0, 'async_trait>(
&'life0 self,
request: Request<GenerateContentRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<GenerateContentResponse>, Status>> + Send + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
}Expand description
Generated trait containing gRPC methods that should be implemented for use with PactPluginServer.
Required methods
fn init_plugin<'life0, 'async_trait>(
&'life0 self,
request: Request<InitPluginRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<InitPluginResponse>, Status>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn init_plugin<'life0, 'async_trait>(
&'life0 self,
request: Request<InitPluginRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<InitPluginResponse>, Status>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
Check that the plugin loaded OK. Returns the catalogue entries describing what the plugin provides
Updated catalogue. This will be sent when the core catalogue has been updated (probably by a plugin loading).
fn compare_contents<'life0, 'async_trait>(
&'life0 self,
request: Request<CompareContentsRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<CompareContentsResponse>, Status>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn compare_contents<'life0, 'async_trait>(
&'life0 self,
request: Request<CompareContentsRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<CompareContentsResponse>, Status>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
Request to perform a comparison of some contents (matching request)
fn configure_interaction<'life0, 'async_trait>(
&'life0 self,
request: Request<ConfigureInteractionRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<ConfigureInteractionResponse>, Status>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn configure_interaction<'life0, 'async_trait>(
&'life0 self,
request: Request<ConfigureInteractionRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<ConfigureInteractionResponse>, Status>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
Request to configure/setup the interaction for later verification. Data returned will be persisted in the pact file.
fn generate_content<'life0, 'async_trait>(
&'life0 self,
request: Request<GenerateContentRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<GenerateContentResponse>, Status>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn generate_content<'life0, 'async_trait>(
&'life0 self,
request: Request<GenerateContentRequest>
) -> Pin<Box<dyn Future<Output = Result<Response<GenerateContentResponse>, Status>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
Request to generate the content using any defined generators