--- /dev/null
+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.
--- /dev/null
+#! /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/rules/.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