mirror of
https://github.com/Noratrieb/haesli.git
synced 2026-01-14 19:55:03 +01:00
more tests things
This commit is contained in:
parent
a7dba08990
commit
1cb4e21691
14 changed files with 98 additions and 40 deletions
1
test-js/.gitignore
vendored
Normal file
1
test-js/.gitignore
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
node_modules
|
||||
3
test-js/.prettierrc.json
Normal file
3
test-js/.prettierrc.json
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
{
|
||||
"singleQuote": true
|
||||
}
|
||||
18
test-js/package.json
Normal file
18
test-js/package.json
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
{
|
||||
"name": "tests-js",
|
||||
"version": "0.0.0",
|
||||
"main": "index.ts",
|
||||
"type": "module",
|
||||
"license": "MIT",
|
||||
"scripts": {
|
||||
"fmt": "prettier -w .",
|
||||
"test": "node test-all.js"
|
||||
},
|
||||
"dependencies": {
|
||||
"@types/amqplib": "^0.8.2",
|
||||
"amqplib": "^0.8.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"prettier": "^2.5.1"
|
||||
}
|
||||
}
|
||||
1
test-js/src/dummy-test.js
Normal file
1
test-js/src/dummy-test.js
Normal file
|
|
@ -0,0 +1 @@
|
|||
console.log('Passed :)');
|
||||
15
test-js/src/open-channel.js
Normal file
15
test-js/src/open-channel.js
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
import { connect } from 'amqplib';
|
||||
import { sleep } from './utils/utils.js';
|
||||
|
||||
const connection = await connect('amqp://localhost');
|
||||
|
||||
const channel = await connection.createChannel();
|
||||
|
||||
console.log('Successfully opened channel');
|
||||
|
||||
await sleep(100_000);
|
||||
|
||||
await channel.close();
|
||||
await connection.close();
|
||||
|
||||
console.log('Successfully shut down connection');
|
||||
14
test-js/src/send-single-message.js
Normal file
14
test-js/src/send-single-message.js
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
import { connect } from 'amqplib';
|
||||
|
||||
const connection = await connect('amqp://localhost');
|
||||
|
||||
const channel = await connection.createChannel();
|
||||
|
||||
channel.publish('exchange-1', 'queue-1', Buffer.from('hello'));
|
||||
|
||||
console.log('Published message');
|
||||
|
||||
await channel.close();
|
||||
await connection.close();
|
||||
|
||||
console.log('Successfully shut down connection');
|
||||
1
test-js/src/utils/utils.js
Normal file
1
test-js/src/utils/utils.js
Normal file
|
|
@ -0,0 +1 @@
|
|||
export const sleep = (ms) => new Promise((res) => setTimeout(res, ms));
|
||||
58
test-js/test-all.js
Normal file
58
test-js/test-all.js
Normal file
|
|
@ -0,0 +1,58 @@
|
|||
import * as childProcess from 'child_process';
|
||||
import * as fsSync from 'fs';
|
||||
import * as fs from 'fs/promises';
|
||||
import * as path from 'path';
|
||||
import * as url from 'url';
|
||||
|
||||
const __dirname = path.dirname(url.fileURLToPath(import.meta.url));
|
||||
|
||||
const srcDir = path.join(__dirname, 'src');
|
||||
|
||||
const src = await fs.readdir(srcDir);
|
||||
|
||||
const tests = src
|
||||
.map((test) => [path.join(srcDir, test), test])
|
||||
.filter(([testPath]) => {
|
||||
const stats = fsSync.statSync(testPath);
|
||||
return !stats.isDirectory();
|
||||
});
|
||||
|
||||
let done = 0;
|
||||
const successes = [];
|
||||
const failures = [];
|
||||
|
||||
function maybeDone() {
|
||||
if (done === tests.length) {
|
||||
for (const success of successes) {
|
||||
console.log(`✔️ Test ${success} successful`);
|
||||
}
|
||||
for (const { name, stderr } of failures) {
|
||||
console.log(
|
||||
`------------------- stderr test ${name} -------------------`
|
||||
);
|
||||
console.log(stderr);
|
||||
console.log(`------------------- stderr test ${name} -------------------
|
||||
❌ Test ${name} failed`);
|
||||
}
|
||||
|
||||
if (failures.length > 0) {
|
||||
process.exit(1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function runTest(path, name) {
|
||||
childProcess.exec(`node ${path}`, {}, (error, _, stderr) => {
|
||||
if (!error) {
|
||||
successes.push(name);
|
||||
} else {
|
||||
failures.push({ name, stderr });
|
||||
}
|
||||
done += 1;
|
||||
maybeDone();
|
||||
});
|
||||
}
|
||||
|
||||
for (const [test, name] of tests) {
|
||||
runTest(test, name);
|
||||
}
|
||||
127
test-js/yarn.lock
Normal file
127
test-js/yarn.lock
Normal file
|
|
@ -0,0 +1,127 @@
|
|||
# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
|
||||
# yarn lockfile v1
|
||||
|
||||
|
||||
"@types/amqplib@^0.8.2":
|
||||
version "0.8.2"
|
||||
resolved "https://registry.yarnpkg.com/@types/amqplib/-/amqplib-0.8.2.tgz#9c46f2c7fac381e4f81bcb612c00d54549697d22"
|
||||
integrity sha512-p+TFLzo52f8UanB+Nq6gyUi65yecAcRY3nYowU6MPGFtaJvEDxcnFWrxssSTkF+ts1W3zyQDvgVICLQem5WxRA==
|
||||
dependencies:
|
||||
"@types/bluebird" "*"
|
||||
"@types/node" "*"
|
||||
|
||||
"@types/bluebird@*":
|
||||
version "3.5.36"
|
||||
resolved "https://registry.yarnpkg.com/@types/bluebird/-/bluebird-3.5.36.tgz#00d9301d4dc35c2f6465a8aec634bb533674c652"
|
||||
integrity sha512-HBNx4lhkxN7bx6P0++W8E289foSu8kO8GCk2unhuVggO+cE7rh9DhZUyPhUxNRG9m+5B5BTKxZQ5ZP92x/mx9Q==
|
||||
|
||||
"@types/node@*":
|
||||
version "17.0.19"
|
||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.19.tgz#726171367f404bfbe8512ba608a09ebad810c7e6"
|
||||
integrity sha512-PfeQhvcMR4cPFVuYfBN4ifG7p9c+Dlh3yUZR6k+5yQK7wX3gDgVxBly4/WkBRs9x4dmcy1TVl08SY67wwtEvmA==
|
||||
|
||||
amqplib@^0.8.0:
|
||||
version "0.8.0"
|
||||
resolved "https://registry.yarnpkg.com/amqplib/-/amqplib-0.8.0.tgz#088d10bc61cc5ac5a49ac72033c7ac66c23aeb61"
|
||||
integrity sha512-icU+a4kkq4Y1PS4NNi+YPDMwdlbFcZ1EZTQT2nigW3fvOb6AOgUQ9+Mk4ue0Zu5cBg/XpDzB40oH10ysrk2dmA==
|
||||
dependencies:
|
||||
bitsyntax "~0.1.0"
|
||||
bluebird "^3.7.2"
|
||||
buffer-more-ints "~1.0.0"
|
||||
readable-stream "1.x >=1.1.9"
|
||||
safe-buffer "~5.2.1"
|
||||
url-parse "~1.5.1"
|
||||
|
||||
bitsyntax@~0.1.0:
|
||||
version "0.1.0"
|
||||
resolved "https://registry.yarnpkg.com/bitsyntax/-/bitsyntax-0.1.0.tgz#b0c59acef03505de5a2ed62a2f763c56ae1d6205"
|
||||
integrity sha512-ikAdCnrloKmFOugAfxWws89/fPc+nw0OOG1IzIE72uSOg/A3cYptKCjSUhDTuj7fhsJtzkzlv7l3b8PzRHLN0Q==
|
||||
dependencies:
|
||||
buffer-more-ints "~1.0.0"
|
||||
debug "~2.6.9"
|
||||
safe-buffer "~5.1.2"
|
||||
|
||||
bluebird@^3.7.2:
|
||||
version "3.7.2"
|
||||
resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f"
|
||||
integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==
|
||||
|
||||
buffer-more-ints@~1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/buffer-more-ints/-/buffer-more-ints-1.0.0.tgz#ef4f8e2dddbad429ed3828a9c55d44f05c611422"
|
||||
integrity sha512-EMetuGFz5SLsT0QTnXzINh4Ksr+oo4i+UGTXEshiGCQWnsgSs7ZhJ8fzlwQ+OzEMs0MpDAMr1hxnblp5a4vcHg==
|
||||
|
||||
core-util-is@~1.0.0:
|
||||
version "1.0.3"
|
||||
resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85"
|
||||
integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==
|
||||
|
||||
debug@~2.6.9:
|
||||
version "2.6.9"
|
||||
resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
|
||||
integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
|
||||
dependencies:
|
||||
ms "2.0.0"
|
||||
|
||||
inherits@~2.0.1:
|
||||
version "2.0.4"
|
||||
resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
|
||||
integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
|
||||
|
||||
isarray@0.0.1:
|
||||
version "0.0.1"
|
||||
resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf"
|
||||
integrity sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=
|
||||
|
||||
ms@2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
|
||||
integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=
|
||||
|
||||
prettier@^2.5.1:
|
||||
version "2.5.1"
|
||||
resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.5.1.tgz#fff75fa9d519c54cf0fce328c1017d94546bc56a"
|
||||
integrity sha512-vBZcPRUR5MZJwoyi3ZoyQlc1rXeEck8KgeC9AwwOn+exuxLxq5toTRDTSaVrXHxelDMHy9zlicw8u66yxoSUFg==
|
||||
|
||||
querystringify@^2.1.1:
|
||||
version "2.2.0"
|
||||
resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6"
|
||||
integrity sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==
|
||||
|
||||
"readable-stream@1.x >=1.1.9":
|
||||
version "1.1.14"
|
||||
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9"
|
||||
integrity sha1-fPTFTvZI44EwhMY23SB54WbAgdk=
|
||||
dependencies:
|
||||
core-util-is "~1.0.0"
|
||||
inherits "~2.0.1"
|
||||
isarray "0.0.1"
|
||||
string_decoder "~0.10.x"
|
||||
|
||||
requires-port@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff"
|
||||
integrity sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=
|
||||
|
||||
safe-buffer@~5.1.2:
|
||||
version "5.1.2"
|
||||
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
|
||||
integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
|
||||
|
||||
safe-buffer@~5.2.1:
|
||||
version "5.2.1"
|
||||
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"
|
||||
integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
|
||||
|
||||
string_decoder@~0.10.x:
|
||||
version "0.10.31"
|
||||
resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94"
|
||||
integrity sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=
|
||||
|
||||
url-parse@~1.5.1:
|
||||
version "1.5.9"
|
||||
resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.9.tgz#05ff26484a0b5e4040ac64dcee4177223d74675e"
|
||||
integrity sha512-HpOvhKBvre8wYez+QhHcYiVvVmeF6DVnuSOOPhe3cTum3BnqHhvKaZm8FU5yTiOu/Jut2ZpB2rA/SbBA1JIGlQ==
|
||||
dependencies:
|
||||
querystringify "^2.1.1"
|
||||
requires-port "^1.0.0"
|
||||
Loading…
Add table
Add a link
Reference in a new issue