diff --git a/packages/aws-cdk/package.json b/packages/aws-cdk/package.json index 81eb3cf575aee..f73ea954037f7 100644 --- a/packages/aws-cdk/package.json +++ b/packages/aws-cdk/package.json @@ -86,9 +86,9 @@ "constructs": "^10.0.0", "fast-check": "^3.13.0", "jest": "^29.7.0", + "jest-mock": "^29.7.0", "madge": "^5.0.2", "make-runnable": "^1.4.1", - "mockery": "^2.1.0", "nock": "^13.3.3", "sinon": "^9.2.4", "ts-jest": "^29.1.1", diff --git a/packages/aws-cdk/test/cdk-docs.test.ts b/packages/aws-cdk/test/cdk-docs.test.ts index 4bacaa8201731..a2a9f4fdfe479 100644 --- a/packages/aws-cdk/test/cdk-docs.test.ts +++ b/packages/aws-cdk/test/cdk-docs.test.ts @@ -1,30 +1,17 @@ -/* eslint-disable import/order */ -import * as mockery from 'mockery'; +import * as child_process from 'child_process'; +import { mocked } from 'jest-mock'; import { CommandHandler } from '../lib/command-api'; import { realHandler } from '../lib/commands/docs'; - const argv = { browser: 'echo %u', commandHandler: undefined as (CommandHandler | undefined), }; -describe('`cdk docs`', () => { - beforeEach(done => { - mockery.registerMock('../../lib/logging', { - debug() { return; }, - error() { return; }, - print() { return; }, - warning() { return; }, - }); - mockery.enable({ useCleanCache: true, warnOnReplace: true, warnOnUnregistered: false }); - done(); - }); +// eslint-disable-next-line no-console +console.log = jest.fn(); +jest.mock('child_process'); - afterAll(done => { - mockery.disable(); - mockery.deregisterAll(); - done(); - }); +describe('`cdk docs`', () => { test('exits with 0 when everything is OK', async () => { const result = await realHandler({ args: argv } as any); @@ -32,11 +19,9 @@ describe('`cdk docs`', () => { }); test('exits with 0 when opening the browser fails', async () => { - mockery.registerMock('child_process', { - exec(_: string, cb: (err: Error, stdout?: string, stderr?: string) => void) { - cb(new Error('TEST')); - }, - }); + const mockChildProcessExec: any = (_: string, cb: (err: Error, stdout?: string, stderr?: string) => void) => cb(new Error('TEST')); + mocked(child_process.exec).mockImplementation(mockChildProcessExec); + const result = await realHandler({ args: argv } as any); expect(result).toBe(0); }); diff --git a/packages/aws-cdk/test/cdk-doctor.test.ts b/packages/aws-cdk/test/cdk-doctor.test.ts index 9f36d63630445..2b014e45f5521 100644 --- a/packages/aws-cdk/test/cdk-doctor.test.ts +++ b/packages/aws-cdk/test/cdk-doctor.test.ts @@ -1,22 +1,9 @@ -/* eslint-disable import/order */ -import * as mockery from 'mockery'; import { realHandler } from '../lib/commands/doctor'; -describe('`cdk doctor`', () => { - beforeEach(done => { - mockery.registerMock('../../lib/logging', { - print: () => undefined, - }); - mockery.enable({ useCleanCache: true, warnOnReplace: true, warnOnUnregistered: false }); - done(); - }); - - afterEach(done => { - mockery.disable(); - mockery.deregisterAll(); - done(); - }); +// eslint-disable-next-line no-console +console.log = jest.fn(); +describe('`cdk doctor`', () => { test('exits with 0 when everything is OK', async () => { const argv: any = {}; const result = await realHandler({ args: argv } as any); diff --git a/yarn.lock b/yarn.lock index 73626145a69fd..3db9a2163b359 100644 --- a/yarn.lock +++ b/yarn.lock @@ -10423,11 +10423,6 @@ mock-fs@^4.14.0: resolved "https://registry.npmjs.org/mock-fs/-/mock-fs-4.14.0.tgz#ce5124d2c601421255985e6e94da80a7357b1b18" integrity sha512-qYvlv/exQ4+svI3UOvPUpLDF0OMX5euvUH0Ny4N5QyRyhNdgAgUrVH3iUINSzEPLvx0kbo/Bp28GJKIqvE7URw== -mockery@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/mockery/-/mockery-2.1.0.tgz#5b0aef1ff564f0f8139445e165536c7909713470" - integrity sha512-9VkOmxKlWXoDO/h1jDZaS4lH33aWfRiJiNT/tKj+8OGzrcFDLo8d0syGdbsc3Bc4GvRXPb+NMMvojotmuGJTvA== - modify-values@^1.0.0, modify-values@^1.0.1: version "1.0.1" resolved "https://registry.npmjs.org/modify-values/-/modify-values-1.0.1.tgz#b3939fa605546474e3e3e3c63d64bd43b4ee6022"