Files
kubescape/smoke_testing/test_version.py
2026-02-12 14:56:31 +01:00

37 lines
1.1 KiB
Python

import os
import re
import sys
import smoke_utils
def run(kubescape_exec: str):
print("Testing version")
ver = os.getenv("RELEASE")
msg = smoke_utils.run_command(command=[kubescape_exec, "version"])
if isinstance(msg, bytes):
msg = msg.decode('utf-8')
# Extract version from output
version_match = re.search(r'Your current version is: ([^\s\n]+)', msg)
if version_match:
output_version = version_match.group(1)
print(f"Found version in output: {output_version}")
# If RELEASE is set, verify it matches the output
if ver:
# Check if RELEASE (with or without 'v' prefix) is in the output
assert (ver in msg) or (ver.lstrip('v') in msg), f"expected version: {ver}, found: {output_version}"
else:
# If RELEASE is not set, just verify that a version was found
assert output_version, f"no version found in output: {msg}"
else:
raise AssertionError(f"no version found in output: {msg}")
print("Done testing version")
if __name__ == "__main__":
run(kubescape_exec=smoke_utils.get_exec_from_args(sys.argv))