Skip to main content

TraceBackend

Struct TraceBackend 

Source
pub struct TraceBackend<B: Backend> { /* private fields */ }
Expand description

A Backend that stores the incoming requests to be later retrieved by the test. Delegates the response generation to the function provided in the constructor. This classes uses the interior mutability pattern to allow the test to retrieve the requests.

§Example

       let back = Rc::new(TraceBackend::new(echo_backend));

        let mut tester = UnitTestBuilder::default()
            .with_config(config)
            .with_backend(Rc::clone(&back))
            .with_entrypoint(crate::configure);

        let response = tester.request(req.clone());
        let request = back.next().unwrap();

Implementations§

Source§

impl<B: Backend> TraceBackend<B>

Source

pub fn new(response: B) -> Self

Creates a new instance with the provided backend for response generation.

Source

pub fn next(&self) -> Option<UnitHttpRequest>

Removes and returns the next request that reached the backend.

Trait Implementations§

Auto Trait Implementations§

§

impl<B> !Freeze for TraceBackend<B>

§

impl<B> !RefUnwindSafe for TraceBackend<B>

§

impl<B> !Send for TraceBackend<B>

§

impl<B> !Sync for TraceBackend<B>

§

impl<B> Unpin for TraceBackend<B>
where B: Unpin,

§

impl<B> UnsafeUnpin for TraceBackend<B>
where B: UnsafeUnpin,

§

impl<B> !UnwindSafe for TraceBackend<B>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<C, T> Extract<T> for C
where T: FromContext<C>,

Source§

type Error = <T as FromContext<C>>::Error

Source§

fn extract(&self) -> Result<T, <C as Extract<T>>::Error>

Source§

fn extract_always(&self) -> T
where Self: Extract<T, Error = Infallible>,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.