stubr 0.6.2

Wiremock implemented in Rust
Documentation
use http_types::Method;

use crate::model::request::method::{HttpMethodStub, Verb};

impl From<&HttpMethodStub> for Method {
    fn from(method: &HttpMethodStub) -> Self {
        match method.0 {
            Verb::Get => Method::Get,
            Verb::Any | Verb::Post => Method::Post,
            Verb::Put => Method::Put,
            Verb::Delete => Method::Delete,
            Verb::Patch => Method::Patch,
            Verb::Head => Method::Head,
            Verb::Options => Method::Options,
            Verb::Connect => Method::Connect,
            Verb::Trace => Method::Trace,
        }
    }
}

#[cfg(test)]
mod method_mapping_tests {
    use crate::model::request::method::HttpMethodStub;

    use super::*;

    #[test]
    fn should_map_get() {
        assert_eq!(Method::from(&HttpMethodStub::from("GET")), Method::Get)
    }

    #[test]
    fn should_map_post() {
        assert_eq!(Method::from(&HttpMethodStub::from("POST")), Method::Post)
    }

    #[test]
    fn should_map_put() {
        assert_eq!(Method::from(&HttpMethodStub::from("PUT")), Method::Put)
    }

    #[test]
    fn should_map_delete() {
        assert_eq!(Method::from(&HttpMethodStub::from("DELETE")), Method::Delete)
    }

    #[test]
    fn should_map_patch() {
        assert_eq!(Method::from(&HttpMethodStub::from("PATCH")), Method::Patch)
    }

    #[test]
    fn should_map_head() {
        assert_eq!(Method::from(&HttpMethodStub::from("HEAD")), Method::Head)
    }

    #[test]
    fn should_map_options() {
        assert_eq!(Method::from(&HttpMethodStub::from("OPTIONS")), Method::Options)
    }

    #[test]
    fn should_map_connect() {
        assert_eq!(Method::from(&HttpMethodStub::from("CONNECT")), Method::Connect)
    }

    #[test]
    fn should_map_trace() {
        assert_eq!(Method::from(&HttpMethodStub::from("TRACE")), Method::Trace)
    }

    #[test]
    fn should_map_any_to_post() {
        assert_eq!(Method::from(&HttpMethodStub::from("ANY")), Method::Post)
    }
}