import assert from 'node:assert/strict' import netlify, { createDeploy, createEnvVar, netlifyRequest, restoreDeploy, runSiteStatus, smokeTest, } from '../src/netlify.js' const smoke = await smokeTest({ dryRun: true }) assert.equal(smoke.ok, true) assert.equal(smoke.live, false) assert.equal(smoke.dryRun, true) assert.equal(smoke.path, '/user') assert.match(smoke.setup.tokenUrl, /name=netlifyToken/) assert.doesNotMatch(JSON.stringify(smoke), /kentcdodds|epicweb/i) const root = await netlify({ dryRun: true }) assert.equal(root.path, '/user') const status = await runSiteStatus({ dryRun: true }) assert.equal(status.path, '/sites') assert.equal(status.live, false) const deploy = await createDeploy({ site: 'example-site', draft: true, dryRun: true, }) assert.equal(deploy.dryRun, true) assert.equal(deploy.method, 'POST') assert.equal(deploy.path, '/sites/example-site/deploys') assert.deepEqual(deploy.body, { draft: true }) const restore = await restoreDeploy({ site: 'example-site', deploy: 'deploy_123', dryRun: true, }) assert.equal(restore.dryRun, true) assert.equal(restore.method, 'POST') assert.equal(restore.path, '/sites/example-site/deploys/deploy_123/restore') const env = await createEnvVar({ accountId: 'acme', site: 'example-site', key: 'EXAMPLE_FLAG', value: 'should-not-appear', context: 'production', dryRun: true, }) assert.equal(env.dryRun, true) assert.equal(env.path, '/accounts/acme/env') assert.equal(env.body[0].key, 'EXAMPLE_FLAG') assert.equal(env.body[0].values[0].value, '[redacted]') const requestPreview = await netlifyRequest({ path: '/sites/example-site/deploys', method: 'POST', body: { draft: true }, dryRun: true, }) assert.equal(requestPreview.dryRun, true) assert.equal(requestPreview.method, 'POST') await assert.rejects(() => createDeploy({ site: 'example-site', draft: true }), /confirm: true/) await assert.rejects( () => restoreDeploy({ site: 'example-site', deploy: 'deploy_123' }), /confirm: true/, ) console.log('dry-run helper checks passed')