'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()) })