MCPcopy
hub / github.com/drizzle-team/drizzle-orm / createDockerDB

Function createDockerDB

drizzle-seed/tests/mysql/mysql.test.ts:17–43  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

15let db: MySql2Database;
16
17async function createDockerDB(): Promise<string> {
18 const docker = new Docker();
19 const port = await getPort({ port: 3306 });
20 const image = 'mysql:8';
21
22 const pullStream = await docker.pull(image);
23 await new Promise((resolve, reject) =>
24 // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
25 docker.modem.followProgress(pullStream, (err) => err ? reject(err) : resolve(err))
26 );
27
28 mysqlContainer = await docker.createContainer({
29 Image: image,
30 Env: ['MYSQL_ROOT_PASSWORD=mysql', 'MYSQL_DATABASE=drizzle'],
31 name: `drizzle-integration-tests-${uuid()}`,
32 HostConfig: {
33 AutoRemove: true,
34 PortBindings: {
35 '3306/tcp': [{ HostPort: `${port}` }],
36 },
37 },
38 });
39
40 await mysqlContainer.start();
41
42 return `mysql://root:mysql@127.0.0.1:${port}/drizzle`;
43}
44
45beforeAll(async () => {
46 const connectionString = await createDockerDB();

Callers 1

mysql.test.tsFile · 0.70

Calls 2

resolveFunction · 0.85
uuidFunction · 0.50

Tested by

no test coverage detected