From ac4918c3ae8d0bec0fb8eeef49a25bb093c2f594 Mon Sep 17 00:00:00 2001 From: Albrecht Lohofener Date: Mon, 23 Sep 2024 11:39:22 +0200 Subject: [PATCH] Add alpine and novnc tests --- test/docker-vackup/README.md | 2 ++ test/tests/openwrt_docker_test.py | 26 +++++++++++++++++++++++++- 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/test/docker-vackup/README.md b/test/docker-vackup/README.md index 035fa00..24de303 100644 --- a/test/docker-vackup/README.md +++ b/test/docker-vackup/README.md @@ -1,3 +1,5 @@ +## This is a copy from https://github.com/BretFisher/docker-vackup/ + # Vackup: Backup and Restore Docker Volumes [![Lint Code Base](https://github.com/BretFisher/docker-vackup/actions/workflows/linter.yml/badge.svg)](https://github.com/BretFisher/docker-vackup/actions/workflows/linter.yml) diff --git a/test/tests/openwrt_docker_test.py b/test/tests/openwrt_docker_test.py index 80fba60..e2e980b 100644 --- a/test/tests/openwrt_docker_test.py +++ b/test/tests/openwrt_docker_test.py @@ -8,6 +8,7 @@ import requests import base64 import time import yaml +import re # Workaround to make parameters global accessible @pytest.fixture(scope='session') @@ -425,4 +426,27 @@ def test_kvm(docker_services): ) time.sleep(1) - assert ('KVM detected' in get_logs()) == True \ No newline at end of file + assert ('KVM detected' in get_logs()) == True + + +def test_alpine_version_output(docker_services): + docker_services.wait_until_responsive( + timeout=90.0, pause=1, check=lambda: is_specific_log('Booting image using QEMU emulator') + ) + + logs = get_logs() + assert ('NAME="Alpine Linux"' in logs) == True + + version = re.findall("ID=alpine\nVERSION_ID=.+", logs)[0].split("=") + print(f"'Version: {version[2]}'", end=' ') + + +def test_novnc(docker_services): + docker_services.wait_until_responsive( + timeout=90.0, pause=1, check=lambda: is_openwrt_booted() + ) + + # Here we only test if novnc is running, not if the connection to qemu is successful. To test this selenium is necessary. + response = requests.get("http://localhost:8006/novnc") + + assert ('noVNC' in response.content.decode()) == True \ No newline at end of file