0
0
mirror of https://github.com/nodejs/node.git synced 2024-12-01 16:10:02 +01:00
nodejs/test/parallel/test-http2-byteswritten-server.js
Pranshu Srivastava 1aa491a88f
http2: add bytesWritten test for Http2Stream
note that this is for the `Http2Server` class. I'll soon be
adding one for `Http2SecureServer` as well.

Refs: https://github.com/nodejs/node/issues/29829

PR-URL: https://github.com/nodejs/node/pull/33162
Reviewed-By: James M Snell <jasnell@gmail.com>
2020-05-09 08:00:25 +02:00

29 lines
884 B
JavaScript

'use strict';
const common = require('../common');
if (!common.hasCrypto)
common.skip('missing crypto');
const assert = require('assert');
const http2 = require('http2');
const http2Server = http2.createServer(common.mustCall(function(req, res) {
res.socket.on('finish', common.mustCall(() => {
assert(req.socket.bytesWritten > 0); // 1094
}));
res.writeHead(200, { 'Content-Type': 'text/plain' });
res.write(Buffer.from('1'.repeat(1024)));
res.end();
}));
http2Server.listen(0, common.mustCall(function() {
const URL = `http://localhost:${http2Server.address().port}`;
const http2client = http2.connect(URL, { protocol: 'http:' });
const req = http2client.request({ ':method': 'GET', ':path': '/' });
req.on('data', common.mustCall());
req.on('end', common.mustCall(function() {
http2client.close();
http2Server.close();
}));
req.end();
}));