#!/bin/bash set -eo pipefail dir="$(dirname "$(readlink -f "$BASH_SOURCE")")" image="$1" # Build a client image with cgi-fcgi for testing client_image="librarytest/php-fpm-hello-web:fcgi" docker build -q -t "$client_image" - > /dev/null < /dev/null" EXIT fcgi-request() { local method="$1" local url="$2" local queryString= if [[ "$url" == *\?* ]]; then queryString="${url#*\?}" url="${url%%\?*}" fi docker run --rm -i --link "$cname":fpm \ -e REQUEST_METHOD="$method" \ -e SCRIPT_NAME="$url" \ -e SCRIPT_FILENAME=/var/www/html/"${url#/}" \ -e QUERY_STRING="$queryString" \ "$client_image" \ -bind -connect fpm:9000 } # Check that we can request /index.php with no params [ -n "$(fcgi-request GET "/index.php")" ] # Check that our index.php echoes the value of the "hello" param hello="world-$RANDOM-$RANDOM" [ "$(fcgi-request GET "/index.php?hello=$hello" | tail -1)" = "$hello" ]