pub struct MockRuntime { /* private fields */ }Expand description
In-memory ContainerRuntime for tests.
Every container becomes ContainerStatus::Healthy 30 ms after
start, unless its name is configured as a failure target via
MockRuntime::fail_on.
Implementations§
Source§impl MockRuntime
impl MockRuntime
Sourcepub fn fail_on(&self, name: &str)
pub fn fail_on(&self, name: &str)
Configure the runtime to reject start for the resource whose
ContainerSpec.name equals name.
Sourcepub fn started_resources(&self) -> Vec<String>
pub fn started_resources(&self) -> Vec<String>
Snapshot of the resource names in start order.
Sourcepub fn stopped_resources(&self) -> Vec<String>
pub fn stopped_resources(&self) -> Vec<String>
Snapshot of the resource names in stop order.
Sourcepub fn started_specs(&self) -> Vec<ContainerSpec>
pub fn started_specs(&self) -> Vec<ContainerSpec>
Snapshot of every container spec the runtime has accepted.
Trait Implementations§
Source§impl Clone for MockRuntime
impl Clone for MockRuntime
Source§fn clone(&self) -> MockRuntime
fn clone(&self) -> MockRuntime
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl ContainerRuntime for MockRuntime
impl ContainerRuntime for MockRuntime
Source§async fn start(&self, spec: &ContainerSpec) -> Result<ContainerId, RuntimeError>
async fn start(&self, spec: &ContainerSpec) -> Result<ContainerId, RuntimeError>
Start a container according to
spec. Pulls the image if not
already present locally.Source§async fn stop(
&self,
id: &ContainerId,
_grace: Duration,
) -> Result<(), RuntimeError>
async fn stop( &self, id: &ContainerId, _grace: Duration, ) -> Result<(), RuntimeError>
Stop a container, sending
SIGTERM and then SIGKILL after
grace. Idempotent: stopping an already stopped container is a
no-op.Source§async fn remove(&self, name: &str) -> Result<(), RuntimeError>
async fn remove(&self, name: &str) -> Result<(), RuntimeError>
Remove a container by name, forcing removal even if it is still
running. Idempotent: removing a container that does not exist is a
no-op. Named volumes are preserved. Read more
Source§async fn inspect(
&self,
id: &ContainerId,
) -> Result<ContainerStatus, RuntimeError>
async fn inspect( &self, id: &ContainerId, ) -> Result<ContainerStatus, RuntimeError>
Report the current status of a container.
Source§async fn wait_healthy(
&self,
id: &ContainerId,
timeout: Duration,
) -> Result<(), RuntimeError>
async fn wait_healthy( &self, id: &ContainerId, timeout: Duration, ) -> Result<(), RuntimeError>
Block until the container reports a healthy status or
timeout
elapses. Returns crate::RuntimeError::Timeout in the latter
case.Source§async fn logs(
&self,
_id: &ContainerId,
_follow: bool,
) -> Result<LogChunkStream, RuntimeError>
async fn logs( &self, _id: &ContainerId, _follow: bool, ) -> Result<LogChunkStream, RuntimeError>
Stream logs from a container. When
follow is true the stream
stays open and emits new chunks as they arrive; when false the
stream completes after the existing logs are drained.Source§async fn ensure_project_network(
&self,
_project: &str,
) -> Result<(), RuntimeError>
async fn ensure_project_network( &self, _project: &str, ) -> Result<(), RuntimeError>
Ensure a per-project user-defined bridge network exists, creating
it when absent. Idempotent: concurrent calls are safe because a
409 Conflict response (network already exists) is treated as
success. Containers attached to this network can reach each other
by their container name, enabling resources.<name>.url hostnames
to resolve without extra configuration.Source§async fn teardown_project_network(
&self,
_project: &str,
) -> Result<(), RuntimeError>
async fn teardown_project_network( &self, _project: &str, ) -> Result<(), RuntimeError>
Remove the per-project bridge network. Idempotent: a
404 Not Found response is treated as success. Call after all containers
belonging to the project have been removed; Docker refuses to
delete a network that still has active endpoints.Auto Trait Implementations§
impl Freeze for MockRuntime
impl RefUnwindSafe for MockRuntime
impl Send for MockRuntime
impl Sync for MockRuntime
impl Unpin for MockRuntime
impl UnsafeUnpin for MockRuntime
impl UnwindSafe for MockRuntime
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request