Skip to content

Firebird

Not available until the next release main

Introduction

The Testcontainers module for Firebird, a relational database that runs on Linux, Windows, and Unix platforms. It exposes a firebird:// connection string on port 3050.

Adding this module to your project dependencies

Please run the following command to add the Firebird module to your Go dependencies:

go get github.com/testcontainers/testcontainers-go/modules/firebird

Usage example

ctx := context.Background()

firebirdContainer, err := firebird.Run(ctx,
    "jacobalberty/firebird:v3.0",
    firebird.WithDatabase("test.fdb"),
    firebird.WithUsername("test"),
    firebird.WithPassword("test"),
)
defer func() {
    if err := testcontainers.TerminateContainer(firebirdContainer); err != nil {
        log.Printf("failed to terminate container: %s", err)
    }
}()
if err != nil {
    log.Printf("failed to start container: %s", err)
    return
}

Module Reference

Run function

  • Not available until the next release main

The Firebird module exposes one entrypoint function to create the Firebird container, and this function receives three parameters:

func Run(ctx context.Context, img string, opts ...testcontainers.ContainerCustomizer) (*Container, error)
  • context.Context, the Go context.
  • string, the Docker image to use.
  • testcontainers.ContainerCustomizer, a variadic argument for passing options.

Image

Use the second argument in the Run function to set a valid Docker image. In example: Run(context.Background(), "ghcr.io/jacobalberty/firebird:v3.0").

Container Options

When starting the Firebird container, you can pass options in a variadic way to configure it.

Tip

You can find all the available configuration and environment variables for the Firebird Docker image on GitHub.

WithDatabase

  • Not available until the next release main

Sets the FIREBIRD_DATABASE environment variable. The default database name is test.fdb.

firebird.WithDatabase("mydb.fdb")

WithUsername

  • Not available until the next release main

Sets the FIREBIRD_USER environment variable. The default username is test.

firebird.WithUsername("myuser")

WithPassword

  • Not available until the next release main

Sets the FIREBIRD_PASSWORD environment variable. The default password is test.

firebird.WithPassword("mypassword")

WithSYSDBAPassword

  • Not available until the next release main

Sets the ISC_PASSWORD environment variable, which is the SYSDBA master password. The default is masterkey.

firebird.WithSYSDBAPassword("mysysdbapassword")

The following options are exposed by the testcontainers package.

Basic Options

Lifecycle Options

Files & Mounts Options

Build Options

Logging Options

Image Options

Networking Options

Advanced Options

Experimental Options

Container Methods

ConnectionString

  • Not available until the next release main

This method returns the connection string to connect to the Firebird container, using the firebird:// scheme on the default port 3050.

connStr, err := ctr.ConnectionString(ctx)