Skip to content

Commit

Permalink
ci: prepare tests for Deno (#2711)
Browse files Browse the repository at this point in the history
* ci: prepare tests for Deno

* chore: lint
  • Loading branch information
wellwelwel committed May 28, 2024
1 parent 8f0320d commit acc7993
Show file tree
Hide file tree
Showing 134 changed files with 485 additions and 201 deletions.
32 changes: 2 additions & 30 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@
"eslint-plugin-markdown": "^5.0.0",
"husky": "^9.0.2",
"lint-staged": "^15.0.1",
"poku": "^1.8.1",
"poku": "^1.13.0",
"portfinder": "^1.0.28",
"prettier": "^3.0.0",
"progress": "^2.0.3",
Expand Down
3 changes: 2 additions & 1 deletion test/common.test.cjs
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

const fs = require('node:fs');
const path = require('node:path');
const process = require('node:process');

const config = {
host: process.env.MYSQL_HOST || 'localhost',
Expand Down Expand Up @@ -179,7 +180,7 @@ exports.createConnectionWithURI = function () {

exports.createTemplate = function () {
const jade = require('jade');
const template = require('fs').readFileSync(
const template = require('node:fs').readFileSync(
`${__dirname}/template.jade`,
'ascii',
);
Expand Down
5 changes: 4 additions & 1 deletion test/esm/integration/connection/test-column-inspect.test.mjs
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
import { test, assert, describe, beforeEach } from 'poku';
import util from 'node:util';
import common from '../../../common.test.cjs';
import { createRequire } from 'node:module';

const require = createRequire(import.meta.url);
const common = require('../../../common.test.cjs');

(async () => {
const connection = common.createConnection().promise();
Expand Down
5 changes: 4 additions & 1 deletion test/esm/integration/connection/test-execute-1.test.mjs
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
import { test, assert, describe } from 'poku';
import common from '../../../common.test.cjs';
import { createRequire } from 'node:module';

const require = createRequire(import.meta.url);
const common = require('../../../common.test.cjs');

(async () => {
const connection = common.createConnection().promise();
Expand Down
7 changes: 5 additions & 2 deletions test/esm/integration/named-placeholders.test.mjs
Original file line number Diff line number Diff line change
@@ -1,10 +1,13 @@
// TODO: `namedPlaceholders` can't be disabled at query level
import { assert, test, describe } from 'poku';
import {
import { createRequire } from 'node:module';

const require = createRequire(import.meta.url);
const {
createConnection,
describeOptions,
createPool,
} from '../../common.test.cjs';
} = require('../../common.test.cjs');

const query =
'SELECT result FROM (SELECT 1 as result) temp WHERE temp.result=:named';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
import { test, describe, assert } from 'poku';
import { createConnection, describeOptions } from '../../../common.test.cjs';
import { createRequire } from 'node:module';

const require = createRequire(import.meta.url);
const {
createConnection,
describeOptions,
} = require('../../../common.test.cjs');

const connection = createConnection().promise();

Expand Down
8 changes: 7 additions & 1 deletion test/esm/integration/parsers/query-results-creation.test.mjs
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
import { test, describe, assert } from 'poku';
import { createConnection, describeOptions } from '../../../common.test.cjs';
import { createRequire } from 'node:module';

const require = createRequire(import.meta.url);
const {
createConnection,
describeOptions,
} = require('../../../common.test.cjs');

const connection = createConnection().promise();

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
import { test, assert, describe } from 'poku';
import { createPoolCluster } from '../../../../promise.js';
import common from '../../../common.test.cjs';
import { createRequire } from 'node:module';

const require = createRequire(import.meta.url);
const common = require('../../../common.test.cjs');
const { createPoolCluster } = require('../../../../promise.js');

(async () => {
describe('Test pool cluster', common.describeOptions);
Expand Down
7 changes: 5 additions & 2 deletions test/esm/integration/test-pool.test.mjs
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
import { assert, test, describe } from 'poku';
import mysql from '../../../index.js';
import { describeOptions } from '../../common.test.cjs';
import { createRequire } from 'node:module';

const require = createRequire(import.meta.url);
const { describeOptions } = require('../../common.test.cjs');
const mysql = require('../../../index.js');

const poolConfig = {}; // config: { connectionConfig: {} };

Expand Down
10 changes: 7 additions & 3 deletions test/esm/regressions/2052.test.mjs
Original file line number Diff line number Diff line change
@@ -1,7 +1,11 @@
import { assert, describe, test } from 'poku';
import common from '../../common.test.cjs';
import PrepareCommand from '../../../lib/commands/prepare.js';
import packets from '../../../lib/packets/index.js';
import { createRequire } from 'node:module';
import { Buffer } from 'node:buffer';

const require = createRequire(import.meta.url);
const common = require('../../common.test.cjs');
const packets = require('../../../lib/packets/index.js');
const PrepareCommand = require('../../../lib/commands/prepare.js');

(async () => {
await test(async () => {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
import { describe, test, assert } from 'poku';
import { createConnection, describeOptions } from '../../../common.test.cjs';
import { createRequire } from 'node:module';

const require = createRequire(import.meta.url);
const {
createConnection,
describeOptions,
} = require('../../../common.test.cjs');

const connection = createConnection().promise();

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
import { describe, test, assert } from 'poku';
import { createConnection, describeOptions } from '../../../common.test.cjs';
import { createRequire } from 'node:module';

const require = createRequire(import.meta.url);
const {
createConnection,
describeOptions,
} = require('../../../common.test.cjs');

const connection = createConnection().promise();

Expand Down
6 changes: 5 additions & 1 deletion test/esm/unit/parsers/cache-key-serialization.test.mjs
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
import { assert } from 'poku';
import { _keyFromFields } from '../../../../lib/parsers/parser_cache.js';
import { createRequire } from 'node:module';

const require = createRequire(import.meta.url);

const { _keyFromFields } = require('../../../../lib/parsers/parser_cache.js');

// Invalid
const test1 = {
Expand Down
9 changes: 6 additions & 3 deletions test/esm/unit/parsers/ensure-safe-binary-fields.test.mjs
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
import { describe, assert } from 'poku';
import { describeOptions } from '../../../common.test.cjs';
import getBinaryParser from '../../../../lib/parsers/binary_parser.js';
import { privateObjectProps } from '../../../../lib/helpers.js';
import { createRequire } from 'node:module';

const require = createRequire(import.meta.url);
const { describeOptions } = require('../../../common.test.cjs');
const getBinaryParser = require('../../../../lib/parsers/binary_parser.js');
const { privateObjectProps } = require('../../../../lib/helpers.js');

describe('Binary Parser: Block Native Object Props', describeOptions);

Expand Down
9 changes: 6 additions & 3 deletions test/esm/unit/parsers/ensure-safe-text-fields.test.mjs
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
import { describe, assert } from 'poku';
import { describeOptions } from '../../../common.test.cjs';
import TextRowParser from '../../../../lib/parsers/text_parser.js';
import { privateObjectProps } from '../../../../lib/helpers.js';
import { createRequire } from 'node:module';

const require = createRequire(import.meta.url);
const { describeOptions } = require('../../../common.test.cjs');
const TextRowParser = require('../../../../lib/parsers/text_parser.js');
const { privateObjectProps } = require('../../../../lib/helpers.js');

describe('Text Parser: Block Native Object Props', describeOptions);

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
import { describe, test, assert } from 'poku';
import { createConnection, describeOptions } from '../../../common.test.cjs';
import { createRequire } from 'node:module';

const require = createRequire(import.meta.url);
const {
createConnection,
describeOptions,
} = require('../../../common.test.cjs');

const connection = createConnection().promise();

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
import { describe, test, assert } from 'poku';
import { createConnection, describeOptions } from '../../../common.test.cjs';
import { createRequire } from 'node:module';

const require = createRequire(import.meta.url);
const {
createConnection,
describeOptions,
} = require('../../../common.test.cjs');

const connection = createConnection().promise();

Expand Down
9 changes: 8 additions & 1 deletion test/esm/unit/parsers/timezone-binary-sanitization.test.mjs
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
import process from 'node:process';
import { describe, test, assert } from 'poku';
import { createConnection, describeOptions } from '../../../common.test.cjs';
import { createRequire } from 'node:module';

const require = createRequire(import.meta.url);
const {
createConnection,
describeOptions,
} = require('../../../common.test.cjs');

const connection = createConnection().promise();

Expand Down
9 changes: 8 additions & 1 deletion test/esm/unit/parsers/timezone-text-sanitization.test.mjs
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
import process from 'node:process';
import { describe, test, assert } from 'poku';
import { createConnection, describeOptions } from '../../../common.test.cjs';
import { createRequire } from 'node:module';

const require = createRequire(import.meta.url);
const {
createConnection,
describeOptions,
} = require('../../../common.test.cjs');

const connection = createConnection().promise();

Expand Down
6 changes: 5 additions & 1 deletion test/esm/unit/protocol/SqlString.test.mjs
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
import { assert, test, describe } from 'poku';
import { describeOptions, SqlString } from '../../../common.test.cjs';
import { createRequire } from 'node:module';
import { Buffer } from 'node:buffer';

const require = createRequire(import.meta.url);
const { SqlString, describeOptions } = require('../../../common.test.cjs');

describe('SqlString.escapeId tests', describeOptions);

Expand Down
6 changes: 4 additions & 2 deletions test/integration/config/test-connect-timeout.test.cjs
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
'use strict';
const portfinder = require('portfinder');
const mysql = require('../../../index.js');
const assert = require('node:assert');
const process = require('node:process');

// Poku intentionally doesn't allow "rewriting" after uncaughtException
const assert = require('assert');
// The process is not terminated in Deno
if (typeof Deno !== 'undefined') process.exit(0);

console.log('test connect timeout');

Expand Down
6 changes: 3 additions & 3 deletions test/integration/config/test-typecast-global-option.test.cjs
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
'use strict';

const common = require('../../common.test.cjs');
const { assert } = require('poku');

const typeCastWrapper = function (stringMethod) {
return function (field, next) {
if (field.type === 'VAR_STRING') {
Expand All @@ -9,13 +12,10 @@ const typeCastWrapper = function (stringMethod) {
};
};

const common = require('../../common.test.cjs');
const connection = common.createConnection({
typeCast: typeCastWrapper('toUpperCase'),
});

const { assert } = require('poku');

// query option override global typeCast
connection.query(
{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,16 @@
'use strict';

const mysql = require('../../../../index.js');
const common = require('../../../common.test.cjs');
const { assert } = require('poku');
const process = require('node:process');

if (`${process.env.MYSQL_CONNECTION_URL}`.includes('pscale_pw_')) {
console.log('skipping test for planetscale (unsupported non utf8 charsets)');
process.exit(0);
}

const mysql = require('../../../../index.js');
const common = require('../../../common.test.cjs');
const connection = common.createConnection();
const { assert } = require('poku');

const payload = 'привет, мир';

Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
'use strict';

const common = require('../../../common.test.cjs');
const { assert } = require('poku');
const process = require('node:process');

if (`${process.env.MYSQL_CONNECTION_URL}`.includes('pscale_pw_')) {
console.log('skipping test for planetscale (unsupported non utf8 charsets)');
process.exit(0);
}

const common = require('../../../common.test.cjs');
const { assert } = require('poku');

const connection = common.createConnection({ charset: 'UTF8MB4_GENERAL_CI' });
connection.query('drop table if exists __test_client_encodings');
connection.query(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

const common = require('../../../common.test.cjs');
const { assert } = require('poku');
const process = require('node:process');

if (`${process.env.MYSQL_CONNECTION_URL}`.includes('pscale_pw_')) {
console.log('skipping test for planetscale');
Expand Down
Loading

0 comments on commit acc7993

Please sign in to comment.