Trait pact_models::interaction::Interaction
source · pub trait Interaction: Debug {
Show 31 methods
fn type_of(&self) -> String;
fn is_request_response(&self) -> bool;
fn as_request_response(&self) -> Option<RequestResponseInteraction>;
fn is_message(&self) -> bool;
fn as_message(&self) -> Option<Message>;
fn id(&self) -> Option<String>;
fn description(&self) -> String;
fn set_id(&mut self, id: Option<String>);
fn set_description(&mut self, description: &str);
fn provider_states(&self) -> Vec<ProviderState> ⓘ;
fn provider_states_mut(&mut self) -> &mut Vec<ProviderState> ⓘ;
fn contents(&self) -> OptionalBody;
fn contents_for_verification(&self) -> OptionalBody;
fn content_type(&self) -> Option<ContentType>;
fn is_v4(&self) -> bool;
fn as_v4(&self) -> Option<Box<dyn V4Interaction + Send + Sync>>;
fn as_v4_mut(&mut self) -> Option<&mut dyn V4Interaction>;
fn as_v4_http(&self) -> Option<SynchronousHttp>;
fn as_v4_async_message(&self) -> Option<AsynchronousMessage>;
fn as_v4_sync_message(&self) -> Option<SynchronousMessage>;
fn as_v4_http_mut(&mut self) -> Option<&mut SynchronousHttp>;
fn as_v4_async_message_mut(&mut self) -> Option<&mut AsynchronousMessage>;
fn as_v4_sync_message_mut(&mut self) -> Option<&mut SynchronousMessage>;
fn boxed(&self) -> Box<dyn Interaction + Send + Sync>;
fn arced(&self) -> Arc<dyn Interaction + Send + Sync>;
fn thread_safe(&self) -> Arc<Mutex<dyn Interaction + Send + Sync>>;
fn matching_rules(&self) -> Option<MatchingRules>;
fn is_v4_http(&self) -> bool { ... }
fn is_v4_async_message(&self) -> bool { ... }
fn is_v4_sync_message(&self) -> bool { ... }
fn pending(&self) -> bool { ... }
}Expand description
Interaction Trait
Required Methods§
sourcefn is_request_response(&self) -> bool
fn is_request_response(&self) -> bool
If this is a request/response interaction
sourcefn as_request_response(&self) -> Option<RequestResponseInteraction>
fn as_request_response(&self) -> Option<RequestResponseInteraction>
Returns the request/response interaction if it is one
sourcefn is_message(&self) -> bool
fn is_message(&self) -> bool
If this is a message interaction
sourcefn as_message(&self) -> Option<Message>
fn as_message(&self) -> Option<Message>
Returns the message interaction if it is one
sourcefn id(&self) -> Option<String>
fn id(&self) -> Option<String>
Interaction ID. This will only be set if the Pact file was fetched from a Pact Broker
sourcefn description(&self) -> String
fn description(&self) -> String
Description of this interaction. This needs to be unique in the pact file.
sourcefn set_description(&mut self, description: &str)
fn set_description(&mut self, description: &str)
Set the description of this interaction. This needs to be unique in the pact file.
sourcefn provider_states(&self) -> Vec<ProviderState> ⓘ
fn provider_states(&self) -> Vec<ProviderState> ⓘ
Optional provider states for the interaction.
See <https://docs.pact.io/getting_started/provider_states> for more info on provider states.
sourcefn provider_states_mut(&mut self) -> &mut Vec<ProviderState> ⓘ
fn provider_states_mut(&mut self) -> &mut Vec<ProviderState> ⓘ
Mutable Optional provider states for the interaction.
See <https://docs.pact.io/getting_started/provider_states> for more info on provider states.
sourcefn contents(&self) -> OptionalBody
fn contents(&self) -> OptionalBody
Body of the response or message
sourcefn contents_for_verification(&self) -> OptionalBody
fn contents_for_verification(&self) -> OptionalBody
The contents of the part to use for verification. For example, with HTTP interactions, this will be the response body
sourcefn content_type(&self) -> Option<ContentType>
fn content_type(&self) -> Option<ContentType>
Determine the content type of the interaction. If a Content-Type header or metadata value is present, the
value of that value will be returned. Otherwise, the contents will be inspected.
sourcefn as_v4(&self) -> Option<Box<dyn V4Interaction + Send + Sync>>
fn as_v4(&self) -> Option<Box<dyn V4Interaction + Send + Sync>>
Returns the interaction in V4 format
sourcefn as_v4_mut(&mut self) -> Option<&mut dyn V4Interaction>
fn as_v4_mut(&mut self) -> Option<&mut dyn V4Interaction>
Returns a mutable reference for the interaction. If the interaction is not a V4 format,
will return None. The as_v4 method can convert to V4 format (via cloning the data).
sourcefn as_v4_http(&self) -> Option<SynchronousHttp>
fn as_v4_http(&self) -> Option<SynchronousHttp>
Returns the interaction in V4 format
sourcefn as_v4_async_message(&self) -> Option<AsynchronousMessage>
fn as_v4_async_message(&self) -> Option<AsynchronousMessage>
Returns the interaction in V4 format
sourcefn as_v4_sync_message(&self) -> Option<SynchronousMessage>
fn as_v4_sync_message(&self) -> Option<SynchronousMessage>
Returns the interaction in V4 format
sourcefn as_v4_http_mut(&mut self) -> Option<&mut SynchronousHttp>
fn as_v4_http_mut(&mut self) -> Option<&mut SynchronousHttp>
Returns the interaction in V4 format
sourcefn as_v4_async_message_mut(&mut self) -> Option<&mut AsynchronousMessage>
fn as_v4_async_message_mut(&mut self) -> Option<&mut AsynchronousMessage>
Returns the interaction in V4 format
sourcefn as_v4_sync_message_mut(&mut self) -> Option<&mut SynchronousMessage>
fn as_v4_sync_message_mut(&mut self) -> Option<&mut SynchronousMessage>
Returns the interaction in V4 format
sourcefn boxed(&self) -> Box<dyn Interaction + Send + Sync>
fn boxed(&self) -> Box<dyn Interaction + Send + Sync>
Clones this interaction and wraps it in a Box
sourcefn arced(&self) -> Arc<dyn Interaction + Send + Sync>
fn arced(&self) -> Arc<dyn Interaction + Send + Sync>
Clones this interaction and wraps it in an Arc
sourcefn thread_safe(&self) -> Arc<Mutex<dyn Interaction + Send + Sync>>
fn thread_safe(&self) -> Arc<Mutex<dyn Interaction + Send + Sync>>
Clones this interaction and wraps it in an Arc and Mutex
sourcefn matching_rules(&self) -> Option<MatchingRules>
fn matching_rules(&self) -> Option<MatchingRules>
Returns the matching rules associated with this interaction (if there are any)
Provided Methods§
sourcefn is_v4_http(&self) -> bool
fn is_v4_http(&self) -> bool
If the interaction is V4 HTTP
sourcefn is_v4_async_message(&self) -> bool
fn is_v4_async_message(&self) -> bool
If the interaction is a V4 message
sourcefn is_v4_sync_message(&self) -> bool
fn is_v4_sync_message(&self) -> bool
If the interaction is a V4 synchronous request/response message