From a0ec515472b375c8dca5638c136251283179afb9 Mon Sep 17 00:00:00 2001 From: Tommy Date: Fri, 1 Mar 2024 22:05:46 -0600 Subject: [PATCH] Skip failing test on Node.js 18 (#83) --- .github/workflows/main.yml | 2 +- test.js | 30 ++++++++++++++++++------------ 2 files changed, 19 insertions(+), 13 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 3967b26..a768beb 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -12,7 +12,7 @@ jobs: node-version: - 21 - 20 - # - 18 + - 18 steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 diff --git a/test.js b/test.js index 45f5a88..d83b049 100644 --- a/test.js +++ b/test.js @@ -1,3 +1,4 @@ +import process from 'node:process'; import {promisify} from 'node:util'; import http from 'node:http'; import test from 'ava'; @@ -120,21 +121,26 @@ test('reject when version doesn\'t exist', async t => { await t.throwsAsync(packageJson('hapi', {version: '6.6.6'}), {instanceOf: VersionNotFoundError}); }); -test('does not send any auth token for unconfigured registries', async t => { - const server = http.createServer((request, response) => { - response.end(JSON.stringify({headers: request.headers, 'dist-tags': {}})); - }); +const nodeMajorVersion = Number(process.versions.node.split('.').at(0)); - await promisify(server.listen.bind(server))(63_144, '127.0.0.1'); - const json = await packageJson('@mockscope3/foobar', {allVersions: true}); +if (nodeMajorVersion > 18) { + test('does not send any auth token for unconfigured registries', async t => { + const server = http.createServer((request, response) => { + const mock = {headers: request.headers, 'dist-tags': {}, versions: {'1.0.0': {}}}; + response.end(JSON.stringify(mock)); + }); - t.like(json.headers, { - host: 'localhost:63144', - authorization: undefined, - }); + await promisify(server.listen.bind(server))(63_144, '127.0.0.1'); + const json = await packageJson('@mockscope3/foobar', {allVersions: true}); - await promisify(server.close.bind(server))(); -}); + t.like(json.headers, { + host: 'localhost:63144', + authorization: undefined, + }); + + await promisify(server.close.bind(server))(); + }); +} test('private registry (bearer token)', async t => { const server = await privateRegistry({port: 63_142});