Struct wiremock::matchers::BodyExactMatcher[][src]

pub struct BodyExactMatcher(_);

Match exactly the body of a request.

Example (string):

use wiremock::{MockServer, Mock, ResponseTemplate};
use wiremock::matchers::body_string;

#[async_std::main]
async fn main() {
    // Arrange
    let mock_server = MockServer::start().await;

    Mock::given(body_string("hello world!"))
        .respond_with(ResponseTemplate::new(200))
        .mount(&mock_server)
        .await;

    // Act
    let status = surf::post(&mock_server.uri())
        .body("hello world!")
        .await
        .unwrap()
        .status();

    // Assert
    assert_eq!(status, 200);
}

Example (json):

use wiremock::{MockServer, Mock, ResponseTemplate};
use wiremock::matchers::body_json;
use serde_json::json;

#[async_std::main]
async fn main() {
    // Arrange
    let mock_server = MockServer::start().await;

    let expected_body = json!({
        "hello": "world!"
    });
    Mock::given(body_json(&expected_body))
        .respond_with(ResponseTemplate::new(200))
        .mount(&mock_server)
        .await;

    // Act
    let status = surf::post(&mock_server.uri())
        .body(expected_body)
        .await
        .unwrap()
        .status();

    // Assert
    assert_eq!(status, 200);
}

Implementations

impl BodyExactMatcher[src]

pub fn string<T: Into<String>>(body: T) -> Self[src]

Specify the expected body as a string.

pub fn bytes<T: Into<Vec<u8>>>(body: T) -> Self[src]

Specify the expected body as a vector of bytes.

pub fn json<T: Serialize>(body: T) -> Self[src]

Specify something JSON-serializable as the expected body.

Trait Implementations

impl Debug for BodyExactMatcher[src]

impl Match for BodyExactMatcher[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,