MariaDB
Install
| npm install @testcontainers/mariadb --save-dev
|
Examples
These examples use the following libraries:
Choose an image from the container registry and substitute IMAGE
.
Execute a query
1
2
3
4
5
6
7
8
9
10
11
12
13
14 | await using container = await new MariaDbContainer(IMAGE).start();
const client = await mariadb.createConnection({
host: container.getHost(),
port: container.getPort(),
database: container.getDatabase(),
user: container.getUsername(),
password: container.getUserPassword(),
});
const rows = await client.query("SELECT 1 as res");
expect(rows).toEqual([{ res: 1 }]);
await client.end();
|
Connect via URI
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 | const username = "testUser";
const password = "testPassword";
const database = "testDB";
// Test non-root user
await using container = await new MariaDbContainer(IMAGE)
.withUsername(username)
.withUserPassword(password)
.withDatabase(database)
.start();
expect(container.getConnectionUri()).toEqual(
`mariadb://${username}:${password}@${container.getHost()}:${container.getPort()}/${database}`
);
// Test root user
await using rootContainer = await new MariaDbContainer(IMAGE)
.withRootPassword(password)
.withDatabase(database)
.start();
expect(rootContainer.getConnectionUri(true)).toEqual(
`mariadb://root:${password}@${rootContainer.getHost()}:${rootContainer.getPort()}/${database}`
);
|
With user
1
2
3
4
5
6
7
8
9
10
11
12
13
14 | await using container = await new MariaDbContainer(IMAGE).withUsername("customUsername").start();
const client = await mariadb.createConnection({
host: container.getHost(),
port: container.getPort(),
database: container.getDatabase(),
user: container.getUsername(),
password: container.getUserPassword(),
});
const rows = await client.query("SELECT CURRENT_USER() as res");
expect(rows).toEqual([{ res: "customUsername@%" }]);
await client.end();
|
With database
1
2
3
4
5
6
7
8
9
10
11
12
13
14 | await using container = await new MariaDbContainer(IMAGE).withDatabase("customDatabase").start();
const client = await mariadb.createConnection({
host: container.getHost(),
port: container.getPort(),
database: container.getDatabase(),
user: container.getUsername(),
password: container.getUserPassword(),
});
const rows = await client.query("SELECT DATABASE() as res");
expect(rows).toEqual([{ res: "customDatabase" }]);
await client.end();
|