Trait pact_models::interaction::Interaction[][src]

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>
Notable traits for Vec<u8, A>
impl<A> Write for Vec<u8, A> where
    A: Allocator
;
fn provider_states_mut(&mut self) -> &mut Vec<ProviderState>
Notable traits for Vec<u8, A>
impl<A> Write for Vec<u8, A> where
    A: Allocator
;
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>>;
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

The type of the interaction

If this is a request/response interaction

Returns the request/response interaction if it is one

If this is a message interaction

Returns the message interaction if it is one

Interaction ID. This will only be set if the Pact file was fetched from a Pact Broker

Description of this interaction. This needs to be unique in the pact file.

Set the Interaction ID

Set the description of this interaction. This needs to be unique in the pact file.

Optional provider states for the interaction. See <https://docs.pact.io/getting_started/provider_states> for more info on provider states.

Mutable Optional provider states for the interaction. See <https://docs.pact.io/getting_started/provider_states> for more info on provider states.

👎 Deprecated since 0.1.0:

Some interactions have multiple contents (like request/response), so it is impossible to know which to return for this method

Body of the response or message

The contents of the part to use for verification. For example, with HTTP interactions, this will be the response body

👎 Deprecated since 0.1.0:

Some interactions have multiple contents (like request/response), so it is impossible to know which to return for this method

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.

If this is a V4 interaction

Returns the interaction in V4 format

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).

Returns the interaction in V4 format

Returns the interaction in V4 format

Returns the interaction in V4 format

Returns the interaction in V4 format

Returns the interaction in V4 format

Returns the interaction in V4 format

Clones this interaction and wraps it in a Box

Clones this interaction and wraps it in an Arc

Clones this interaction and wraps it in an Arc and Mutex

👎 Deprecated since 0.2.1:

Some interactions have multiple contents (like request/response), so it is impossible to know which to return for this method

Returns the matching rules associated with this interaction (if there are any)

Provided methods

If the interaction is V4 HTTP

If the interaction is a V4 message

If the interaction is a V4 synchronous request/response message

If this interaction is pending (V4 only)

Trait Implementations

Formats the value using the given formatter. Read more

Implementors