1 | var dns = require('../dns');
|
2 |
|
3 | exports.udp4 = function (test) {
|
4 | var server = dns.createUDPServer();
|
5 |
|
6 | var tData = {
|
7 | address: '127.0.0.1',
|
8 | port: 15353,
|
9 | };
|
10 |
|
11 | var succeed = false;
|
12 |
|
13 | setTimeout(function () {
|
14 | test.ok(succeed, 'Test failed to listen');
|
15 | server.close();
|
16 | }, 300);
|
17 |
|
18 | server.on('listening', function () {
|
19 | test.deepEqual(this.address(), tData, 'Not listening on the same port and address');
|
20 |
|
21 |
|
22 | succeed = true;
|
23 | });
|
24 |
|
25 | server.on('socketError', function (err, socket) {
|
26 | test.ifError(err, 'Should not have a bind error');
|
27 | this.close();
|
28 | });
|
29 |
|
30 | server.on('close', function () {
|
31 | test.done();
|
32 | });
|
33 |
|
34 | server.serve(tData.port, tData.address);
|
35 | };
|
36 |
|
37 | exports.udp6 = function (test) {
|
38 | var server = dns.createUDPServer({
|
39 | dgram_type: 'udp6',
|
40 | });
|
41 |
|
42 | var tData = {
|
43 | address: '::1',
|
44 | port: 15353,
|
45 | };
|
46 |
|
47 | var succeed = false;
|
48 |
|
49 | setTimeout(function () {
|
50 | test.ok(succeed, 'Test failed to listen');
|
51 | server.close();
|
52 | }, 300);
|
53 |
|
54 | server.on('listening', function () {
|
55 | test.deepEqual(this.address(), tData, 'Not listening on the same port and address');
|
56 |
|
57 |
|
58 |
|
59 | succeed = true;
|
60 | });
|
61 |
|
62 | server.on('socketError', function (err, socket) {
|
63 | test.ifError(err, 'Should not have a bind error');
|
64 | this.close();
|
65 | });
|
66 |
|
67 | server.on('close', function () {
|
68 | test.done();
|
69 | });
|
70 |
|
71 | server.serve(tData.port, tData.address);
|
72 | };
|
73 |
|
74 | exports.tcp = function (test) {
|
75 | var server = dns.createTCPServer();
|
76 |
|
77 | var tData = {
|
78 | address: '127.0.0.1',
|
79 | port: 15353,
|
80 | };
|
81 |
|
82 | server.on('listening', function () {
|
83 | test.equal(this.address().port, tData.port, 'Not listening on the same port and address');
|
84 | test.equal(this.address().address, tData.address, 'Not listening on the same port and address');
|
85 | this.close();
|
86 | });
|
87 |
|
88 | server.on('socketError', function (err, socket) {
|
89 | test.ifError(err, 'Should not have a bind error');
|
90 | this.close();
|
91 | });
|
92 |
|
93 | server.on('close', function () {
|
94 | test.done();
|
95 | });
|
96 |
|
97 | server.serve(tData.port, tData.address);
|
98 | };
|