Struct testcontainers_modules::redis::RedisStack
source · pub struct RedisStack;Available on crate feature
redis only.Expand description
Module to work with Redis Stack inside of tests.
Starts an instance of Redis Stack based on the official Redis Stack docker image.
By default Redis is exposed on Port 6379 (REDIS_PORT) and has no access control. Please refer to the Redis reference guide for more informations on how to interact with the API.
§Example
use redis::JsonCommands;
use serde_json::json;
use testcontainers_modules::{testcontainers::runners::SyncRunner, redis::{RedisStack, REDIS_PORT}};
let redis_instance = RedisStack.start().unwrap();
let host_ip = redis_instance.get_host().unwrap();
let host_port = redis_instance.get_host_port_ipv4(REDIS_PORT).unwrap();
let url = format!("redis://{host_ip}:{host_port}");
let client = redis::Client::open(url.as_ref()).unwrap();
let mut con = client.get_connection().unwrap();
con.json_set::<_,_,_,()>("my_key", "$", &json!({ "number": 42 })).unwrap();
let result: String = con.json_get("my_key", "$..number").unwrap();Trait Implementations§
source§impl Debug for RedisStack
impl Debug for RedisStack
source§impl Default for RedisStack
impl Default for RedisStack
source§fn default() -> RedisStack
fn default() -> RedisStack
Returns the “default value” for a type. Read more
source§impl Image for RedisStack
impl Image for RedisStack
source§fn tag(&self) -> String
fn tag(&self) -> String
Implementations are encouraged to include a tag that will not change (i.e. NOT latest)
in order to prevent test code from randomly breaking because the underlying docker
suddenly changed.
source§fn ready_conditions(&self) -> Vec<WaitFor>
fn ready_conditions(&self) -> Vec<WaitFor>
Returns a list of conditions that need to be met before a started container is considered ready. Read more
source§fn env_vars(&self) -> Box<dyn Iterator<Item = (&String, &String)> + '_>
fn env_vars(&self) -> Box<dyn Iterator<Item = (&String, &String)> + '_>
There are a couple of things regarding the environment variables of images: Read more
source§fn mounts(&self) -> Box<dyn Iterator<Item = &Mount> + '_>
fn mounts(&self) -> Box<dyn Iterator<Item = &Mount> + '_>
There are a couple of things regarding the mounts of images: Read more
source§fn entrypoint(&self) -> Option<String>
fn entrypoint(&self) -> Option<String>
Returns the entrypoint this instance was created with.
source§fn expose_ports(&self) -> Vec<u16>
fn expose_ports(&self) -> Vec<u16>
Returns the ports that needs to be exposed when a container is created. Read more
source§fn exec_after_start(
&self,
cs: ContainerState
) -> Result<Vec<ExecCommand>, TestcontainersError>
fn exec_after_start( &self, cs: ContainerState ) -> Result<Vec<ExecCommand>, TestcontainersError>
Returns the commands that needs to be executed after a container is started i.e. commands
to be run in a running container. Read more
Auto Trait Implementations§
impl Freeze for RedisStack
impl RefUnwindSafe for RedisStack
impl Send for RedisStack
impl Sync for RedisStack
impl Unpin for RedisStack
impl UnwindSafe for RedisStack
Blanket Implementations§
source§impl<T, I> AsyncRunner<I> for T
impl<T, I> AsyncRunner<I> for T
source§fn start<'async_trait>(
self
) -> Pin<Box<dyn Future<Output = Result<ContainerAsync<I>, TestcontainersError>> + Send + 'async_trait>>where
T: 'async_trait,
fn start<'async_trait>(
self
) -> Pin<Box<dyn Future<Output = Result<ContainerAsync<I>, TestcontainersError>> + Send + 'async_trait>>where
T: 'async_trait,
Starts the container and returns an instance of
ContainerAsync.source§fn pull_image<'async_trait>(
self
) -> Pin<Box<dyn Future<Output = Result<RunnableImage<I>, TestcontainersError>> + Send + 'async_trait>>where
T: 'async_trait,
fn pull_image<'async_trait>(
self
) -> Pin<Box<dyn Future<Output = Result<RunnableImage<I>, TestcontainersError>> + Send + 'async_trait>>where
T: 'async_trait,
Pulls the image from the registry.
Useful if you want to pull the image before starting the container.
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> 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> IntoResult<T> for T
impl<T> IntoResult<T> for T
type Err = Infallible
fn into_result(self) -> Result<T, <T as IntoResult<T>>::Err>
source§impl<T, I> SyncRunner<I> for T
impl<T, I> SyncRunner<I> for T
source§fn start(self) -> Result<Container<I>, TestcontainersError>
fn start(self) -> Result<Container<I>, TestcontainersError>
Starts the container and returns an instance of
Container.source§fn pull_image(self) -> Result<RunnableImage<I>, TestcontainersError>
fn pull_image(self) -> Result<RunnableImage<I>, TestcontainersError>
Pulls the image from the registry.
Useful if you want to pull the image before starting the container.