node-ldapjs/test/controls/paged_results_control.test.js

62 lines
1.4 KiB
JavaScript
Raw Normal View History

'use strict';
const { test } = require('tap');
const { BerReader, BerWriter } = require('asn1');
const { getControl, PagedResultsControl } = require('../../lib');
test('new no args', function (t) {
t.ok(new PagedResultsControl());
t.end();
});
test('new with args', function (t) {
const c = new PagedResultsControl({
type: '1.2.840.113556.1.4.319',
criticality: true,
value: {
size: 1000,
cookie: Buffer.from([1, 2, 3])
}
});
t.ok(c);
t.equal(c.type, '1.2.840.113556.1.4.319');
t.ok(c.criticality);
t.equal(c.value.size, 1000);
t.is(Buffer.compare(c.value.cookie, Buffer.from([1, 2, 3])), 0)
const writer = new BerWriter();
c.toBer(writer);
const reader = new BerReader(writer.buffer);
const psc = getControl(reader);
t.ok(psc);
t.equal(psc.type, '1.2.840.113556.1.4.319');
t.ok(psc.criticality);
t.equal(psc.value.size, 1000);
t.is(Buffer.compare(psc.value.cookie, Buffer.from([1, 2, 3])), 0)
t.end();
});
test('tober', function (t) {
const psc = new PagedResultsControl({
type: '1.2.840.113556.1.4.319',
criticality: true,
value: {
size: 20,
cookie: Buffer.alloc(0)
}
});
const ber = new BerWriter();
psc.toBer(ber);
const c = getControl(new BerReader(ber.buffer));
t.ok(c);
t.equal(c.type, '1.2.840.113556.1.4.319');
t.ok(c.criticality);
t.equal(c.value.size, 20);
t.is(Buffer.compare(c.value.cookie, Buffer.alloc(0)), 0)
t.end();
});