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

Function createDockerDB

integration-tests/tests/relational/mysql.test.ts:34–59  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

32let client: mysql.Connection;
33
34async function createDockerDB(): Promise<string> {
35 const docker = (globalDocker = new Docker());
36 const port = await getPort({ port: 3306 });
37 const image = 'mysql:8';
38
39 const pullStream = await docker.pull(image);
40 await new Promise((resolve, reject) =>
41 docker.modem.followProgress(pullStream, (err) => (err ? reject(err) : resolve(err)))
42 );
43
44 mysqlContainer = await docker.createContainer({
45 Image: image,
46 Env: ['MYSQL_ROOT_PASSWORD=mysql', 'MYSQL_DATABASE=drizzle'],
47 name: `drizzle-integration-tests-${uuid()}`,
48 HostConfig: {
49 AutoRemove: true,
50 PortBindings: {
51 '3306/tcp': [{ HostPort: `${port}` }],
52 },
53 },
54 });
55
56 await mysqlContainer.start();
57
58 return `mysql://root:mysql@127.0.0.1:${port}/drizzle`;
59}
60
61beforeAll(async () => {
62 const connectionString = process.env['MYSQL_CONNECTION_STRING'] ?? await createDockerDB();

Callers 1

mysql.test.tsFile · 0.70

Calls 2

resolveFunction · 0.85
uuidFunction · 0.50

Tested by

no test coverage detected