mirror of
https://github.com/denoland/deno.git
synced 2024-11-25 15:29:32 -05:00
f5e46c9bf2
This looks like a massive PR, but it's only a move from cli/tests -> tests, and updates of relative paths for files. This is the first step towards aggregate all of the integration test files under tests/, which will lead to a set of integration tests that can run without the CLI binary being built. While we could leave these tests under `cli`, it would require us to keep a more complex directory structure for the various test runners. In addition, we have a lot of complexity to ignore various test files in the `cli` project itself (cargo publish exclusion rules, autotests = false, etc). And finally, the `tests/` folder will eventually house the `test_ffi`, `test_napi` and other testing code, reducing the size of the root repo directory. For easier review, the extremely large and noisy "move" is in the first commit (with no changes -- just a move), while the remainder of the changes to actual files is in the second commit.
190 lines
2.7 KiB
TypeScript
190 lines
2.7 KiB
TypeScript
// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
|
|
import { scrypt, scryptSync } from "node:crypto";
|
|
import { Buffer } from "node:buffer";
|
|
import { assertEquals } from "@test_util/std/assert/mod.ts";
|
|
|
|
Deno.test("scrypt works correctly", async () => {
|
|
const { promise, resolve } = Promise.withResolvers<boolean>();
|
|
|
|
scrypt("password", "salt", 32, (err, key) => {
|
|
if (err) throw err;
|
|
assertEquals(
|
|
key,
|
|
Buffer.from([
|
|
116,
|
|
87,
|
|
49,
|
|
175,
|
|
68,
|
|
132,
|
|
243,
|
|
35,
|
|
150,
|
|
137,
|
|
105,
|
|
237,
|
|
162,
|
|
137,
|
|
174,
|
|
238,
|
|
0,
|
|
91,
|
|
89,
|
|
3,
|
|
172,
|
|
86,
|
|
30,
|
|
100,
|
|
165,
|
|
172,
|
|
161,
|
|
33,
|
|
121,
|
|
123,
|
|
247,
|
|
115,
|
|
]),
|
|
);
|
|
resolve(true);
|
|
});
|
|
|
|
await promise;
|
|
});
|
|
|
|
Deno.test("scrypt works with options", async () => {
|
|
const { promise, resolve } = Promise.withResolvers<boolean>();
|
|
|
|
scrypt(
|
|
"password",
|
|
"salt",
|
|
32,
|
|
{
|
|
N: 512,
|
|
},
|
|
(err, key) => {
|
|
if (err) throw err;
|
|
assertEquals(
|
|
key,
|
|
Buffer.from([
|
|
57,
|
|
134,
|
|
165,
|
|
72,
|
|
236,
|
|
9,
|
|
166,
|
|
182,
|
|
42,
|
|
46,
|
|
138,
|
|
230,
|
|
251,
|
|
154,
|
|
25,
|
|
15,
|
|
214,
|
|
209,
|
|
57,
|
|
208,
|
|
31,
|
|
163,
|
|
203,
|
|
87,
|
|
251,
|
|
42,
|
|
144,
|
|
179,
|
|
98,
|
|
92,
|
|
193,
|
|
71,
|
|
]),
|
|
);
|
|
resolve(true);
|
|
},
|
|
);
|
|
|
|
await promise;
|
|
});
|
|
|
|
Deno.test("scryptSync works correctly", () => {
|
|
const key = scryptSync("password", "salt", 32);
|
|
assertEquals(
|
|
key,
|
|
Buffer.from([
|
|
116,
|
|
87,
|
|
49,
|
|
175,
|
|
68,
|
|
132,
|
|
243,
|
|
35,
|
|
150,
|
|
137,
|
|
105,
|
|
237,
|
|
162,
|
|
137,
|
|
174,
|
|
238,
|
|
0,
|
|
91,
|
|
89,
|
|
3,
|
|
172,
|
|
86,
|
|
30,
|
|
100,
|
|
165,
|
|
172,
|
|
161,
|
|
33,
|
|
121,
|
|
123,
|
|
247,
|
|
115,
|
|
]),
|
|
);
|
|
});
|
|
|
|
Deno.test("scryptSync with options works correctly", () => {
|
|
const key = scryptSync("password", "salt", 32, { N: 512 });
|
|
assertEquals(
|
|
key,
|
|
Buffer.from([
|
|
57,
|
|
134,
|
|
165,
|
|
72,
|
|
236,
|
|
9,
|
|
166,
|
|
182,
|
|
42,
|
|
46,
|
|
138,
|
|
230,
|
|
251,
|
|
154,
|
|
25,
|
|
15,
|
|
214,
|
|
209,
|
|
57,
|
|
208,
|
|
31,
|
|
163,
|
|
203,
|
|
87,
|
|
251,
|
|
42,
|
|
144,
|
|
179,
|
|
98,
|
|
92,
|
|
193,
|
|
71,
|
|
]),
|
|
);
|
|
});
|