From: Jason Ish Date: Fri, 8 Dec 2017 17:30:24 +0000 (-0600) Subject: docker live test for Ubuntu 16.04. X-Git-Tag: 1.0.0b1~12 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ff989a90ea460a5b56130cf9099572164d28d2f9;p=thirdparty%2Fsuricata-update.git docker live test for Ubuntu 16.04. --- diff --git a/tests/docker-ubuntu-1604/Dockerfile b/tests/docker-ubuntu-1604/Dockerfile new file mode 100644 index 0000000..5d14595 --- /dev/null +++ b/tests/docker-ubuntu-1604/Dockerfile @@ -0,0 +1,34 @@ +FROM ubuntu:16.04 + +RUN apt-get update +RUN apt-get install -y \ + python-yaml \ + python3-yaml \ + python-pytest \ + python3-pytest \ + python-pip \ + python3-pip + +# RUN yum -y install epel-release +# RUN yum -y install \ +# git \ +# python-yaml \ +# python-pip \ +# pytest \ +# python34-yaml \ +# python34-pytest \ +# python34-pip \ +# findutils + +COPY / /src +RUN find /src -name \*.pyc -delete + +ENV PYTEST2 py.test +ENV PYTEST3 py.test-3 + +ENV PIP2 pip2 +ENV PIP3 pip3 + +WORKDIR /src + +CMD ["./tests/docker-ubuntu-1604/run.sh"] diff --git a/tests/docker-ubuntu-1604/Makefile b/tests/docker-ubuntu-1604/Makefile new file mode 100644 index 0000000..85f8dee --- /dev/null +++ b/tests/docker-ubuntu-1604/Makefile @@ -0,0 +1,5 @@ +TAG := suricata-update/tests/ubuntu-1604 + +all: + docker build -t $(TAG) -f Dockerfile ../.. + docker run --rm -it $(TAG) diff --git a/tests/docker-ubuntu-1604/README.md b/tests/docker-ubuntu-1604/README.md new file mode 100644 index 0000000..c7f12b2 --- /dev/null +++ b/tests/docker-ubuntu-1604/README.md @@ -0,0 +1,12 @@ +This is a live test of Suricata-Update in an Ubuntu 16.04 LTS Docker +image. + +The following tests are performed: +- Unit tests with Python 2 and Python 3. +- Installation with Python 2 pip. +- Various commands run as a user might with Python 2 install. +- Installation with Python 3 pip. +- Various commands run as a user might with Python 3 install. + +This test is "live" as the index and rule files will be downloaded +from the internet. diff --git a/tests/docker-ubuntu-1604/run.sh b/tests/docker-ubuntu-1604/run.sh new file mode 100755 index 0000000..533aed0 --- /dev/null +++ b/tests/docker-ubuntu-1604/run.sh @@ -0,0 +1,54 @@ +#! /bin/sh + +set -e +set -x + +# Test the commands in a scenario a user might. +test_commands() { + # Cleanup. + rm -rf /var/lib/suricata + + suricata-update + test -e /var/lib/suricata/rules/suricata.rules + + suricata-update update-sources + test -e /var/lib/suricata/update/cache/index.yaml + + suricata-update enable-source oisf/trafficid + test -e /var/lib/suricata/update/sources/et-open.yaml + test -e /var/lib/suricata/update/sources/oisf-trafficid.yaml + suricata-update + + suricata-update disable-source oisf/trafficid + test ! -e /var/lib/suricata/update/sources/oisf-trafficid.yaml + test -e /var/lib/suricata/update/sources/oisf-trafficid.yaml.disabled + + suricata-update remove-source oisf/trafficid + test ! -e /var/lib/suricata/update/sources/oisf-trafficid.yaml.disabled +} + +# Python 2 unit tests. +PYTHONPATH=. ${PYTEST2} + +# Python 3 unit tests. +PYTHONPATH=. ${PYTEST3} + +# Install with Python 2. +${PIP2} install . +test -e /usr/local/bin/suricata-update + +test_commands + +# Uninstall Python 2 version. +${PIP2} uninstall --yes suricata-update +test ! -e /usr/local/bin/suricata-update + +# Install and run with Python 3. +${PIP3} install . +test -e /usr/local/bin/suricata-update +grep python3 -s /usr/local/bin/suricata-update + +test_commands + +${PIP3} uninstall --yes suricata-update +test ! -e /usr/local/bin/suricata-update