Struct testcontainers_modules::postgres::Postgres
source · pub struct Postgres { /* private fields */ }Available on crate feature
postgres only.Expand description
Module to work with Postgres inside of tests.
Starts an instance of Postgres.
This module is based on the official Postgres docker image.
Default db name, user and password is postgres.
§Example
use testcontainers_modules::{postgres, testcontainers::runners::SyncRunner};
let postgres_instance = postgres::Postgres::default().start().unwrap();
let connection_string = format!(
"postgres://postgres:postgres@{}:{}/postgres",
postgres_instance.get_host().unwrap(),
postgres_instance.get_host_port_ipv4(5432).unwrap()
);Implementations§
source§impl Postgres
impl Postgres
sourcepub fn with_host_auth(self) -> Self
pub fn with_host_auth(self) -> Self
Enables the Postgres instance to be used without authentication on host.
For more information see the description of POSTGRES_HOST_AUTH_METHOD in official docker image
sourcepub fn with_db_name(self, db_name: &str) -> Self
pub fn with_db_name(self, db_name: &str) -> Self
Sets the db name for the Postgres instance.
sourcepub fn with_password(self, password: &str) -> Self
pub fn with_password(self, password: &str) -> Self
Sets the password for the Postgres instance.
Trait Implementations§
source§impl Image for Postgres
impl Image for Postgres
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 Postgres
impl RefUnwindSafe for Postgres
impl Send for Postgres
impl Sync for Postgres
impl Unpin for Postgres
impl UnwindSafe for Postgres
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.