UNPKG

3.11 kBJavaScriptView Raw
1const accumulateResponse = require('../accumulate-response/index');
2const assert = require('assert');
3
4describe('accumulate response plugin', () => {
5 var plugin = null;
6
7 beforeEach(() => {
8 var config = {};
9 var logger = {};
10 var stats = {};
11
12 plugin = accumulateResponse.init.apply(null, [config, logger, stats]);
13 });
14
15 it('exposes an ondata_response handler', () => {
16 assert.ok(plugin.ondata_response);
17 });
18
19 it('exposes an onend_response handler', () => {
20 assert.ok(plugin.onend_response);
21 });
22
23 it('calls back with two null function arguments in the ondata_response handler', (done) => {
24 var cb = (err, result) => {
25 assert.equal(err, null);
26 assert.equal(result, null);
27 done();
28 }
29
30
31 plugin.ondata_response.apply(null, [{}, {}, Buffer.alloc(5, 'a'), cb]);
32 });
33
34 it('will collect all buffers provided to ondata_response handler, concatenate them, and return them as a single buffer', (done) => {
35 var desiredResult = 'aaaaaaaaaaaaaaa';
36
37 var ondata_cb = (err, result) => {
38 assert.equal(err, null);
39 assert.equal(result, null);
40 assert.ok(res._chunks);
41 }
42
43 var onend_cb = (err, result) => {
44 assert.equal(err, null);
45 assert.equal(result.toString(), desiredResult);
46 done();
47 }
48
49 var res = {};
50
51 plugin.ondata_response.apply(null, [{}, res, Buffer.alloc(5, 'a'), ondata_cb]);
52 plugin.ondata_response.apply(null, [{}, res, Buffer.alloc(5, 'a'), ondata_cb]);
53 plugin.ondata_response.apply(null, [{}, res, Buffer.alloc(5, 'a'), ondata_cb]);
54
55 plugin.onend_response.apply(null, [{}, res, null, onend_cb]);
56 });
57
58 it('will append data included in the end call to the buffer', (done) => {
59 var desiredResult = 'aaaaaaaaaaaaaaaaaaaa';
60
61 var ondata_cb = (err, result) => {
62 assert.equal(err, null);
63 assert.equal(result, null);
64 assert.ok(res._chunks);
65 }
66
67 var onend_cb = (err, result) => {
68 assert.equal(err, null);
69 assert.equal(result.toString(), desiredResult);
70 done();
71 }
72
73 var res = {};
74
75 plugin.ondata_response.apply(null, [{}, res, Buffer.alloc(5, 'a'), ondata_cb]);
76 plugin.ondata_response.apply(null, [{}, res, Buffer.alloc(5, 'a'), ondata_cb]);
77 plugin.ondata_response.apply(null, [{}, res, Buffer.alloc(5, 'a'), ondata_cb]);
78
79 plugin.onend_response.apply(null, [{}, res, Buffer.alloc(5, 'a'), onend_cb]);
80 });
81
82 it('will create a res._chunks object on the request object', (done) => {
83 var res = {};
84 var cb = (err, result) => {
85 assert.equal(err, null);
86 assert.equal(result, null);
87 assert.ok(res._chunks);
88 assert.equal(res._chunks.toString(), 'aaaaa');
89 done();
90 }
91
92 plugin.ondata_response.apply(null, [{}, res, Buffer.alloc(5, 'a'), cb]);
93 });
94
95 it('will callback with null if no response body is present in targetResponse', (done) => {
96 var res = {};
97 var cb = (err, result) => {
98 assert.equal(err, null);
99 assert.equal(result, null);
100 done();
101 }
102
103 plugin.onend_response.apply(null, [{}, res, null, cb]);
104
105 });
106
107})