ArangoDB¶
dev.rightsize.modules.ArangoContainer — a single-node ArangoDB container. Auth is
disabled by default.
Defaults¶
| Default image | arangodb:3.11 |
| Exposed port | 8529 |
| Env | ARANGO_NO_AUTH=1 |
| Wait strategy | Wait.forHttp("/_api/version").forPort(8529).forStatusCode(200) |
Helpers¶
| Member | Returns |
|---|---|
endpoint: String |
The HTTP API base URI (http://host:port) for the running container |
withRootPassword(pw: String): ArangoContainer |
Enables auth with the given root password instead of the default no-auth setup — clears ARANGO_NO_AUTH and sets ARANGO_ROOT_PASSWORD |
Example¶
package dev.rightsize.modules
import com.arangodb.ArangoDB
import dev.rightsize.modules.ArangoContainer
import org.junit.jupiter.api.Assertions.assertNotNull
import org.junit.jupiter.api.Test
class ArangoContainerTest {
@Test
fun `queries the version endpoint`() {
val arango = ArangoContainer()
arango.start()
try {
val db = ArangoDB.Builder().host("127.0.0.1", arango.getMappedPort(8529)).build()
assertNotNull(db.version.version)
db.shutdown()
} finally {
arango.stop()
}
}
}
Backend notes¶
None specific — ArangoDB's entrypoint boots cleanly under attached-mode supervision on the microsandbox backend (see How It Works). Note that microsandbox pulls single-arch image layers (arm64 on Apple Silicon), which made the observed pull noticeably smaller than a typical multi-arch pull of the same image (roughly 203 MB vs. an estimated ~600 MB multi-arch equivalent) — see the platform comparison on the Home page.