Home / File/ gel.test.ts — drizzle-orm Source File

gel.test.ts — drizzle-orm Source File

Architecture documentation for gel.test.ts, a typescript file in the drizzle-orm codebase. 9 imports, 0 dependents.

File typescript DrizzleORM RelationalQuery 9 imports 2 functions

Entity Profile

Dependency Diagram

graph LR
  55213ea5_1e0e_a331_8b1e_52a00bcae222["gel.test.ts"]
  e9c5db23_dc8f_4a33_356a_8f8fbacc4a0e["dockerode"]
  55213ea5_1e0e_a331_8b1e_52a00bcae222 --> e9c5db23_dc8f_4a33_356a_8f8fbacc4a0e
  b606db35_e26f_50ff_fb34_bd0a1e80bd47["gel"]
  55213ea5_1e0e_a331_8b1e_52a00bcae222 --> b606db35_e26f_50ff_fb34_bd0a1e80bd47
  9a46d98d_eb2d_c1e4_a37b_506dd514a6a7["fs"]
  55213ea5_1e0e_a331_8b1e_52a00bcae222 --> 9a46d98d_eb2d_c1e4_a37b_506dd514a6a7
  90067f6e_33cd_67c4_3575_3758cdacb6e2["gel"]
  55213ea5_1e0e_a331_8b1e_52a00bcae222 --> 90067f6e_33cd_67c4_3575_3758cdacb6e2
  249e672a_a0ca_539d_aeb8_1505bb753d14["get-port"]
  55213ea5_1e0e_a331_8b1e_52a00bcae222 --> 249e672a_a0ca_539d_aeb8_1505bb753d14
  2080849e_169d_739e_1ba9_1396fc229951["schemaDiffer"]
  55213ea5_1e0e_a331_8b1e_52a00bcae222 --> 2080849e_169d_739e_1ba9_1396fc229951
  de47b2dd_7ed5_08f6_5b8a_f44c9896ce49["uuid"]
  55213ea5_1e0e_a331_8b1e_52a00bcae222 --> de47b2dd_7ed5_08f6_5b8a_f44c9896ce49
  8d35eaf2_a542_cfd4_fa1a_fafca0f02686["vitest"]
  55213ea5_1e0e_a331_8b1e_52a00bcae222 --> 8d35eaf2_a542_cfd4_fa1a_fafca0f02686
  c10a8be4_82f5_0980_d482_1683db51662a["globals"]
  55213ea5_1e0e_a331_8b1e_52a00bcae222 --> c10a8be4_82f5_0980_d482_1683db51662a
  style 55213ea5_1e0e_a331_8b1e_52a00bcae222 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import Docker from 'dockerode';
import { drizzle, GelJsDatabase } from 'drizzle-orm/gel';
import fs from 'fs';
import createClient, { type Client } from 'gel';
import getPort from 'get-port';
import { introspectGelToFile } from 'tests/schemaDiffer';
import { v4 as uuidV4 } from 'uuid';
import { afterAll, beforeAll, expect, test } from 'vitest';
import 'zx/globals';

if (!fs.existsSync('tests/introspect/gel')) {
	fs.mkdirSync('tests/introspect/gel');
}

$.quiet = true;

const ENABLE_LOGGING = false;

let client: Client;
let db: GelJsDatabase;
const tlsSecurity: string = 'insecure';
let dsn: string;
let container: Docker.Container | undefined;

async function createDockerDB(): Promise<{ connectionString: string; container: Docker.Container }> {
	const docker = new Docker();
	const port = await getPort({ port: 5656 });
	const image = 'geldata/gel:6.0';

	const pullStream = await docker.pull(image);
	await new Promise((resolve, reject) =>
		docker.modem.followProgress(pullStream, (err) => (err ? reject(err) : resolve(err)))
	);

	const gelContainer = await docker.createContainer({
		Image: image,
		Env: [
			'GEL_CLIENT_SECURITY=insecure_dev_mode',
			'GEL_SERVER_SECURITY=insecure_dev_mode',
			'GEL_CLIENT_TLS_SECURITY=no_host_verification',
			'GEL_SERVER_PASSWORD=password',
		],
		name: `drizzle-integration-tests-${uuidV4()}`,
		HostConfig: {
			AutoRemove: true,
			PortBindings: {
				'5656/tcp': [{ HostPort: `${port}` }],
			},
		},
	});

	await gelContainer.start();

	return { connectionString: `gel://admin:password@localhost:${port}/main`, container: gelContainer };
}

function sleep(ms: number) {
	return new Promise((resolve) => setTimeout(resolve, ms));
}

// ... (170 more lines)

Domain

Subdomains

Dependencies

  • dockerode
  • fs
  • gel
  • gel
  • get-port
  • globals
  • schemaDiffer
  • uuid
  • vitest

Frequently Asked Questions

What does gel.test.ts do?
gel.test.ts is a source file in the drizzle-orm codebase, written in typescript. It belongs to the DrizzleORM domain, RelationalQuery subdomain.
What functions are defined in gel.test.ts?
gel.test.ts defines 2 function(s): createDockerDB, sleep.
What does gel.test.ts depend on?
gel.test.ts imports 9 module(s): dockerode, fs, gel, gel, get-port, globals, schemaDiffer, uuid, and 1 more.
Where is gel.test.ts in the architecture?
gel.test.ts is located at drizzle-kit/tests/introspect/gel.test.ts (domain: DrizzleORM, subdomain: RelationalQuery, directory: drizzle-kit/tests/introspect).

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free