]> git.ipfire.org Git - thirdparty/suricata-update.git/commitdiff
docker live test for Ubuntu 16.04. 20/head
authorJason Ish <ish@unx.ca>
Fri, 8 Dec 2017 17:30:24 +0000 (11:30 -0600)
committerJason Ish <ish@unx.ca>
Fri, 8 Dec 2017 22:47:39 +0000 (16:47 -0600)
tests/docker-ubuntu-1604/Dockerfile [new file with mode: 0644]
tests/docker-ubuntu-1604/Makefile [new file with mode: 0644]
tests/docker-ubuntu-1604/README.md [new file with mode: 0644]
tests/docker-ubuntu-1604/run.sh [new file with mode: 0755]

diff --git a/tests/docker-ubuntu-1604/Dockerfile b/tests/docker-ubuntu-1604/Dockerfile
new file mode 100644 (file)
index 0000000..5d14595
--- /dev/null
@@ -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 (file)
index 0000000..85f8dee
--- /dev/null
@@ -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 (file)
index 0000000..c7f12b2
--- /dev/null
@@ -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 (executable)
index 0000000..533aed0
--- /dev/null
@@ -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