Skip to main content

Crate easyhttpmock_vetis_smol

Crate easyhttpmock_vetis_smol 

Source
Expand description

§EasyHttpMock Vetis Smol

Crates.io downloads crates.io Build Status Crates.io MSRV Documentation MIT licensed codecov

This crate provides the core functionality for creating HTTP mock servers using the Smol runtime.

§Quick Start

Add EasyHttpMock Vetis Smol to your Cargo.toml:

easyhttpmock-vetis-smol = { version = "0.1.0-beta.3", features = ["http2", "rust-tls"] }
macro_rules_attribute = "0.2.2"
smol = { version = "2.0.2", default-features = false }
smol-macros = { version = "0.1.1", default-features = false }

§Usage Example

Here’s how simple it is to create a web server with VeTiS:

use easyhttpmock_vetis_smol::{
    EasyHttpMock,
    config::EasyHttpMockConfig,
    matchers::{method, path},
    mock::{AsyncMatcherExt, Mock, StatusCodeExt, given},
    vetis_adapter::VetisAdapter,
};
use http::{Method, StatusCode};
use macro_rules_attribute::apply;
use smol_macros::main;
use std::error::Error;

#[apply(main!)]
async fn main() -> Result<(), Box<dyn Error>> {
    let config = EasyHttpMockConfig::<VetisAdapter>::default();
    let server = EasyHttpMock::new(config);
    let mut server = match server {
        Ok(server) => server,
        Err(err) => {
            panic!("Failed to create mock server: {}", err);
        }
    };

    let mock = Mock::of(
        given(method(Method::GET).and(path("/test"))).will_return(
            StatusCode::OK
                .respond()
                .with_body(b"teste"),
        ),
    );

    server.register_mock(mock).await?;

    Ok(())
}

§License

Licensed under either of

at your option.

§Author

Rogerio Pereira Araujo rogerio.araujo@gmail.com

Modules§

config
Configuration module
errors
Error module
matchers
Matchers module
mock
Mock module
server
Server module
vetis_adapter
Vetis smol adapter module

Structs§

EasyHttpMock
Create a mock using a specific server implementation

Functions§

handler_fn
Creates a handler function from a function.

Type Aliases§

HttpMockResult
Result type for HTTP mock operations