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

source

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

source

pub fn with_db_name(self, db_name: &str) -> Self

Sets the db name for the Postgres instance.

source

pub fn with_user(self, user: &str) -> Self

Sets the user for the Postgres instance.

source

pub fn with_password(self, password: &str) -> Self

Sets the password for the Postgres instance.

Trait Implementations§

source§

impl Debug for Postgres

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for Postgres

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl Image for Postgres

§

type Args = ()

A type representing the arguments for an Image. Read more
source§

fn name(&self) -> String

The name of the docker image to pull from the Docker Hub registry.
source§

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>

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)> + '_>

There are a couple of things regarding the environment variables of images: Read more
source§

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>

Returns the entrypoint this instance was created with.
source§

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>

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§

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, I> AsyncRunner<I> for T
where T: Into<RunnableImage<I>> + Send, I: Image,

source§

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,

Pulls the image from the registry. Useful if you want to pull the image before starting the container.
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<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> IntoResult<T> for T

§

type Err = Infallible

source§

fn into_result(self) -> Result<T, <T as IntoResult<T>>::Err>

source§

impl<T, I> SyncRunner<I> for T
where T: Into<RunnableImage<I>> + Send, I: Image,

source§

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>

Pulls the image from the registry. Useful if you want to pull the image before starting the container.
source§

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

§

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>,

§

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.
source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more