chore: import upstream snapshot with attribution
This commit is contained in:
@@ -0,0 +1,153 @@
|
||||
import 'dotenv/config';
|
||||
import { drizzle } from 'drizzle-orm/mysql2';
|
||||
import { Connection, createConnection, createPool } from 'mysql2';
|
||||
import { describe, expect } from 'vitest';
|
||||
import { mysql as schema } from './schema.mjs';
|
||||
|
||||
if (!process.env['MYSQL_CONNECTION_STRING']) {
|
||||
throw new Error('MYSQL_CONNECTION_STRING is not defined');
|
||||
}
|
||||
|
||||
describe('mysql2', async (it) => {
|
||||
it('drizzle(string)', async () => {
|
||||
const db = drizzle(
|
||||
process.env['MYSQL_CONNECTION_STRING'],
|
||||
);
|
||||
|
||||
await db.$client.execute(`SELECT 1`);
|
||||
|
||||
expect(db.$client.getConnection).not.toStrictEqual(undefined);
|
||||
});
|
||||
|
||||
it('drizzle(string, config)', async () => {
|
||||
const db = drizzle(
|
||||
process.env['MYSQL_CONNECTION_STRING'],
|
||||
{
|
||||
schema,
|
||||
mode: 'default',
|
||||
},
|
||||
);
|
||||
await db.$client.execute('SELECT 1;');
|
||||
|
||||
expect(db.query.User).not.toStrictEqual(undefined);
|
||||
expect(db.$client.getConnection).not.toStrictEqual(undefined);
|
||||
});
|
||||
|
||||
it('drizzle({connection: string, ...config})', async () => {
|
||||
const db = drizzle({
|
||||
connection: process.env['MYSQL_CONNECTION_STRING'],
|
||||
schema,
|
||||
mode: 'default',
|
||||
});
|
||||
|
||||
await db.$client.execute('SELECT 1;');
|
||||
|
||||
expect(db.query.User).not.toStrictEqual(undefined);
|
||||
expect(db.$client.getConnection).not.toStrictEqual(undefined);
|
||||
});
|
||||
|
||||
it('drizzle({connection: params, ...config})', async () => {
|
||||
const db = drizzle({
|
||||
connection: {
|
||||
uri: process.env['MYSQL_CONNECTION_STRING'],
|
||||
},
|
||||
schema,
|
||||
mode: 'default',
|
||||
});
|
||||
|
||||
await db.$client.execute('SELECT 1;');
|
||||
|
||||
expect(db.query.User).not.toStrictEqual(undefined);
|
||||
expect(db.$client.getConnection).not.toStrictEqual(undefined);
|
||||
});
|
||||
|
||||
it('drizzle(client)', async () => {
|
||||
const client = createPool({
|
||||
uri: process.env['MYSQL_CONNECTION_STRING'],
|
||||
});
|
||||
|
||||
const db = drizzle(client);
|
||||
|
||||
await db.$client.execute('SELECT 1;');
|
||||
|
||||
expect(db.$client.getConnection).not.toStrictEqual(undefined);
|
||||
});
|
||||
|
||||
it('drizzle(client, config)', async () => {
|
||||
const client = createPool({
|
||||
uri: process.env['MYSQL_CONNECTION_STRING'],
|
||||
});
|
||||
const db = drizzle(client, {
|
||||
schema,
|
||||
mode: 'default',
|
||||
});
|
||||
|
||||
await db.$client.execute('SELECT 1;');
|
||||
|
||||
expect(db.query.User).not.toStrictEqual(undefined);
|
||||
expect(db.$client.getConnection).not.toStrictEqual(undefined);
|
||||
});
|
||||
|
||||
it('drizzle({client, ...config})', async () => {
|
||||
const client = createPool({
|
||||
uri: process.env['MYSQL_CONNECTION_STRING'],
|
||||
});
|
||||
|
||||
const db = drizzle({
|
||||
client,
|
||||
schema,
|
||||
mode: 'default',
|
||||
});
|
||||
|
||||
await db.$client.execute('SELECT 1;');
|
||||
|
||||
expect(db.query.User).not.toStrictEqual(undefined);
|
||||
expect(db.$client.getConnection).not.toStrictEqual(undefined);
|
||||
});
|
||||
});
|
||||
|
||||
describe('mysql2:connection', async (it) => {
|
||||
it('drizzle(client)', async () => {
|
||||
const client = createConnection({
|
||||
uri: process.env['MYSQL_CONNECTION_STRING'],
|
||||
});
|
||||
|
||||
const db = drizzle(client);
|
||||
|
||||
await db.$client.execute('SELECT 1;');
|
||||
|
||||
expect(db.$client.getConnection).toStrictEqual(undefined);
|
||||
});
|
||||
|
||||
it('drizzle(client, config)', async () => {
|
||||
const client = createConnection({
|
||||
uri: process.env['MYSQL_CONNECTION_STRING'],
|
||||
});
|
||||
const db = drizzle(client, {
|
||||
schema,
|
||||
mode: 'default',
|
||||
});
|
||||
|
||||
await db.$client.execute('SELECT 1;');
|
||||
|
||||
expect(db.query.User).not.toStrictEqual(undefined);
|
||||
expect(db.$client.getConnection).toStrictEqual(undefined);
|
||||
});
|
||||
|
||||
it('drizzle({client, ...config})', async () => {
|
||||
const client = createConnection({
|
||||
uri: process.env['MYSQL_CONNECTION_STRING'],
|
||||
});
|
||||
|
||||
const db = drizzle({
|
||||
client,
|
||||
schema,
|
||||
mode: 'default',
|
||||
});
|
||||
|
||||
await db.$client.execute('SELECT 1;');
|
||||
|
||||
expect(db.query.User).not.toStrictEqual(undefined);
|
||||
expect(db.$client.getConnection).toStrictEqual(undefined);
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user