Skip to content

Commit dd4973a

Browse files
committed
feat(kernel-test): Use mock logger where possible
1 parent bad4dc6 commit dd4973a

File tree

2 files changed

+23
-5
lines changed

2 files changed

+23
-5
lines changed

packages/kernel-test/src/garbage-collection.test.ts

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ import '@metamask/kernel-shims/endoify';
22
import type { KernelDatabase } from '@metamask/kernel-store';
33
import { makeSQLKernelDatabase } from '@metamask/kernel-store/sqlite/nodejs';
44
import { waitUntilQuiescent } from '@metamask/kernel-utils';
5-
import { Logger } from '@metamask/logger';
65
import { Kernel, kunser, makeKernelStore } from '@metamask/ocap-kernel';
76
import type {
87
ClusterConfig,
@@ -15,7 +14,7 @@ import { expect, beforeEach, describe, it } from 'vitest';
1514
import {
1615
getBundleSpec,
1716
makeKernel,
18-
makeTestLogger,
17+
makeMockLogger,
1918
parseReplyBody,
2019
runTestVats,
2120
} from './utils.ts';
@@ -54,15 +53,13 @@ describe('Garbage Collection', () => {
5453
let importerKRef: KRef;
5554
let exporterVatId: VatId;
5655
let importerVatId: VatId;
57-
let logger: Logger;
5856

5957
beforeEach(async () => {
60-
logger = makeTestLogger().logger;
6158
kernelDatabase = await makeSQLKernelDatabase({
6259
dbFilename: ':memory:',
6360
});
6461
kernelStore = makeKernelStore(kernelDatabase);
65-
kernel = await makeKernel(kernelDatabase, true, logger);
62+
kernel = await makeKernel(kernelDatabase, true, makeMockLogger());
6663
await runTestVats(kernel, makeTestSubcluster());
6764

6865
const vats = kernel.getVats();

packages/kernel-test/src/utils.ts

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import {
1414
MessagePort as NodeMessagePort,
1515
MessageChannel as NodeMessageChannel,
1616
} from 'node:worker_threads';
17+
import { vi } from 'vitest';
1718

1819
/**
1920
* Construct a bundle path URL from a bundle name.
@@ -182,3 +183,23 @@ export const makeTestLogger = (): { logger: Logger; entries: LogEntry[] } => {
182183
const logger = new Logger({ transports: [makeArrayTransport(entries)] });
183184
return { logger, entries };
184185
};
186+
187+
/**
188+
* Create a mock logger that can be used to spy on the logger methods.
189+
* Derived sub-loggers will invoke the parent logger methods directly.
190+
* The injectStream method is a no-op.
191+
*
192+
* @returns A mock logger.
193+
*/
194+
export const makeMockLogger = (): Logger => {
195+
const mockLogger = {
196+
log: vi.fn(),
197+
error: vi.fn(),
198+
warn: vi.fn(),
199+
info: vi.fn(),
200+
debug: vi.fn(),
201+
subLogger: vi.fn(() => mockLogger),
202+
injectStream: vi.fn(),
203+
} as unknown as Logger;
204+
return mockLogger;
205+
};

0 commit comments

Comments
 (0)