UNPKG

@tvkitchen/appliance-video-http-receiver

Version:

Converts a video url into MPEG-TS Payloads.

41 lines (37 loc) 1.69 kB
"use strict"; var _nock = _interopRequireDefault(require("nock")); var _VideoHttpReceiverAppliance = require("../VideoHttpReceiverAppliance"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } describe('VideoHttpReceiverAppliance #unit', () => { describe('constructor', () => { it('should throw an error when called without a URL', () => { expect(() => new _VideoHttpReceiverAppliance.VideoHttpReceiverAppliance()).toThrow(Error); }); }); describe('getInputStream', () => { it('it should stream the client request body', () => { const base = 'http://example.com'; const file = '/test.ts'; const body = 'it worked!'; (0, _nock.default)(base).get(file).reply(200, body); const receiverAppliance = new _VideoHttpReceiverAppliance.VideoHttpReceiverAppliance({ url: `${base}${file}` }); const inputStream = receiverAppliance.getInputStream(); return expect(new Promise(resolve => inputStream.on('data', resolve))).resolves.toEqual(Buffer.from(body)); }); it('it should pass on errors correctly', () => { const base = 'http://example.com'; const file = '/error-test.ts'; const message = 'it didn\'t work!'; (0, _nock.default)(base).get(file).replyWithError({ message }); const receiverAppliance = new _VideoHttpReceiverAppliance.VideoHttpReceiverAppliance({ url: `${base}${file}` }); const inputStream = receiverAppliance.getInputStream(); return expect(new Promise((resolve, reject) => inputStream.on('error', reject))).rejects.toHaveProperty('name', 'FetchError'); }); }); });