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

50 lines
1.0 KiB
JavaScript

'use strict'
const { test } = require('tap')
const { Parser, LDAPMessage, LDAP_REQ_EXTENSION } = require('../../lib')
test('wrong protocol error', function (t) {
const p = new Parser()
p.once('error', function (err) {
t.ok(err)
t.end()
})
// Send some bogus data to incur an error
p.write(Buffer.from([16, 1, 4]))
})
test('bad protocol op', function (t) {
const p = new Parser()
const message = new LDAPMessage({
protocolOp: 254 // bogus (at least today)
})
p.once('error', function (err) {
t.ok(err)
t.ok(/not supported$/.test(err.message))
t.end()
})
p.write(message.toBer())
})
test('bad message structure', function (t) {
const p = new Parser()
// message with bogus structure
const message = new LDAPMessage({
protocolOp: LDAP_REQ_EXTENSION
})
message._toBer = function (writer) {
writer.writeBuffer(Buffer.from([16, 1, 4]), 80)
return writer
}
p.once('error', function (err) {
t.ok(err)
t.end()
})
p.write(message.toBer())
})