summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Fitzsimmons <fitzsim@fitzsim.org>2022-11-19 02:05:36 -0500
committerThomas Fitzsimmons <fitzsim@fitzsim.org>2022-11-19 02:05:36 -0500
commita6ae13af42ede6618c326855ea4c95e0298fb75b (patch)
tree93062ab817fd1866684c7b9ac9c74ced19baa753
parentb18d4dbe0d64bd1277731f9a7faedbb4dd3cd197 (diff)
downloademacs-a6ae13af42ede6618c326855ea4c95e0298fb75b.tar.gz
EUDC: Add LDAP tests
* test/lisp/net/eudc-resources/slapd.conf: New file. * test/lisp/net/eudc-resources/dc=gnu,dc=org.ldif: Likewise. * test/lisp/net/eudc-resources/dc=gnu,dc=org: New files. * test/lisp/net/eudc-tests.el (eudcb-ldap): New test.
-rw-r--r--test/lisp/net/eudc-resources/dc=gnu,dc=org.ldif15
-rw-r--r--test/lisp/net/eudc-resources/dc=gnu,dc=org/cn=emacs-ert-test-1.ldif17
-rw-r--r--test/lisp/net/eudc-resources/dc=gnu,dc=org/cn=emacs-ert-test-2.ldif17
-rw-r--r--test/lisp/net/eudc-resources/slapd.conf7
-rw-r--r--test/lisp/net/eudc-tests.el22
5 files changed, 78 insertions, 0 deletions
diff --git a/test/lisp/net/eudc-resources/dc=gnu,dc=org.ldif b/test/lisp/net/eudc-resources/dc=gnu,dc=org.ldif
new file mode 100644
index 00000000000..9db4be20280
--- /dev/null
+++ b/test/lisp/net/eudc-resources/dc=gnu,dc=org.ldif
@@ -0,0 +1,15 @@
+# AUTO-GENERATED FILE - DO NOT EDIT!! Use ldapmodify.
+# CRC32 12f0e8c3
+dn: dc=gnu
+objectClass: dcObject
+objectClass: organization
+dc: gnu
+o: The ldap.gnu.org organization
+description: An organization for the following person
+structuralObjectClass: organization
+entryUUID: 43dd74ec-fc0d-103c-8d5c-7dbac5615d14
+creatorsName:
+createTimestamp: 20221119042038Z
+entryCSN: 20221119042038.100000Z#000000#000#000000
+modifiersName:
+modifyTimestamp: 20221119042038Z
diff --git a/test/lisp/net/eudc-resources/dc=gnu,dc=org/cn=emacs-ert-test-1.ldif b/test/lisp/net/eudc-resources/dc=gnu,dc=org/cn=emacs-ert-test-1.ldif
new file mode 100644
index 00000000000..7828f179df2
--- /dev/null
+++ b/test/lisp/net/eudc-resources/dc=gnu,dc=org/cn=emacs-ert-test-1.ldif
@@ -0,0 +1,17 @@
+# AUTO-GENERATED FILE - DO NOT EDIT!! Use ldapmodify.
+# CRC32 a33c0168
+dn: cn=emacs-ert-test-1
+objectClass: OpenLDAPperson
+cn: emacs-ert-test-1
+description:: RW1hY3Mg
+uid: 1
+sn: ERT1
+givenName: Emacs
+mail: emacs-ert-test-1@ldap.gnu.org
+structuralObjectClass: OpenLDAPperson
+entryUUID: 43dd805e-fc0d-103c-8d5d-7dbac5615d14
+creatorsName:
+createTimestamp: 20221119042038Z
+entryCSN: 20221119042038.100350Z#000000#000#000000
+modifiersName:
+modifyTimestamp: 20221119042038Z
diff --git a/test/lisp/net/eudc-resources/dc=gnu,dc=org/cn=emacs-ert-test-2.ldif b/test/lisp/net/eudc-resources/dc=gnu,dc=org/cn=emacs-ert-test-2.ldif
new file mode 100644
index 00000000000..d3de3d81c71
--- /dev/null
+++ b/test/lisp/net/eudc-resources/dc=gnu,dc=org/cn=emacs-ert-test-2.ldif
@@ -0,0 +1,17 @@
+# AUTO-GENERATED FILE - DO NOT EDIT!! Use ldapmodify.
+# CRC32 56119237
+dn: cn=emacs-ert-test-2
+objectClass: OpenLDAPperson
+cn: emacs-ert-test-2
+description:: RW1hY3Mg
+uid: 2
+sn: ERT2
+givenName: Emacs
+mail: emacs-ert-test-2@ldap.gnu.org
+structuralObjectClass: OpenLDAPperson
+entryUUID: 43dd92b0-fc0d-103c-8d5e-7dbac5615d14
+creatorsName:
+createTimestamp: 20221119042038Z
+entryCSN: 20221119042038.100819Z#000000#000#000000
+modifiersName:
+modifyTimestamp: 20221119042038Z
diff --git a/test/lisp/net/eudc-resources/slapd.conf b/test/lisp/net/eudc-resources/slapd.conf
new file mode 100644
index 00000000000..9afafe76764
--- /dev/null
+++ b/test/lisp/net/eudc-resources/slapd.conf
@@ -0,0 +1,7 @@
+include /etc/ldap/schema/core.schema
+include /etc/ldap/schema/cosine.schema
+include /etc/ldap/schema/inetorgperson.schema
+include /etc/ldap/schema/openldap.schema
+database ldif
+directory eudc-resources
+suffix "dc=gnu,dc=org"
diff --git a/test/lisp/net/eudc-tests.el b/test/lisp/net/eudc-tests.el
index c326dcc793f..59dce55b820 100644
--- a/test/lisp/net/eudc-tests.el
+++ b/test/lisp/net/eudc-tests.el
@@ -267,5 +267,27 @@
'(((email . "Lars Ingebrigtsen <larsi@mail-abbrev.com>, \
Karl Fogel <kfogel@mail-abbrev.com")))))))))
+(require 'ldap)
+(ert-deftest eudcb-ldap ()
+ "Test the LDAP back-end."
+ (when (and (file-exists-p "/usr/sbin/slapd")
+ (file-exists-p "/usr/bin/ldapsearch"))
+ (cd (concat (ert-resource-directory) ".."))
+ (let ((ldap-process
+ (start-process "slapd" "*slapd*" "/usr/sbin/slapd"
+ "-h" "ldap://127.0.0.1:3899" "-d" "0" "-4"
+ "-f" (ert-resource-file "slapd.conf")))
+ (ldap-host-parameters-alist '(("ldap://localhost:3899"
+ base "dc=gnu,dc=org" auth simple)))
+ (eudc-server-hotlist '(("ldap://localhost:3899" . ldap)))
+ (eudc-ignore-options-file t))
+ (sleep-for 1) ; Wait for slapd to start.
+ (should (equal (with-temp-buffer
+ (insert "emacs-ert-test-1")
+ (eudc-expand-try-all)
+ (buffer-string))
+ "Emacs ERT1 <emacs-ert-test-1@ldap.gnu.org>"))
+ (kill-process ldap-process))))
+
(provide 'eudc-tests)
;;; eudc-tests.el ends here