From 410de79f1f14b9d14743fe86dddbd95301c3c5b5 Mon Sep 17 00:00:00 2001 From: Jim Van Fleet <jim.van.fleet@levvel.io> Date: Fri, 29 Jul 2016 13:42:40 -0400 Subject: [PATCH] First tests passing --- Dockerfile | 55 ++++++++++++++++++++++++++++++++++++++++++++++++ common.bash | 3 ++- tests/image.bats | 23 ++++++++++++++++++++ 3 files changed, 80 insertions(+), 1 deletion(-) create mode 100644 Dockerfile create mode 100755 tests/image.bats diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..4e4ebe8 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,55 @@ +FROM bigfleet/centos7base + +# Define args and set a default value +ARG maintainer=tier +ARG imagename=lamp +ARG tagname=20160727-dev +ARG version=1.0 + + +MAINTAINER $maintainer +LABEL Vendor="Internet2" +LABEL ImageType="COmanage" +LABEL ImageName=$imagename +LABEL TagName=$tagname +LABEL ImageOS=centos7 +LABEL Version=$version + +LABEL Build docker build --rm --tag $registry/$maintainer/$imagename:$tagname . + +# Install deps. +RUN yum -y install \ + httpd \ + mysql-devel \ + mysql-libs \ + mod_ssl \ + php \ + php-openssl \ + php-cli \ + php-ldap \ + php-mbstring \ + php-mcrypt \ + php-mysql \ + php-pear-MDB2-Driver-mysqli \ + php-pecl-memcached \ + php-xml \ + && yum clean all + +# +# UTC Timezone & Networking +# +RUN ln -sf /usr/share/zoneinfo/UTC /etc/localtime && \ + echo "NETWORKING=yes" > /etc/sysconfig/network + +# +# Global PHP configuration changes +# +RUN sed -i \ + -e 's~^;date.timezone =$~date.timezone = Europe/Rome~g' \ + -e 's~^;user_ini.filename =$~user_ini.filename =~g' \ + /etc/php.ini + +RUN echo '<?php phpinfo(); ?>' > /var/www/html/index.php + +# Port +EXPOSE 80 443 \ No newline at end of file diff --git a/common.bash b/common.bash index b10cf40..1ca7079 100644 --- a/common.bash +++ b/common.bash @@ -1,2 +1,3 @@ maintainer="bigfleet" -imagename="lamp" \ No newline at end of file +imagename="lamp" +version="1.0" \ No newline at end of file diff --git a/tests/image.bats b/tests/image.bats new file mode 100755 index 0000000..13c4aee --- /dev/null +++ b/tests/image.bats @@ -0,0 +1,23 @@ +#!/usr/bin/env bats + +load ../common + +setup() { + echo $PWD > test.log + ./bin/rebuild.sh +} + +@test "Should be buildable" { + run bin/build.sh + [ "$status" -eq 0 ] +} + +@test "Concludes first-run experience" { + result="$(docker run -i $maintainer/$imagename find /tmp/firsttimerunning)" + [ "$result" != '' ] +} + +@test "Contains php" { + run docker run -i $maintainer/$imagename which php + [ "$status" -eq 0 ] +} \ No newline at end of file