diff --git a/Dockerfile b/Dockerfile index 2322634..d78feb3 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM osixia/baseimage:0.4.0 +FROM osixia/baseimage:0.5.0 MAINTAINER Bertrand Gouny # From Nick Stenning's work diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..1db2a6c --- /dev/null +++ b/Makefile @@ -0,0 +1,21 @@ +NAME = osixia/openldap +VERSION = 0.8.0 + +.PHONY: all build test tag_latest release + +all: build + +build: + docker.io build -t $(NAME):$(VERSION) --rm . + +test: + env NAME=$(NAME) VERSION=$(VERSION) ./test.sh + +tag_latest: + docker.io tag $(NAME):$(VERSION) $(NAME):latest + +release: build test tag_latest + @if ! docker.io images $(NAME) | awk '{ print $$2 }' | grep -q -F $(VERSION); then echo "$(NAME) version $(VERSION) is not yet built. Please run 'make build'"; false; fi + docker.io push $(NAME) + @echo "*** Don't forget to run 'twgit release finish' :)" + diff --git a/test-repository.sh b/test-repository.sh new file mode 100755 index 0000000..5d31116 --- /dev/null +++ b/test-repository.sh @@ -0,0 +1,15 @@ +#!/bin/sh + +# Usage +# sudo ./test.sh +# add -v for verbose mode (or type whatever you like !) :p + +. test/config-repository +. test/tools/run.sh + +run_test simple.sh "dn: dc=example,dc=com" +run_test tls.sh "dn: dc=example,dc=com" +run_test db.sh "dn: dc=otherdomain,dc=com" + +. test/tools/end.sh + diff --git a/test.sh b/test.sh index bff84aa..4daa2d3 100755 --- a/test.sh +++ b/test.sh @@ -4,6 +4,7 @@ # sudo ./test.sh # add -v for verbose mode (or type whatever you like !) :p +. test/config . test/tools/run.sh run_test tools/build-container.sh "Successfully built" diff --git a/test/tools/config.prop b/test/config old mode 100644 new mode 100755 similarity index 64% rename from test/tools/config.prop rename to test/config index fd412f9..9199745 --- a/test/tools/config.prop +++ b/test/config @@ -1,3 +1,8 @@ testImage=openldap-test testContainer=openldap-test-container testDir=/osixia-test-docker-openldap + +export testImage +export testContainer +export testDir + diff --git a/test/config-repository b/test/config-repository new file mode 100755 index 0000000..c54c31a --- /dev/null +++ b/test/config-repository @@ -0,0 +1,7 @@ +testImage=osixia/openldap:latest +testContainer=openldap-repository-test-container +testDir=/osixia-repository-test-docker-openldap + +export testImage +export testContainer +export testDir diff --git a/test/db.sh b/test/db.sh index 8411776..79b1f59 100755 --- a/test/db.sh +++ b/test/db.sh @@ -1,7 +1,6 @@ #!/bin/sh dir=$(dirname $0) -. $dir/tools/config.prop if [ -d "$testDir" ]; then rm -r $testDir diff --git a/test/simple.sh b/test/simple.sh index bae1ce2..4186276 100755 --- a/test/simple.sh +++ b/test/simple.sh @@ -1,9 +1,8 @@ #!/bin/sh dir=$(dirname $0) -. $dir/tools/config.prop - . $dir/tools/run-container.sh + echo "ldapsearch -x -h $IP -b dc=example,dc=com" ldapsearch -x -h $IP -b dc=example,dc=com diff --git a/test/tls.sh b/test/tls.sh index eaa5dab..0ee296d 100755 --- a/test/tls.sh +++ b/test/tls.sh @@ -1,9 +1,8 @@ #!/bin/sh dir=$(dirname $0) -. $dir/tools/config.prop - . $dir/tls/run.sh + echo "ldapsearch -x -h $certCN -b dc=example,dc=com -ZZ" ldapsearch -x -h $certCN -b dc=example,dc=com -ZZ diff --git a/test/tools/build-container.sh b/test/tools/build-container.sh index 1128c7c..7103b87 100755 --- a/test/tools/build-container.sh +++ b/test/tools/build-container.sh @@ -1,7 +1,5 @@ #!/bin/sh -. $(dirname $0)/config.prop - docker.io build -t $testImage . #docker.io build --no-cache=true -t $testImage . diff --git a/test/tools/delete-container.sh b/test/tools/delete-container.sh index 505a00f..dc33aae 100755 --- a/test/tools/delete-container.sh +++ b/test/tools/delete-container.sh @@ -1,7 +1,5 @@ #!/bin/sh -. $(dirname $0)/config.prop - # remove test container res=$(docker.io ps -a | grep -c "$testContainer") diff --git a/test/tools/delete-image.sh b/test/tools/delete-image.sh index 6931c9e..9704547 100755 --- a/test/tools/delete-image.sh +++ b/test/tools/delete-image.sh @@ -1,7 +1,5 @@ #!/bin/sh -. $(dirname $0)/config.prop - # remove test image res=$(docker.io images | grep -c "$testImage") diff --git a/test/tools/end.sh b/test/tools/end.sh index af388d5..b6af5d5 100755 --- a/test/tools/end.sh +++ b/test/tools/end.sh @@ -1,8 +1,13 @@ #!/bin/sh -dir=$(dirname $0) -$dir/delete-container.sh > /dev/null 2>&1 -$dir/delete-image.sh > /dev/null 2>&1 +./test/tools/delete-container.sh +./test/tools/delete-image.sh > /dev/null 2>&1 echo "------- End -------" echo $error " failed " $ok " succeeded" + +if [ "$error" -eq 0 ]; then + exit 0 +else + exit 1 +fi diff --git a/test/tools/run-container.sh b/test/tools/run-container.sh index 7640257..3319e09 100755 --- a/test/tools/run-container.sh +++ b/test/tools/run-container.sh @@ -2,10 +2,10 @@ echo "docker.io run --name $testContainer $runOptions -d $testImage" ID=`docker.io run --name $testContainer $runOptions -d $testImage` -sleep 7 +sleep 10 echo " --> Obtaining IP" -IP=`docker inspect -f "{{ .NetworkSettings.IPAddress }}" $ID` +IP=`docker.io inspect -f "{{ .NetworkSettings.IPAddress }}" $ID` if [ "$IP" = "" ]; then abort "Unable to obtain container IP" exit 1