node-ldapjs/test/messages/ext_request.test.js

126 lines
3.2 KiB
JavaScript
Raw Normal View History

'use strict'
2011-08-04 20:32:01 +00:00
const { test } = require('tap')
const { BerReader, BerWriter } = require('asn1')
const { ExtendedRequest } = require('../../lib')
2011-08-04 20:32:01 +00:00
test('new no args', function (t) {
t.ok(new ExtendedRequest())
t.end()
})
2011-08-04 20:32:01 +00:00
test('new with args', function (t) {
const req = new ExtendedRequest({
2011-08-04 20:32:01 +00:00
requestName: '1.2.3.4',
requestValue: 'test'
})
t.ok(req)
t.equal(req.requestName, '1.2.3.4')
t.equal(req.requestValue, 'test')
t.is(Buffer.compare(req.requestValueBuffer, Buffer.from('test', 'utf8')), 0)
t.equal(req.value, 'test')
t.is(Buffer.compare(req.valueBuffer, Buffer.from('test', 'utf8')), 0)
t.end()
})
2019-08-27 12:04:45 +00:00
test('new with buffer args', function (t) {
const req = new ExtendedRequest({
2019-08-27 12:04:45 +00:00
requestName: '1.2.3.4',
requestValue: Buffer.from('test', 'utf8')
})
t.ok(req)
t.equal(req.requestName, '1.2.3.4')
t.equal(req.requestValue, req.requestValueBuffer)
t.is(Buffer.compare(req.requestValueBuffer, Buffer.from('test', 'utf8')), 0)
t.equal(req.value, req.valueBuffer)
t.is(Buffer.compare(req.valueBuffer, Buffer.from('test', 'utf8')), 0)
t.end()
})
2019-08-27 12:04:45 +00:00
test('new no args set args', function (t) {
const req = new ExtendedRequest()
t.ok(req)
2019-08-27 12:04:45 +00:00
req.name = '1.2.3.4'
t.equal(req.requestName, '1.2.3.4')
2019-08-27 12:04:45 +00:00
req.value = 'test'
t.equal(req.requestValue, 'test')
t.is(Buffer.compare(req.requestValueBuffer, Buffer.from('test', 'utf8')), 0)
t.equal(req.value, 'test')
t.is(Buffer.compare(req.valueBuffer, Buffer.from('test', 'utf8')), 0)
2019-08-27 12:04:45 +00:00
t.end()
})
2019-08-27 12:04:45 +00:00
test('new no args set args buffer', function (t) {
const req = new ExtendedRequest()
t.ok(req)
2019-08-27 12:04:45 +00:00
req.name = '1.2.3.4'
t.equal(req.requestName, '1.2.3.4')
2019-08-27 12:04:45 +00:00
req.value = Buffer.from('test', 'utf8')
t.equal(req.requestValue, req.requestValueBuffer)
t.is(Buffer.compare(req.requestValueBuffer, Buffer.from('test', 'utf8')), 0)
t.equal(req.value, req.valueBuffer)
t.is(Buffer.compare(req.valueBuffer, Buffer.from('test', 'utf8')), 0)
2011-08-04 20:32:01 +00:00
t.end()
})
2011-08-04 20:32:01 +00:00
test('parse', function (t) {
const ber = new BerWriter()
ber.writeString('1.2.3.4', 0x80)
ber.writeString('test', 0x81)
const req = new ExtendedRequest()
t.ok(req._parse(new BerReader(ber.buffer)))
t.equal(req.requestName, '1.2.3.4')
t.equal(req.requestValue, 'test')
t.is(Buffer.compare(req.requestValueBuffer, Buffer.from('test', 'utf8')), 0)
t.equal(req.value, 'test')
t.is(Buffer.compare(req.valueBuffer, Buffer.from('test', 'utf8')), 0)
t.end()
})
2011-08-04 20:32:01 +00:00
test('toBer', function (t) {
const req = new ExtendedRequest({
2011-08-04 20:32:01 +00:00
messageID: 123,
requestName: '1.2.3.4',
requestValue: 'test'
})
2011-08-04 20:32:01 +00:00
t.ok(req)
2011-08-04 20:32:01 +00:00
const ber = new BerReader(req.toBer())
t.ok(ber)
t.equal(ber.readSequence(), 0x30)
t.equal(ber.readInt(), 123)
t.equal(ber.readSequence(), 0x77)
t.equal(ber.readString(0x80), '1.2.3.4')
t.equal(ber.readString(0x81), 'test')
2019-08-27 12:04:45 +00:00
t.end()
})
2019-08-27 12:04:45 +00:00
test('toBer from buffer', function (t) {
const req = new ExtendedRequest({
2019-08-27 12:04:45 +00:00
messageID: 123,
requestName: '1.2.3.4',
requestValue: Buffer.from('test', 'utf8')
})
2019-08-27 12:04:45 +00:00
t.ok(req)
2019-08-27 12:04:45 +00:00
const ber = new BerReader(req.toBer())
t.ok(ber)
t.equal(ber.readSequence(), 0x30)
t.equal(ber.readInt(), 123)
t.equal(ber.readSequence(), 0x77)
t.equal(ber.readString(0x80), '1.2.3.4')
t.equal(ber.readString(0x81), 'test')
2019-08-27 12:04:45 +00:00
t.end()
})