diff options
Diffstat (limited to 'tests/docker-centos-7')
-rw-r--r-- | tests/docker-centos-7/Dockerfile | 25 | ||||
-rw-r--r-- | tests/docker-centos-7/Makefile | 6 | ||||
-rw-r--r-- | tests/docker-centos-7/README.md | 11 | ||||
-rwxr-xr-x | tests/docker-centos-7/run.sh | 54 |
4 files changed, 96 insertions, 0 deletions
diff --git a/tests/docker-centos-7/Dockerfile b/tests/docker-centos-7/Dockerfile new file mode 100644 index 0000000..fdf1814 --- /dev/null +++ b/tests/docker-centos-7/Dockerfile @@ -0,0 +1,25 @@ +FROM centos:7 + +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-centos-7/run.sh"] diff --git a/tests/docker-centos-7/Makefile b/tests/docker-centos-7/Makefile new file mode 100644 index 0000000..619f3f2 --- /dev/null +++ b/tests/docker-centos-7/Makefile @@ -0,0 +1,6 @@ +TAG := suricata-update/tests/centos-7 + +all: + docker build -t $(TAG) -f Dockerfile ../.. + docker run --rm -it $(TAG) + diff --git a/tests/docker-centos-7/README.md b/tests/docker-centos-7/README.md new file mode 100644 index 0000000..c0b6664 --- /dev/null +++ b/tests/docker-centos-7/README.md @@ -0,0 +1,11 @@ +This is a live test of Suricata-Update in a CentOS 7 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-centos-7/run.sh b/tests/docker-centos-7/run.sh new file mode 100755 index 0000000..23e52f0 --- /dev/null +++ b/tests/docker-centos-7/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/bin/suricata-update + +test_commands + +# Uninstall Python 2 version. +${PIP2} uninstall --yes suricata-update +test ! -e /usr/bin/suricata-update + +# Install and run with Python 3. +${PIP3} install . +test -e /usr/bin/suricata-update +grep python3 -s /usr/bin/suricata-update + +test_commands + +${PIP3} uninstall --yes suricata-update +test ! -e /usr/local/bin/suricata-update |