certbot/certbot-apache/certbot_apache/tests/apache-conf-files/apache-conf-test

78 lines
2 KiB
Text
Raw Normal View History

#!/bin/bash
# A hackish script to see if the client is behaving as expected
# with each of the "passing" conf files.
export EA=/etc/apache2/
TESTDIR="`dirname $0`"
cd $TESTDIR/passing
function CleanupExit() {
echo control c, exiting tests...
if [ "$f" != "" ] ; then
2015-12-16 22:41:35 -05:00
Cleanup
fi
exit 1
}
2015-12-16 22:51:45 -05:00
function Setup() {
if [ "$APPEND_APACHECONF" = "" ] ; then
sudo cp "$f" "$EA"/sites-available/
sudo ln -sf "$EA/sites-available/$f" "$EA/sites-enabled/$f"
2016-04-10 14:52:38 -04:00
echo "
<VirtualHost *:80>
ServerName example.com
DocumentRoot /tmp/
ErrorLog /tmp/error.log
CustomLog /tmp/requests.log combined
2016-04-10 14:52:38 -04:00
</VirtualHost>" | sudo tee $EA/sites-available/throwaway-example.conf >/dev/null
2015-12-16 22:51:45 -05:00
else
TMP="/tmp/`basename \"$APPEND_APACHECONF\"`.$$"
sudo cp -a "$APPEND_APACHECONF" "$TMP"
sudo bash -c "cat \"$f\" >> \"$APPEND_APACHECONF\""
fi
}
2015-12-16 22:41:35 -05:00
function Cleanup() {
if [ "$APPEND_APACHECONF" = "" ] ; then
sudo rm /etc/apache2/sites-{enabled,available}/"$f"
sudo rm $EA/sites-available/throwaway-example.conf
2015-12-16 22:41:35 -05:00
else
sudo mv "$TMP" "$APPEND_APACHECONF"
fi
}
2015-12-18 11:48:49 -05:00
# if our environment asks us to enable modules, do our best!
if [ "$1" = --debian-modules ] ; then
sudo apt-get install -y libapache2-mod-wsgi
sudo apt-get install -y libapache2-mod-macro
2015-12-18 11:48:49 -05:00
for mod in ssl rewrite macro wsgi deflate userdir version mime setenvif ; do
2016-01-07 11:59:53 -05:00
echo -n enabling $mod
2015-12-18 11:48:49 -05:00
sudo a2enmod $mod
done
fi
FAILS=0
trap CleanupExit INT
for f in *.conf ; do
echo -n testing "$f"...
2015-12-16 22:51:45 -05:00
Setup
2016-04-14 19:27:22 -04:00
RESULT=`echo c | sudo $(command -v certbot) -vvvv --debug --staging --apache --register-unsafely-without-email --agree-tos certonly -t 2>&1`
2015-12-21 16:49:46 -05:00
if echo $RESULT | grep -Eq \("Which names would you like"\|"mod_macro is not yet"\) ; then
echo passed
else
echo failed
echo $RESULT
echo
echo
FAILS=`expr $FAILS + 1`
fi
2015-12-16 22:41:35 -05:00
Cleanup
done
if [ "$FAILS" -ne 0 ] ; then
2015-12-16 20:21:47 -05:00
exit 1
fi
2015-12-16 20:21:47 -05:00
exit 0