diff options
author | Matt Mastracci <matthew@mastracci.com> | 2024-02-10 13:22:13 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-02-10 20:22:13 +0000 |
commit | f5e46c9bf2f50d66a953fa133161fc829cecff06 (patch) | |
tree | 8faf2f5831c1c7b11d842cd9908d141082c869a5 /cli/tests/node_compat/test/parallel/test-dns-resolveany.js | |
parent | d2477f780630a812bfd65e3987b70c0d309385bb (diff) |
chore: move cli/tests/ -> tests/ (#22369)
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.
Diffstat (limited to 'cli/tests/node_compat/test/parallel/test-dns-resolveany.js')
-rw-r--r-- | cli/tests/node_compat/test/parallel/test-dns-resolveany.js | 78 |
1 files changed, 0 insertions, 78 deletions
diff --git a/cli/tests/node_compat/test/parallel/test-dns-resolveany.js b/cli/tests/node_compat/test/parallel/test-dns-resolveany.js deleted file mode 100644 index 56d533ad9..000000000 --- a/cli/tests/node_compat/test/parallel/test-dns-resolveany.js +++ /dev/null @@ -1,78 +0,0 @@ -// deno-fmt-ignore-file -// deno-lint-ignore-file - -// Copyright Joyent and Node contributors. All rights reserved. MIT license. -// Taken from Node 16.13.0 -// This file is automatically generated by "node/_tools/setup.ts". Do not modify this file manually - -// TODO: enable remaining tests once functionality is implemented. - -'use strict'; -const common = require('../common'); -const dnstools = require('../common/dns'); -const dns = require('dns'); -const assert = require('assert'); -const dgram = require('dgram'); -const dnsPromises = dns.promises; - -const answers = [ - { type: 'A', address: '1.2.3.4', /*ttl: 123*/ }, - { type: 'AAAA', address: '::42', /*ttl: 123*/ }, - { - type: 'CAA', - critical: 128, - issue: 'platynum.ch' - }, - { type: 'MX', priority: 42, exchange: 'foobar.com', ttl: 124 }, - { type: 'NS', value: 'foobar.org', ttl: 457 }, - { type: 'PTR', value: 'baz.org', ttl: 987 }, - { - type: 'SOA', - nsname: 'ns1.example.com', - hostmaster: 'admin.example.com', - serial: 156696742, - refresh: 900, - retry: 900, - expire: 1800, - minttl: 60 - }, - { type: 'TXT', entries: [ 'v=spf1 ~all', 'xyz\x00foo' ] }, -]; - -const server = dgram.createSocket('udp4'); - -server.on('message', common.mustCall((msg, { address, port }) => { - const parsed = dnstools.parseDNSPacket(msg); - const domain = parsed.questions[0].domain; - assert.strictEqual(domain, 'example.org'); - - server.send(dnstools.writeDNSPacket({ - id: parsed.id, - questions: parsed.questions, - answers: answers.map((answer) => Object.assign({ domain }, answer)), - }), port, address); -}, /*2*/ 30)); - -server.bind(0, common.mustCall(async () => { - const address = server.address(); - dns.setServers([`127.0.0.1:${address.port}`]); - - validateResults(await dnsPromises.resolveAny('example.org')); - - dns.resolveAny('example.org', common.mustSucceed((res) => { - validateResults(res); - server.close(); - })); -})); - -function validateResults(res) { - // TTL values are only provided for A and AAAA entries. - assert.deepStrictEqual(res.map(maybeRedactTTL), answers.map(maybeRedactTTL)); -} - -function maybeRedactTTL(r) { - const ret = { ...r }; - if (!['A', 'AAAA'].includes(r.type)) - delete ret.ttl; - return ret; -} |