PostgresKontainer

class PostgresKontainer(kontainerSpec: KontainerSpec, delegate: PlatformKontainer) : GenericTcpKontainer, JdbcKontainer, R2dbcKontainer

Provides a Postgres Kontainer.

Author

Scott Rossillo

Samples

import io.microkt.kontainers.junit5.annotation.Kontainers
import org.junit.jupiter.api.Assertions
import org.junit.jupiter.api.Assertions.assertEquals
import org.junit.jupiter.api.Tag
import org.junit.jupiter.api.Tags
import org.junit.jupiter.api.Test
import java.sql.Statement
fun main() { 
   //sampleStart 
   @Kontainers
@Tags(
    Tag("docker"),
    Tag("kubernetes")
)
internal class PostgresKontainerTest(
    private val postgres: PostgresKontainer
) {
    private val dataSource = buildDataSource(postgres)

    @Test
    fun testQuery() {
        val statement: Statement = dataSource.connection.createStatement()
        statement.execute("SELECT 1")

        val resultSet = statement.resultSet
        resultSet.next()

        val resultInt = resultSet.getInt(1)
        assertEquals(1, resultInt, "SELECT 1; should return 1")
    }

    @Test
    fun testValidPort() {
        Assertions.assertNotNull(postgres.getPort(postgresKontainerSpec.ports.first().port))
    }
} 
   //sampleEnd
}

Constructors

Link copied to clipboard
fun PostgresKontainer(kontainerSpec: KontainerSpec, delegate: PlatformKontainer)

Types

Link copied to clipboard
object Env

Functions

Link copied to clipboard
open override fun createJdbcUrl(): String
Link copied to clipboard
open override fun createR2dbcUrl(): String
Link copied to clipboard
abstract fun getAddress(): String?
Link copied to clipboard
open override fun getDatabaseName(): String
Link copied to clipboard
abstract fun getDirectAddress(): String?
Link copied to clipboard
open override fun getPassword(): String
Link copied to clipboard
abstract fun getPort(): Int?
abstract fun getPort(containerPort: Int): Int?
Link copied to clipboard
open override fun getUsername(): String
Link copied to clipboard
abstract suspend fun remove()
Link copied to clipboard
open fun removeSync()
Link copied to clipboard
abstract suspend fun start(timeout: Long)
Link copied to clipboard
open fun startSync(timeout: Long)
Link copied to clipboard
open override fun waitForReady(timeout: Long)

Properties

Link copied to clipboard
open override val driverClassName: String

JDBC driver org.postgresql.Driver.

Link copied to clipboard
abstract val id: String
Link copied to clipboard
open override val kontainerSpec: KontainerSpec