Skip to content

Commit

Permalink
test: consolidate http2 tests in one file
Browse files Browse the repository at this point in the history
PR-URL: nodejs#15624
Refs: nodejs#14985
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
  • Loading branch information
trivikr committed Oct 16, 2017
1 parent 415821c commit fadf481
Show file tree
Hide file tree
Showing 9 changed files with 48 additions and 310 deletions.
40 changes: 0 additions & 40 deletions test/parallel/test-http2-server-destroy-before-additional.js

This file was deleted.

41 changes: 0 additions & 41 deletions test/parallel/test-http2-server-destroy-before-priority.js

This file was deleted.

40 changes: 0 additions & 40 deletions test/parallel/test-http2-server-destroy-before-push.js

This file was deleted.

40 changes: 0 additions & 40 deletions test/parallel/test-http2-server-destroy-before-respond.js

This file was deleted.

41 changes: 0 additions & 41 deletions test/parallel/test-http2-server-destroy-before-rst.js

This file was deleted.

31 changes: 0 additions & 31 deletions test/parallel/test-http2-server-destroy-before-shutdown.js

This file was deleted.

37 changes: 0 additions & 37 deletions test/parallel/test-http2-server-destroy-before-state.js

This file was deleted.

40 changes: 0 additions & 40 deletions test/parallel/test-http2-server-destroy-before-write.js

This file was deleted.

48 changes: 48 additions & 0 deletions test/parallel/test-http2-server-stream-session-destroy.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
// Flags: --expose-http2
'use strict';

const common = require('../common');
if (!common.hasCrypto)
common.skip('missing crypto');
const assert = require('assert');
const h2 = require('http2');

const server = h2.createServer();

server.on(
'stream',
common.mustCall((stream) => {
const errorObj = {
type: Error,
code: 'ERR_HTTP2_INVALID_STREAM',
message: 'The stream has been destroyed'
};
stream.session.destroy();

// Test that stream.state getter returns an empty object
// when the stream session has been destroyed
assert.deepStrictEqual(Object.create(null), stream.state);

// Test that ERR_HTTP2_INVALID_STREAM is thrown while calling
// stream operations after the stream session has been destroyed
common.expectsError(() => stream.additionalHeaders(), errorObj);
common.expectsError(() => stream.priority(), errorObj);
common.expectsError(
() => stream.pushStream({}, common.mustNotCall()),
errorObj
);
common.expectsError(() => stream.respond(), errorObj);
common.expectsError(() => stream.rstStream(), errorObj);
common.expectsError(() => stream.write('data'), errorObj);
})
);

server.listen(
0,
common.mustCall(() => {
const client = h2.connect(`http://localhost:${server.address().port}`);
const req = client.request();
req.resume();
req.on('end', common.mustCall(() => server.close()));
})
);

0 comments on commit fadf481

Please sign in to comment.