url.test.js 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. 'use strict'
  2. const { test } = require('tap')
  3. const { parseURL } = require('../lib')
  4. test('parse empty', function (t) {
  5. const u = parseURL('ldap:///')
  6. t.equal(u.hostname, 'localhost')
  7. t.equal(u.port, 389)
  8. t.ok(!u.DN)
  9. t.ok(!u.attributes)
  10. t.equal(u.secure, false)
  11. t.end()
  12. })
  13. test('parse hostname', function (t) {
  14. const u = parseURL('ldap://example.com/')
  15. t.equal(u.hostname, 'example.com')
  16. t.equal(u.port, 389)
  17. t.ok(!u.DN)
  18. t.ok(!u.attributes)
  19. t.equal(u.secure, false)
  20. t.end()
  21. })
  22. test('parse host and port', function (t) {
  23. const u = parseURL('ldap://example.com:1389/')
  24. t.equal(u.hostname, 'example.com')
  25. t.equal(u.port, 1389)
  26. t.ok(!u.DN)
  27. t.ok(!u.attributes)
  28. t.equal(u.secure, false)
  29. t.end()
  30. })
  31. test('parse full', function (t) {
  32. const u = parseURL('ldaps://ldap.example.com:1389/dc=example%20,dc=com' +
  33. '?cn,sn?sub?(cn=Babs%20Jensen)')
  34. t.equal(u.secure, true)
  35. t.equal(u.hostname, 'ldap.example.com')
  36. t.equal(u.port, 1389)
  37. t.equal(u.DN, 'dc=example ,dc=com')
  38. t.ok(u.attributes)
  39. t.equal(u.attributes.length, 2)
  40. t.equal(u.attributes[0], 'cn')
  41. t.equal(u.attributes[1], 'sn')
  42. t.equal(u.scope, 'sub')
  43. t.equal(u.filter.toString(), '(cn=Babs Jensen)')
  44. t.end()
  45. })
  46. test('supports href', function (t) {
  47. const u = parseURL('ldaps://ldap.example.com:1389/dc=example%20,dc=com?cn,sn?sub?(cn=Babs%20Jensen)')
  48. t.equal(u.href, 'ldaps://ldap.example.com:1389/dc=example%20,dc=com?cn,sn?sub?(cn=Babs%20Jensen)')
  49. t.end()
  50. })