Ctrl K
ComunidadGuías…

scripts/publish-package.test.mjs

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
import { test } from 'node:test';
import assert from 'node:assert/strict';
import { packageIsPublished } from './publish-package.mjs';

test('publication gate waits for npm and rejects different package bytes', async () => {
  const version = '1.0.0', integrity = 'sha512-tested';
  const lookup = response => packageIsPublished({ version, integrity, request: async () => response });
  assert.equal(await lookup(new Response(null, { status: 404 })), false);
  assert.equal(await lookup(Response.json({ name: 'devpush', version, dist: { integrity } })), true);
  for (const pkg of [
    { name: 'other', version, dist: { integrity } },
    { name: 'devpush', version: '0.9.0', dist: { integrity } },
    { name: 'devpush', version, dist: { integrity: 'sha512-different' } },
  ]) await assert.rejects(lookup(Response.json(pkg)), /differs from the CI-tested archive/);
  await assert.rejects(lookup(new Response(null, { status: 503 })), /npm lookup failed/);
});