Skip to content

Commit

Permalink
mk: upgrade to Vitest 2.0.1
Browse files Browse the repository at this point in the history
  • Loading branch information
yoursunny committed Jul 9, 2024
1 parent 77758e4 commit ecf4ab1
Show file tree
Hide file tree
Showing 48 changed files with 111 additions and 112 deletions.
2 changes: 1 addition & 1 deletion integ/browser-tests/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@
"puppeteer": "^22.12.1",
"ts-loader": "^9.5.1",
"tslib": "^2.6.3",
"type-fest": "^4.20.1",
"type-fest": "^4.21.0",
"webpack": "^5.92.1",
"webpack-cli": "^5.1.4",
"webpack-dev-server": "^5.0.4"
Expand Down
2 changes: 1 addition & 1 deletion integ/cxx-tests/tests/sync/psync-full/test.t.ts
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ test("simple", async () => {
});
closers.push(sync);

const handleUpdate = vi.fn<[SyncUpdate<Name>], void>();
const handleUpdate = vi.fn<(update: SyncUpdate<Name>) => void>();
sync.addEventListener("update", handleUpdate);

p.kill("SIGUSR1");
Expand Down
4 changes: 2 additions & 2 deletions mk/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,11 @@
"devDependencies": {
"@k-foss/ts-esnode": "^2.0.3",
"@nodelib/fs.walk": "^2.0.0",
"@pnpm/lockfile-types": "^7.1.1",
"@pnpm/lockfile-types": "^7.1.2",
"compare-versions": "6.1.0",
"js-yaml": "^4.1.0",
"readlink": "^3.0.0",
"split2": "^4.2.0",
"type-fest": "^4.20.1"
"type-fest": "^4.21.0"
}
}
10 changes: 5 additions & 5 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,18 +13,18 @@
"test": "vitest",
"typedoc": "bash mk/typedoc.sh"
},
"packageManager": "pnpm@9.4.0+sha256.b6fd0bfda555e7e584ad7e56b30c68b01d5a04f9ee93989f4b93ca8473c49c74",
"packageManager": "pnpm@9.5.0+sha256.dbdf5961c32909fb030595a9daa1dae720162e658609a8f92f2fa99835510ca5",
"devDependencies": {
"@types/node": "^20.14.9",
"@types/node": "^20.14.10",
"@types/wtfnode": "^0.7.3",
"@typescript/lib-dom": "npm:@types/[email protected].150",
"@vitest/coverage-v8": "^1.6.0",
"@typescript/lib-dom": "npm:@types/[email protected].151",
"@vitest/coverage-v8": "^2.0.1",
"@yoursunny/xo-config": "0.58.0",
"codedown": "^3.1.0",
"tslib": "^2.6.3",
"typedoc": "^0.26.3",
"typescript": "~5.5.3",
"vitest": "^1.6.0"
"vitest": "^2.0.1"
},
"engines": {
"node": "^20.12.0 || ^22.0.0"
Expand Down
2 changes: 1 addition & 1 deletion pkg/autoconfig/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,6 @@
"@types/default-gateway": "^7.2.2",
"@types/koa": "^2.15.0",
"koa": "^2.15.3",
"type-fest": "^4.20.1"
"type-fest": "^4.21.0"
}
}
21 changes: 10 additions & 11 deletions pkg/autoconfig/tests/network.t.ts
Original file line number Diff line number Diff line change
Expand Up @@ -76,23 +76,22 @@ test("defaultGateway", { timeout: 10000 }, async () => {
version: 4,
int: "eth0",
};
const mockGateway = vi.fn<[], Promise<defaultGateway.Result<4>>>().mockResolvedValue(mockGatewayResult);
const mockGateway = vi.fn<typeof defaultGateway.gateway4async>().mockResolvedValue(mockGatewayResult);
vi.doMock("default-gateway", (): typeof defaultGateway => ({
...defaultGateway,
gateway4async: mockGateway,
}));

let calledWith6363 = false;
let calledWith7004 = false;
const testConnection = vi.fn<[FwFace], Promise<unknown>>()
.mockImplementation(async (face) => {
const faceDescribe = face.toString();
calledWith6363 ||= faceDescribe.includes("127.0.0.1:6363");
calledWith7004 ||= faceDescribe.includes("127.0.0.1:7004");
if (!faceDescribe.includes("127.0.0.1:7001")) {
throw new Error("mock reject");
}
});
const testConnection = vi.fn(async (face: FwFace) => {
const faceDescribe = face.toString();
calledWith6363 ||= faceDescribe.includes("127.0.0.1:6363");
calledWith7004 ||= faceDescribe.includes("127.0.0.1:7004");
if (!faceDescribe.includes("127.0.0.1:7001")) {
throw new Error("mock reject");
}
});

const faces = await connectToNetwork({
fch: { server: fchServer.uri },
Expand All @@ -111,7 +110,7 @@ test("defaultGateway", { timeout: 10000 }, async () => {
});

test("connectFailure", async () => {
const testConnection = vi.fn<[FwFace], Promise<unknown>>()
const testConnection = vi.fn<(face: FwFace) => Promise<unknown>>()
.mockRejectedValue(new Error("mock reject"));

await expect(connectToNetwork({
Expand Down
2 changes: 1 addition & 1 deletion pkg/cli-common/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,6 @@
"dotenv": "^16.4.5",
"env-var": "^7.5.0",
"tslib": "^2.6.3",
"wtfnode": "^0.9.2"
"wtfnode": "^0.9.3"
}
}
11 changes: 4 additions & 7 deletions pkg/endpoint/tests/consumer.t.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,10 @@ import { consume, produce, type ProducerHandler, type RetxPolicy } from "..";
afterEach(Forwarder.deleteDefault);

describe("retx limit", () => {
let producer: Mock<Parameters<ProducerHandler>, ReturnType<ProducerHandler>>;
let producer: Mock<ProducerHandler>;

beforeEach(() => {
producer = vi.fn<Parameters<ProducerHandler>, ReturnType<ProducerHandler>>()
producer = vi.fn<ProducerHandler>()
.mockResolvedValueOnce(undefined)
.mockResolvedValueOnce(undefined)
.mockResolvedValueOnce(new Data("/A"));
Expand Down Expand Up @@ -85,13 +85,10 @@ test("RTT", async () => {
});

test("verify", async () => {
const producer = vi.fn<Parameters<ProducerHandler>, ReturnType<ProducerHandler>>()
.mockResolvedValueOnce(new Data("/A"));
const producer = vi.fn<ProducerHandler>().mockResolvedValueOnce(new Data("/A"));
produce("/A", producer);

const verify = vi.fn<Parameters<Verifier["verify"]>, ReturnType<Verifier["verify"]>>()
.mockRejectedValue(new Error("mock-verify-error"));

const verify = vi.fn<Verifier["verify"]>().mockRejectedValue(new Error("mock-verify-error"));
const consumer = consume(
new Interest("/A", Interest.Lifetime(200)),
{ verifier: { verify } },
Expand Down
14 changes: 7 additions & 7 deletions pkg/fw/tests/readvertise.t.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import "@ndn/packet/test-fixture/expect";

import { type Name, type NameLike } from "@ndn/packet";
import type { NameLike } from "@ndn/packet";
import { delay } from "@ndn/util";
import { beforeEach, expect, type Mock, test, vi } from "vitest";

Expand All @@ -13,12 +13,12 @@ beforeEach(() => {
});

class SimpleDest extends ReadvertiseDestination {
protected override doAdvertise = vi.fn<[Name, {}], Promise<void>>().mockResolvedValue(undefined);
protected override doWithdraw = vi.fn<[Name, {}], Promise<void>>().mockResolvedValue(undefined);
protected override doAdvertise = vi.fn<ReadvertiseDestination["doAdvertise"]>().mockResolvedValue(undefined);
protected override doWithdraw = vi.fn<ReadvertiseDestination["doWithdraw"]>().mockResolvedValue(undefined);

private hasEvents = false;
private readonly annadd = vi.fn<[Forwarder.AnnouncementEvent], void>();
private readonly annrm = vi.fn<[Forwarder.AnnouncementEvent], void>();
private readonly annadd = vi.fn<(evt: Forwarder.AnnouncementEvent) => void>();
private readonly annrm = vi.fn<(evt: Forwarder.AnnouncementEvent) => void>();

public attachEventHandlers(fw: Forwarder): void {
this.hasEvents = true;
Expand All @@ -35,8 +35,8 @@ class SimpleDest extends ReadvertiseDestination {
}

private static check(
doFn: Mock<[Name, {}], Promise<void>>,
onFn: false | Mock<[Forwarder.AnnouncementEvent], void>,
doFn: Mock<ReadvertiseDestination["doAdvertise"] & ReadvertiseDestination["doWithdraw"]>,
onFn: false | Mock<(evt: Forwarder.AnnouncementEvent) => void>,
names: readonly NameLike[],
) {
expect(doFn).toHaveBeenCalledTimes(names.length);
Expand Down
2 changes: 1 addition & 1 deletion pkg/keychain/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@
"idb-keyval": "^6.2.1",
"mnemonist": "^0.39.8",
"tslib": "^2.6.3",
"type-fest": "^4.20.1",
"type-fest": "^4.21.0",
"wait-your-turn": "^1.0.1"
},
"devDependencies": {
Expand Down
4 changes: 3 additions & 1 deletion pkg/keychain/src/store/keychain.ts
Original file line number Diff line number Diff line change
Expand Up @@ -169,7 +169,7 @@ export namespace KeyChain {
*
* If this is a Signer, it is used when no matching key or certificate is found.
*/
fallback?: Signer | ((name: Name, keyChain: KeyChain, err?: Error) => Promise<Signer>);
fallback?: Signer | GetSignerFallback;

/**
* Whether to prefer key name in KeyLocator.
Expand All @@ -182,6 +182,8 @@ export namespace KeyChain {
useKeyNameKeyLocator?: boolean;
}

export type GetSignerFallback = (name: Name, keyChain: KeyChain, err?: Error) => Promise<Signer>;

/**
* Open a persistent KeyChain.
* @param locator - Filesystem directory in Node.js; database name in browser.
Expand Down
2 changes: 1 addition & 1 deletion pkg/keychain/tests/store/keychain.t.ts
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,7 @@ describe("getSigner", () => {
});

test("fallback function", async () => {
const fallback = vi.fn().mockRejectedValue(new Error("fallback-error"));
const fallback = vi.fn<KeyChain.GetSignerFallback>().mockRejectedValue(new Error("fallback-error"));
await expect(keyChain.getSigner(new Name("/N"), { fallback }))
.rejects.toThrow(/fallback-error/);
});
Expand Down
2 changes: 1 addition & 1 deletion pkg/l3face/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@
"retry": "^0.13.1",
"streaming-iterables": "^8.0.1",
"tslib": "^2.6.3",
"type-fest": "^4.20.1",
"type-fest": "^4.21.0",
"typescript-event-target": "^1.1.1"
}
}
8 changes: 4 additions & 4 deletions pkg/l3face/test-fixture/reopen.ts
Original file line number Diff line number Diff line change
Expand Up @@ -21,13 +21,13 @@ export async function run<ServerSocket>(

const face = new L3Face(transport);

const stateEvt = vi.fn<[L3Face.State], void>();
const stateEvt = vi.fn<(state: L3Face.State) => void>();
face.addEventListener("state", ({ state }) => stateEvt(state));
const upEvt = vi.fn();
const upEvt = vi.fn<() => void>();
face.addEventListener("up", upEvt);
const downEvt = vi.fn();
const downEvt = vi.fn<() => void>();
face.addEventListener("down", downEvt);
const closeEvt = vi.fn();
const closeEvt = vi.fn<() => void>();
face.addEventListener("close", closeEvt);

let end = false;
Expand Down
2 changes: 1 addition & 1 deletion pkg/l3face/tests/l3face.t.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ test("l3face", async () => {
expect(face.attributes.advertiseFrom).toBeFalsy();
expect(face.attributes.local).toBeTruthy();

const close = vi.fn<[], void>();
const close = vi.fn<() => void>();
face.addEventListener("close", close);

transport.recv(new Interest("/A", Interest.Lifetime(20)));
Expand Down
2 changes: 1 addition & 1 deletion pkg/nac/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@
"@yoursunny/asn1": "0.0.20200718",
"mnemonist": "^0.39.8",
"tslib": "^2.6.3",
"type-fest": "^4.20.1"
"type-fest": "^4.21.0"
},
"devDependencies": {
"@ndn/l3face": "workspace:^",
Expand Down
2 changes: 1 addition & 1 deletion pkg/ndncert/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@
"nodemailer": "^6.9.14",
"p-timeout": "^6.1.2",
"tslib": "^2.6.3",
"type-fest": "^4.20.1",
"type-fest": "^4.21.0",
"typescript-event-target": "^1.1.1"
},
"devDependencies": {
Expand Down
2 changes: 1 addition & 1 deletion pkg/ndncert/tests/basic.t.ts
Original file line number Diff line number Diff line change
Expand Up @@ -171,7 +171,7 @@ test("packets", async () => {
expect(challengeInterest.name.getPrefix(3)).toEqualName("/root/CA/CHALLENGE");
expect(challengeInterest.sigInfo).toBeDefined();

const lookupRequest = vi.fn().mockResolvedValue({
const lookupRequest = vi.fn<ChallengeRequest.Context["lookupRequest"]>().mockResolvedValue({
sessionKey: caSessionKey,
certRequestPub: newRequest.publicKey,
});
Expand Down
4 changes: 2 additions & 2 deletions pkg/ndncert/tests/server-client.t.ts
Original file line number Diff line number Diff line change
Expand Up @@ -89,8 +89,8 @@ const TABLE: Row[] = [
{
summary: "email, success",
async makeChallengeLists() {
const emailsent = vi.fn<[ServerEmailChallenge.SentEvent], void>();
const emailerror = vi.fn<[ServerEmailChallenge.ErrorEvent], void>();
const emailsent = vi.fn<(evt: ServerEmailChallenge.SentEvent) => void>();
const emailerror = vi.fn<(evt: ServerEmailChallenge.ErrorEvent) => void>();
const server = new ServerEmailChallenge({
mail: createMT({ jsonTransport: true }),
template: emailTemplate,
Expand Down
2 changes: 1 addition & 1 deletion pkg/nfdmgmt/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@
"devDependencies": {
"@ndn/l3face": "workspace:*",
"@ndn/node-transport": "workspace:*",
"type-fest": "^4.20.1",
"type-fest": "^4.21.0",
"typescript-event-target": "^1.1.1"
}
}
2 changes: 1 addition & 1 deletion pkg/node-transport/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
"event-iterator": "^2.0.0",
"p-event": "^6.0.1",
"tslib": "^2.6.3",
"type-fest": "^4.20.1",
"type-fest": "^4.21.0",
"url-format-lax": "^2.0.0",
"url-parse-lax": "^5.0.0"
},
Expand Down
4 changes: 2 additions & 2 deletions pkg/node-transport/tests/l3face.t.ts
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ beforeEach(async () => {
});

test("RX error", async () => {
const handleRxError = vi.fn<[CustomEvent<L3Face.RxError>], void>();
const handleRxError = vi.fn<(evt: CustomEvent<L3Face.RxError>) => void>();
face.addEventListener("rxerror", handleRxError, { once: true });

setTimeout(() => sock.write(Uint8Array.of(0xF0, 0x00)), 200);
Expand All @@ -58,7 +58,7 @@ test("createFace", async () => {
expect(face2.hasRoute("/Q")).toBeTruthy();
BufferBreaker.duplex(sock0!, sock1!);

const rx = vi.fn<[Forwarder.PacketEvent], void>();
const rx = vi.fn<(evt: Forwarder.PacketEvent) => void>();
fw.addEventListener("pktrx", rx);
await Promise.all([
delay(100),
Expand Down
2 changes: 1 addition & 1 deletion pkg/packet/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
"buffer-compare": "^1.1.1",
"mnemonist": "^0.39.8",
"tslib": "^2.6.3",
"type-fest": "^4.20.1"
"type-fest": "^4.21.0"
},
"devDependencies": {
"@types/buffer-compare": "^0.0.33"
Expand Down
6 changes: 3 additions & 3 deletions pkg/packet/tests/interest.t.ts
Original file line number Diff line number Diff line change
Expand Up @@ -195,7 +195,7 @@ test("decode parameterized", async () => {
expect(interest.name).toHaveLength(3);
expect(interest.appParameters).toBeDefined();

const verify = vi.fn();
const verify = vi.fn<LLVerify>();
await expect(interest[LLVerify.OP](verify)).rejects.toThrow();
expect(verify).not.toHaveBeenCalled();

Expand All @@ -211,7 +211,7 @@ test("encode signed", async () => {
// error on out of place ParamsDigest
const interest = new Interest(new Name(["A", ParamsDigest.PLACEHOLDER, "C"]));
interest.sigInfo = new SigInfo(SigType.Sha256);
const sign = vi.fn();
const sign = vi.fn<LLSign>();
await expect(interest[LLSign.OP](sign)).rejects.toThrow(/out of place/);

// other tests in signing.t.ts
Expand Down Expand Up @@ -267,7 +267,7 @@ test("decode signed", async () => {
expect(interest.sigValue).toBeDefined();

// unrecognized elements should be preserved until modified
const verify = vi.fn().mockResolvedValue(undefined);
const verify = vi.fn<LLVerify>().mockResolvedValue(undefined);
await interest[LLVerify.OP](verify);
expect(verify).toHaveBeenCalledTimes(1);
expect(verify.mock.calls[0][0]).toEqualUint8Array(Buffer.concat([name.value, signedParamsWire]));
Expand Down
10 changes: 5 additions & 5 deletions pkg/psync/tests/psync-full.t.ts
Original file line number Diff line number Diff line change
Expand Up @@ -83,17 +83,17 @@ class Fixture {
const title = String.fromCodePoint(0x41 + i);
debugPrinter.start(title, sync);

const handleUpdate = vi.fn<[SyncUpdate<Name>], void>()
.mockImplementation(({ id, loSeqNum, hiSeqNum }) => { // eslint-disable-line @typescript-eslint/no-loop-func
debugPrinter.log(title, `UPDATE ${id} ${loSeqNum} ${hiSeqNum}`);
});
// eslint-disable-next-line @typescript-eslint/no-loop-func
const handleUpdate = vi.fn(({ id, loSeqNum, hiSeqNum }: SyncUpdate<Name>) => {
debugPrinter.log(title, `UPDATE ${id} ${loSeqNum} ${hiSeqNum}`);
});
sync.addEventListener("update", handleUpdate);
this.updates.push(handleUpdate);
}
}

private readonly syncs: FullSync[] = [];
private readonly updates: Array<Mock<[SyncUpdate<Name>], void>> = [];
private readonly updates: Array<Mock<(update: SyncUpdate<Name>) => void>> = [];

public delayTick(multiple = 1): Promise<void> {
return delay(250 * multiple);
Expand Down
Loading

0 comments on commit ecf4ab1

Please sign in to comment.