1 | var dgram = require('dgram'),
|
2 | net = require('net'),
|
3 | fs = require('fs');
|
4 |
|
5 | var config = {
|
6 | address: '127.0.0.1',
|
7 | port: 8125
|
8 | };
|
9 | var msg = "This is a test\r\n";
|
10 |
|
11 | module.exports = {
|
12 | udp_data_received: function(test) {
|
13 | test.expect(3);
|
14 | var server = require('../servers/udp');
|
15 | var started = server.start(config, function(data, rinfo) {
|
16 | test.equal(msg, data.toString());
|
17 | test.equal(msg.length, rinfo.size);
|
18 | test.done();
|
19 | });
|
20 | test.ok(started);
|
21 |
|
22 | var buf = new Buffer(msg);
|
23 | var sock = dgram.createSocket('udp4');
|
24 | sock.send(buf, 0, buf.length, config.port, config.address, function(err, bytes) {
|
25 | sock.close();
|
26 | });
|
27 | },
|
28 | tcp_data_received: function(test) {
|
29 | test.expect(3);
|
30 | var server = require('../servers/tcp');
|
31 | var started = server.start(config, function(data, rinfo) {
|
32 | test.equal(msg, data.toString());
|
33 | test.equal(msg.length, rinfo.size);
|
34 | test.done();
|
35 | });
|
36 | test.ok(started);
|
37 |
|
38 | var client = net.connect(config.port, config.address, function() {
|
39 | client.write(msg);
|
40 | client.end();
|
41 | });
|
42 | },
|
43 | tcp_data_buffered: function(test) {
|
44 | test.expect(3);
|
45 | var server = require('../servers/tcp');
|
46 | var splitmsg = msg.split(' ');
|
47 | config.port = 8126;
|
48 | var started = server.start(config, function(data, rinfo) {
|
49 | test.equal(msg, data.toString());
|
50 | test.equal(msg.length, rinfo.size);
|
51 | test.done();
|
52 | });
|
53 | test.ok(started);
|
54 |
|
55 | var client = net.connect(config.port, config.address, function() {
|
56 | client.setNoDelay(true);
|
57 | splitmsg.forEach(function(part) {
|
58 | client.write(part);
|
59 | client.write(' ');
|
60 | });
|
61 | client.end();
|
62 | });
|
63 | },
|
64 | unix_socket_data_received: function(test) {
|
65 | test.expect(3);
|
66 | var server = require('../servers/tcp');
|
67 | config.socket = './statsd_tmp.socket';
|
68 | var started = server.start(config, function (data, rinfo) {
|
69 | test.equal(msg, data.toString());
|
70 | test.equal(msg.length, rinfo.size);
|
71 | fs.unlinkSync(config.socket);
|
72 | config.socket = undefined;
|
73 | test.done();
|
74 | });
|
75 |
|
76 | test.ok(started);
|
77 |
|
78 | var client = net.connect(config.socket, function () {
|
79 | client.write(msg);
|
80 | client.end();
|
81 | });
|
82 | }
|
83 | };
|