@platform/http
Version:
Tools for working with HTTP.
71 lines (70 loc) • 2.68 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1 = require("tslib");
var test_1 = require("../test");
var _1 = require(".");
var net = tslib_1.__importStar(require("net"));
describe('node: Port', function () {
it('isUsed', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
var PORT, _a, server, _b, _c;
return tslib_1.__generator(this, function (_d) {
switch (_d.label) {
case 0:
PORT = 6050;
_a = test_1.expect;
return [4, _1.Port.isUsed(PORT)];
case 1:
_a.apply(void 0, [_d.sent()]).to.eql(false);
return [4, testServer(PORT)];
case 2:
server = _d.sent();
_b = test_1.expect;
return [4, _1.Port.isUsed(PORT)];
case 3:
_b.apply(void 0, [_d.sent()]).to.eql(true);
server.close();
_c = test_1.expect;
return [4, _1.Port.isUsed(PORT)];
case 4:
_c.apply(void 0, [_d.sent()]).to.eql(false);
return [2];
}
});
}); });
it('unused', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
var PORT, _a, server, _b, _c;
return tslib_1.__generator(this, function (_d) {
switch (_d.label) {
case 0:
PORT = 6050;
_a = test_1.expect;
return [4, _1.Port.unused(PORT)];
case 1:
_a.apply(void 0, [_d.sent()]).to.eql(PORT);
return [4, testServer(PORT)];
case 2:
server = _d.sent();
_b = test_1.expect;
return [4, _1.Port.unused(PORT)];
case 3:
_b.apply(void 0, [_d.sent()]).to.not.eql(PORT);
server.close();
_c = test_1.expect;
return [4, _1.Port.unused(PORT)];
case 4:
_c.apply(void 0, [_d.sent()]).to.eql(PORT);
return [2];
}
});
}); });
});
var testServer = function (port) {
return new Promise(function (resolve) {
var server = net.createServer(function (socket) {
socket.write('echo\r\n');
socket.pipe(socket);
});
server.listen(port);
server.on('listening', function () { return resolve(server); });
});
};