Skip to content

OrientDB

Not available until the next release main

Introduction

The Testcontainers module for OrientDB, an open-source multi-model NoSQL database that combines graph, document, key/value, and object models in a single engine.

Adding this module to your project dependencies

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

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

Usage example

// runOrientDB {
ctx := context.Background()

orientdbContainer, err := orientdb.Run(ctx, "orientdb:3.2",
    orientdb.WithRootPassword("rootpwd"),
)
defer func() {
    if err := testcontainers.TerminateContainer(orientdbContainer); err != nil {
        log.Printf("failed to terminate container: %s", err)
    }
}()
if err != nil {
    log.Printf("failed to start container: %s", err)
    return
}
// }

state, err := orientdbContainer.State(ctx)
if err != nil {
    log.Printf("failed to get container state: %s", err)
    return
}

fmt.Println(state.Running)

// Output:
// true

Module Reference

Run function

  • Not available until the next release main

The OrientDB module exposes one entrypoint function to create the OrientDB 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(), "orientdb:3.2").

Container Options

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

WithRootPassword

  • Not available until the next release main

Sets the root password for the OrientDB instance by setting the ORIENTDB_ROOT_PASSWORD environment variable. The default password is rootpwd.

orientdb.WithRootPassword("mysecret")

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

The OrientDB container exposes the following methods:

ServerURL

  • Not available until the next release main

The ServerURL method returns the connection string for Java/JDBC clients using the OrientDB binary remote protocol, in the format remote:<host>:<port>.

serverURL, err := orientdbContainer.ServerURL(ctx)
// serverURL = "remote:localhost:2424"

StudioURL

  • Not available until the next release main

The StudioURL method returns the URL for the OrientDB Studio web UI, in the format http://<host>:<port>.

studioURL, err := orientdbContainer.StudioURL(ctx)
// studioURL = "http://localhost:2480"