2019-08-27 21:11:49 +00:00
|
|
|
'use strict'
|
2011-08-04 20:32:01 +00:00
|
|
|
|
2019-08-27 21:11:49 +00:00
|
|
|
const { test } = require('tap')
|
|
|
|
const { parseURL } = require('../lib')
|
2011-08-04 20:32:01 +00:00
|
|
|
|
2012-02-18 08:15:52 +00:00
|
|
|
test('parse empty', function (t) {
|
2019-08-27 21:11:49 +00:00
|
|
|
const u = parseURL('ldap:///')
|
|
|
|
t.equal(u.hostname, 'localhost')
|
|
|
|
t.equal(u.port, 389)
|
|
|
|
t.ok(!u.DN)
|
|
|
|
t.ok(!u.attributes)
|
|
|
|
t.equal(u.secure, false)
|
|
|
|
t.end()
|
|
|
|
})
|
2011-08-04 20:32:01 +00:00
|
|
|
|
2012-02-18 08:15:52 +00:00
|
|
|
test('parse hostname', function (t) {
|
2019-08-27 21:11:49 +00:00
|
|
|
const u = parseURL('ldap://example.com/')
|
|
|
|
t.equal(u.hostname, 'example.com')
|
|
|
|
t.equal(u.port, 389)
|
|
|
|
t.ok(!u.DN)
|
|
|
|
t.ok(!u.attributes)
|
|
|
|
t.equal(u.secure, false)
|
|
|
|
t.end()
|
|
|
|
})
|
2011-08-04 20:32:01 +00:00
|
|
|
|
2012-02-18 08:15:52 +00:00
|
|
|
test('parse host and port', function (t) {
|
2019-08-27 21:11:49 +00:00
|
|
|
const u = parseURL('ldap://example.com:1389/')
|
|
|
|
t.equal(u.hostname, 'example.com')
|
|
|
|
t.equal(u.port, 1389)
|
|
|
|
t.ok(!u.DN)
|
|
|
|
t.ok(!u.attributes)
|
|
|
|
t.equal(u.secure, false)
|
|
|
|
t.end()
|
|
|
|
})
|
2011-08-04 20:32:01 +00:00
|
|
|
|
2012-02-18 08:15:52 +00:00
|
|
|
test('parse full', function (t) {
|
2019-08-27 18:17:33 +00:00
|
|
|
const u = parseURL('ldaps://ldap.example.com:1389/dc=example%20,dc=com' +
|
2019-08-27 21:11:49 +00:00
|
|
|
'?cn,sn?sub?(cn=Babs%20Jensen)')
|
|
|
|
|
|
|
|
t.equal(u.secure, true)
|
|
|
|
t.equal(u.hostname, 'ldap.example.com')
|
|
|
|
t.equal(u.port, 1389)
|
|
|
|
t.equal(u.DN, 'dc=example ,dc=com')
|
|
|
|
t.ok(u.attributes)
|
|
|
|
t.equal(u.attributes.length, 2)
|
|
|
|
t.equal(u.attributes[0], 'cn')
|
|
|
|
t.equal(u.attributes[1], 'sn')
|
|
|
|
t.equal(u.scope, 'sub')
|
|
|
|
t.equal(u.filter.toString(), '(cn=Babs Jensen)')
|
|
|
|
|
|
|
|
t.end()
|
|
|
|
})
|
|
|
|
|
|
|
|
test('supports href', function (t) {
|
|
|
|
const u = parseURL('ldaps://ldap.example.com:1389/dc=example%20,dc=com?cn,sn?sub?(cn=Babs%20Jensen)')
|
|
|
|
t.equal(u.href, 'ldaps://ldap.example.com:1389/dc=example%20,dc=com?cn,sn?sub?(cn=Babs%20Jensen)')
|
|
|
|
t.end()
|
|
|
|
})
|