krtp
Version:
Node implementation of rdp protocol. RFC 3550
55 lines (46 loc) • 1.39 kB
text/typescript
/*
* +===============================================
* | Author: Parham Alvani (parham.alvani@gmail.com)
* |
* | Creation Date: 02-06-2017
* |
* | File Name: test.js
* +===============================================
*/
/* eslint-env mocha */
import * as assert from 'assert';
import { range } from 'rxjs';
import { filter } from 'rxjs/operators';
import { Session } from '..';
describe('RTPSession', () => {
test('packet send-recieve serialize-deserialize', done => {
const s = new Session(1373);
s.on('message', (msg) => {
assert.equal(s.sequenceNumber, msg.sequenceNumber + 1);
assert.equal(s.ssrc, msg.ssrc);
assert.equal('Hello world', msg.payload.toString());
s.close();
done();
});
s.send(Buffer.from('Hello world')).catch((err) => {
done(err);
});
})
test('rxjs', done => {
const s = new Session(1372, 72);
const initialSequenceNumber = s.sequenceNumber;
s.message$.pipe(
filter(msg => msg.sequenceNumber === initialSequenceNumber + 9)
).subscribe((msg) => {
assert.equal(72, msg.payloadType);
assert.equal('Hello world of rxjs - 10', msg.payload.toString());
s.close();
done();
});
range(1, 10).subscribe((i: number) => {
s.send(Buffer.from(`Hello world of rxjs - ${i}`)).catch((err) => {
done(err)
})
});
})
})