From ecfb575e556bc5b6efcbe4751468c223cc901938 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Oudot?= Date: Fri, 19 May 2017 12:52:53 +0000 Subject: [PATCH] Add TESTBACKEND LDAP in Makefile (#1118) --- Makefile | 21 ++++++++++ e2e-tests/lemonldap-ng-ldap.ini | 42 +++++++++++++++++++ .../t/testslapd/confs-sessions.ldif | 17 ++++++++ lemonldap-ng-portal/t/testslapd/users.ldif | 5 --- 4 files changed, 80 insertions(+), 5 deletions(-) create mode 100644 e2e-tests/lemonldap-ng-ldap.ini create mode 100644 lemonldap-ng-portal/t/testslapd/confs-sessions.ldif diff --git a/Makefile b/Makefile index 6c6413e5d..c5e0ae0bc 100644 --- a/Makefile +++ b/Makefile @@ -114,6 +114,11 @@ VHOSTLISTEN="*:$(PORT)" TESTWEBSERVER=apache TESTWEBSERVERPORT=19876 +# LDAP backend test +LLNGTESTLDAP_SLAPD_BIN:=/usr/sbin/slapd +LLNGTESTLDAP_SLAPADD_BIN:=/usr/sbin/slapdadd +LLNGTESTLDAP_SCHEMA_DIR:=/etc/slapd/schema + # Other SRCCOMMONDIR=lemonldap-ng-common SRCHANDLERDIR=lemonldap-ng-handler @@ -423,6 +428,21 @@ start_web_server: all prepare_test_server lemonldap-ng-common/scripts/lemonldap-ng-cli --yes 1 \ addKey globalStorageOptions DataSource 'dbi:SQLite:dbname='`pwd`'/e2e-tests/conf/sessions.db'; \ fi + @if test "$(TESTBACKEND)" = "LDAP"; then \ + cp lemonldap-ng-portal/t/testslapd/slapd.ldif e2e-tests/conf/; \ + mkdir e2e-tests/conf/slapd.d; \ + mkdir e2e-tests/conf/data; \ + sed -i 's:__SCHEMA_DIR__:${LLNGTESTLDAP_SCHEMA_DIR}:' e2e-tests/conf/slapd.ldif; \ + sed -i 's|olcDbDirectory.*|olcDbDirectory: e2e-tests/conf/data|' e2e-tests/conf/slapd.ldif; \ + sed -i 's|olcPidFile.*|olcPidFile: e2e-tests/conf/slapd.pid|' e2e-tests/conf/slapd.ldif; \ + ${LLNGTESTLDAP_SLAPADD_BIN} -F e2e-tests/conf/slapd.d -n 0 -l e2e-tests/conf/slapd.ldif; \ + ${LLNGTESTLDAP_SLAPADD_BIN} -F e2e-tests/conf/slapd.d -n 1 -l lemonldap-ng-portal/t/testslapd/confs-sessions.ldif; \ + ${LLNGTESTLDAP_SLAPD_BIN} -s 256 -h "ldap://127.0.0.1:20389/" -F e2e-tests/conf/slapd.d; \ + perl -Ilemonldap-ng-common/blib/lib ./lemonldap-ng-common/scripts/convertConfig \ + --current=e2e-tests/conf/lemonldap-ng.ini \ + --new=e2e-tests/conf/lemonldap-ng-ldap.ini; \ + mv e2e-tests/conf/lemonldap-ng-ldap.ini e2e-tests/conf/lemonldap-ng.ini; \ + fi -@[ -e e2e-tests/conf/apache2.pid ] && kill `cat e2e-tests/conf/apache2.pid` || true -@[ -e e2e-tests/conf/nginx.pid ] && kill `cat e2e-tests/conf/nginx.pid` || true -@[ -e e2e-tests/conf/llng-fastcgi.pid ] && kill `cat e2e-tests/conf/llng-fastcgi.pid` && rm -f e2e-tests/conf/llng-fastcgi.pid || true @@ -471,6 +491,7 @@ stop_web_server: -@[ -e e2e-tests/conf/apache2.pid ] && kill `cat e2e-tests/conf/apache2.pid` || true -@[ -e e2e-tests/conf/nginx.pid ] && kill `cat e2e-tests/conf/nginx.pid` ||true -@[ -e e2e-tests/conf/llng-fastcgi.pid ] && kill `cat e2e-tests/conf/llng-fastcgi.pid` && rm -f e2e-tests/conf/llng-fastcgi.pid || true + -@[ -e e2e-tests/conf/slapd.pid ] && kill `cat e2e-tests/conf/slapd.pid` || true # Clean @rm -rf e2e-tests/conf diff --git a/e2e-tests/lemonldap-ng-ldap.ini b/e2e-tests/lemonldap-ng-ldap.ini new file mode 100644 index 000000000..70de9690c --- /dev/null +++ b/e2e-tests/lemonldap-ng-ldap.ini @@ -0,0 +1,42 @@ +[all] + +logLevel = debug + +;globalStorage = Apache::Session::SQLite3 +;globalStorageOptions = { DataSource => 'dbi:SQLite:dbname=__pwd__/e2e-tests/conf/sessions.db' } + +[configuration] + +type = LDAP +ldapServer = ldap://localhost:20389 +ldapConfBase = ou=configurations,dc=example,dc=com +ldapBindDN = cn=admin,dc=example,dc=com +ldapBindPassword = admin + +[portal] + +notification = 0 +checkXSS = 0 +portalSkin = bootstrap +staticPrefix = /static +languages = fr, en, vi, it +templateDir = __pwd__/lemonldap-ng-portal/site/templates +;u2fActivation = 1 +;u2fSelfRegistration = 1 + +[handler] + +https = 0 +status = 1 +useRedirectOnError = 0 + +[manager] + +protection = manager +staticPrefix = /static +languages = fr, en, vi +templateDir = __pwd__/lemonldap-ng-manager/site/templates + +[node-handler] + +nodeVhosts = test2.example.com diff --git a/lemonldap-ng-portal/t/testslapd/confs-sessions.ldif b/lemonldap-ng-portal/t/testslapd/confs-sessions.ldif new file mode 100644 index 000000000..3963a2925 --- /dev/null +++ b/lemonldap-ng-portal/t/testslapd/confs-sessions.ldif @@ -0,0 +1,17 @@ +dn: dc=example,dc=com +objectClass: top +objectClass: organization +objectClass: dcObject +dc: example +o: Example + +dn: ou=sessions,dc=example,dc=com +objectClass: top +objectClass: organizationalUnit +ou: sessions + +dn: ou=configurations,dc=example,dc=com +objectClass: top +objectClass: organizationalUnit +ou: configurations + diff --git a/lemonldap-ng-portal/t/testslapd/users.ldif b/lemonldap-ng-portal/t/testslapd/users.ldif index 5076bf0a8..c21813017 100644 --- a/lemonldap-ng-portal/t/testslapd/users.ldif +++ b/lemonldap-ng-portal/t/testslapd/users.ldif @@ -5,11 +5,6 @@ objectClass: dcObject dc: example o: Example -dn: ou=sessions,dc=example,dc=com -objectClass: top -objectClass: organizationalUnit -ou: sessions - dn: ou=users,dc=example,dc=com objectClass: top objectClass: organizationalUnit