summaryrefslogtreecommitdiffstats
path: root/tests/docker-centos-7
diff options
context:
space:
mode:
Diffstat (limited to 'tests/docker-centos-7')
-rw-r--r--tests/docker-centos-7/Dockerfile25
-rw-r--r--tests/docker-centos-7/Makefile6
-rw-r--r--tests/docker-centos-7/README.md11
-rwxr-xr-xtests/docker-centos-7/run.sh54
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