11 Commits
13 changed files with 68 additions and 44 deletions

No files matched your search

+18 -8
View File
@@ -6,19 +6,17 @@ status () {
echo "---> ${@}" >&2 echo "---> ${@}" >&2
} }
set -x set -x
: LDAP_ADMIN_PWD=${LDAP_ADMIN_PWD} : LDAP_ADMIN_PWD=${LDAP_ADMIN_PWD}
: LDAP_DOMAIN=${LDAP_DOMAIN} : LDAP_DOMAIN=${LDAP_DOMAIN}
: LDAP_ORGANISATION=${LDAP_ORGANISATION} : LDAP_ORGANISATION=${LDAP_ORGANISATION}
############ Base config ############
if [ ! -e /var/lib/ldap/docker_bootstrapped ]; then if [ ! -e /var/lib/ldap/docker_bootstrapped ]; then
status "configuring slapd for first run" status "configuring slapd database"
# permission error on /etc/ldap/slapd.conf if not set?! :'(
adduser openldap root
############ Base config ############
cat <<EOF | debconf-set-selections cat <<EOF | debconf-set-selections
slapd slapd/internal/generated_adminpw password ${LDAP_ADMIN_PWD} slapd slapd/internal/generated_adminpw password ${LDAP_ADMIN_PWD}
slapd slapd/internal/adminpw password ${LDAP_ADMIN_PWD} slapd slapd/internal/adminpw password ${LDAP_ADMIN_PWD}
@@ -37,8 +35,20 @@ EOF
dpkg-reconfigure -f noninteractive slapd dpkg-reconfigure -f noninteractive slapd
touch /var/lib/ldap/docker_bootstrapped
else
status "slapd database found"
fi
############ Custom config ############
if [ ! -e /etc/ldap/config/docker_bootstrapped ]; then
status "Custom config"
# permission error on /etc/ldap/slapd.conf if not set?! :'(
adduser openldap root
############ Custom config ############
slapd -h "ldap:/// ldapi:///" -u openldap -g openldap slapd -h "ldap:/// ldapi:///" -u openldap -g openldap
chown -R openldap:openldap /etc/ldap chown -R openldap:openldap /etc/ldap
@@ -60,7 +70,7 @@ EOF
fi fi
# Replication # Replication
# todo # todo :)
# Other config files # Other config files
for f in $(find /etc/ldap/config -maxdepth 1 -name \*.ldif -type f); do for f in $(find /etc/ldap/config -maxdepth 1 -name \*.ldif -type f); do
@@ -70,7 +80,7 @@ EOF
kill -INT `cat /run/slapd/slapd.pid` kill -INT `cat /run/slapd/slapd.pid`
touch /var/lib/ldap/docker_bootstrapped touch /etc/ldap/config/docker_bootstrapped
else else
status "found already-configured slapd" status "found already-configured slapd"
+12 -5
View File
@@ -1,6 +1,10 @@
#!/bin/sh #!/bin/sh
# Tests # Usage
# sudo ./test.sh
# add -v for verbose mode
verbose=$1
error=0 error=0
ok=0 ok=0
@@ -24,8 +28,11 @@ run_test () {
echo_start $fction echo_start $fction
#./test/$1.sh | tee $out 2>&1 if [ -z ${verbose} ]; then
./test/$1.sh > $out 2>&1 ./test/$1.sh > $out 2>&1
else
./test/$1.sh | tee $out 2>&1
fi
if [ "$(grep -c "$2" $out)" -eq 0 ]; then if [ "$(grep -c "$2" $out)" -eq 0 ]; then
echo_error $fction echo_error $fction
@@ -37,11 +44,11 @@ run_test () {
} }
./test/tools/prepare.sh ./test/tools/prepare.sh > /dev/null 2>&1
run_test build "Successfully built" run_test build "Successfully built"
run_test run-simple "dn: dc=example,dc=com" run_test run-simple "dn: dc=example,dc=com"
run_test run-tls "dn: dc=example,dc=com" run_test run-tls "dn: dc=example,dc=com"
./test/tools/end.sh ./test/tools/end.sh > /dev/null 2>&1
echo "------- Test finished -------" echo "------- Test finished -------"
echo $error " failed " $ok " passed" echo $error " failed " $ok " passed"
+5 -1
View File
@@ -1,4 +1,8 @@
#!/bin/sh #!/bin/sh
sudo docker.io build -t openldap-test .
dir=$(dirname $0)
. $dir/tools/config.prop
sudo docker.io build -t $openldapTestImage .
#sudo docker.io build --no-cache=true -t openldap-test . #sudo docker.io build --no-cache=true -t openldap-test .
-11
View File
@@ -1,11 +0,0 @@
#!/bin/sh
# remove openldap test containers
sudo docker.io ps -a > testcontainers.out
if [ "$(grep -c "openldap-test-container" ./testcontainers.out)" -ne 0 ]; then
sudo docker.io stop openldap-test-container
sudo docker.io rm openldap-test-container
fi
rm testcontainers.out
-3
View File
@@ -1,3 +0,0 @@
#!/bin/sh
./test/delete-container.sh
-3
View File
@@ -1,3 +0,0 @@
#!/bin/sh
./test/delete-container.sh
+5 -2
View File
@@ -1,7 +1,10 @@
#!/bin/sh #!/bin/sh
docker.io run --name openldap-test-container -p 65389:389 -d openldap-test dir=$(dirname $0)
. $dir/tools/config.prop
docker.io run --name $openldapTestContainer -p 65389:389 -d $openldapTestImage
sleep 5 sleep 5
ldapsearch -x -h localhost -p 65389 -b dc=example,dc=com ldapsearch -x -h localhost -p 65389 -b dc=example,dc=com
$(pwd)/test/tools/delete-container.sh $dir/tools/delete-container.sh
+6 -3
View File
@@ -1,8 +1,11 @@
#!/bin/sh #!/bin/sh
docker.io run --name openldap-test-container --dns=127.0.0.1 -v `pwd`/test/ssl:/etc/ldap/ssl -p 65389:389 -d openldap-test dir=$(dirname $0)
. $dir/tools/config.prop
cert=$(echo `pwd`/test/ssl/ldap.crt) docker.io run --name $openldapTestContainer --dns=127.0.0.1 -v `pwd`/test/ssl:/etc/ldap/ssl -p 65389:389 -d $openldapTestImage
cert=$(echo $dir/ssl/ldap.crt)
certCN=$(openssl x509 -in $cert -subject -noout | sed -n 's/.*CN=\(.*\)\/*\(.*\)/\1/p') certCN=$(openssl x509 -in $cert -subject -noout | sed -n 's/.*CN=\(.*\)\/*\(.*\)/\1/p')
addLine=$(echo "127.0.0.1" $certCN) addLine=$(echo "127.0.0.1" $certCN)
@@ -18,4 +21,4 @@ sed -i '/'"$addLine"'/d' /etc/hosts
cp /etc/ldap/ldap.conf.old /etc/ldap/ldap.conf cp /etc/ldap/ldap.conf.old /etc/ldap/ldap.conf
rm /etc/ldap/ldap.conf.old rm /etc/ldap/ldap.conf.old
$(pwd)/test/tools/delete-container.sh $dir/tools/delete-container.sh
+2
View File
@@ -0,0 +1,2 @@
openldapTestImage=openldap-test
openldapTestContainer=openldap-test-container
+6 -6
View File
@@ -1,11 +1,11 @@
#!/bin/sh #!/bin/sh
. $(dirname $0)/config.prop
# remove openldap test container # remove openldap test container
sudo docker.io ps -a > testcontainer.out res=$(docker.io ps -a | grep -c "$openldapTestContainer")
if [ "$(grep -c "openldap-test-container" ./testcontainer.out)" -ne 0 ]; then if [ $res -ne 0 ]; then
sudo docker.io stop openldap-test-container docker.io stop openldap-test-container
sudo docker.io rm openldap-test-container docker.io rm openldap-test-container
fi fi
rm testcontainer.out
+10
View File
@@ -0,0 +1,10 @@
#!/bin/sh
. $(dirname $0)/config.prop
# remove openldap test image
res=$(docker.io images | grep -c "$openldapTestImage")
if [ $res -ne 0 ]; then
docker.io rmi openldap-test
fi
+2 -1
View File
@@ -1,3 +1,4 @@
#!/bin/sh #!/bin/sh
./test/tools/delete-container.sh $(dirname $0)/delete-container.sh
$(dirname $0)/delete-image.sh
+2 -1
View File
@@ -1,3 +1,4 @@
#!/bin/sh #!/bin/sh
./test/tools/delete-container.sh $(dirname $0)/delete-container.sh
$(dirname $0)/delete-image.sh