summaryrefslogtreecommitdiffstats
path: root/tests/units/anta_tests/test_software.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/units/anta_tests/test_software.py')
-rw-r--r--tests/units/anta_tests/test_software.py101
1 files changed, 101 insertions, 0 deletions
diff --git a/tests/units/anta_tests/test_software.py b/tests/units/anta_tests/test_software.py
new file mode 100644
index 0000000..6d39c04
--- /dev/null
+++ b/tests/units/anta_tests/test_software.py
@@ -0,0 +1,101 @@
+# Copyright (c) 2023-2024 Arista Networks, Inc.
+# Use of this source code is governed by the Apache License 2.0
+# that can be found in the LICENSE file.
+"""Test inputs for anta.tests.hardware"""
+from __future__ import annotations
+
+from typing import Any
+
+from anta.tests.software import VerifyEOSExtensions, VerifyEOSVersion, VerifyTerminAttrVersion
+from tests.lib.anta import test # noqa: F401; pylint: disable=W0611
+
+DATA: list[dict[str, Any]] = [
+ {
+ "name": "success",
+ "test": VerifyEOSVersion,
+ "eos_data": [
+ {
+ "modelName": "vEOS-lab",
+ "internalVersion": "4.27.0F-24305004.4270F",
+ "version": "4.27.0F",
+ }
+ ],
+ "inputs": {"versions": ["4.27.0F", "4.28.0F"]},
+ "expected": {"result": "success"},
+ },
+ {
+ "name": "failure",
+ "test": VerifyEOSVersion,
+ "eos_data": [
+ {
+ "modelName": "vEOS-lab",
+ "internalVersion": "4.27.0F-24305004.4270F",
+ "version": "4.27.0F",
+ }
+ ],
+ "inputs": {"versions": ["4.27.1F"]},
+ "expected": {"result": "failure", "messages": ["device is running version \"4.27.0F\" not in expected versions: ['4.27.1F']"]},
+ },
+ {
+ "name": "success",
+ "test": VerifyTerminAttrVersion,
+ "eos_data": [
+ {
+ "imageFormatVersion": "1.0",
+ "uptime": 1107543.52,
+ "modelName": "vEOS-lab",
+ "details": {
+ "deviations": [],
+ "components": [{"name": "Aboot", "version": "Aboot-veos-8.0.0-3255441"}],
+ "switchType": "fixedSystem",
+ "packages": {
+ "TerminAttr-core": {"release": "1", "version": "v1.17.0"},
+ },
+ },
+ }
+ ],
+ "inputs": {"versions": ["v1.17.0", "v1.18.1"]},
+ "expected": {"result": "success"},
+ },
+ {
+ "name": "failure",
+ "test": VerifyTerminAttrVersion,
+ "eos_data": [
+ {
+ "imageFormatVersion": "1.0",
+ "uptime": 1107543.52,
+ "modelName": "vEOS-lab",
+ "details": {
+ "deviations": [],
+ "components": [{"name": "Aboot", "version": "Aboot-veos-8.0.0-3255441"}],
+ "switchType": "fixedSystem",
+ "packages": {
+ "TerminAttr-core": {"release": "1", "version": "v1.17.0"},
+ },
+ },
+ }
+ ],
+ "inputs": {"versions": ["v1.17.1", "v1.18.1"]},
+ "expected": {"result": "failure", "messages": ["device is running TerminAttr version v1.17.0 and is not in the allowed list: ['v1.17.1', 'v1.18.1']"]},
+ },
+ {
+ "name": "success-no-extensions",
+ "test": VerifyEOSExtensions,
+ "eos_data": [
+ {"extensions": {}, "extensionStoredDir": "flash:", "warnings": ["No extensions are available"]},
+ {"extensions": []},
+ ],
+ "inputs": None,
+ "expected": {"result": "success"},
+ },
+ {
+ "name": "failure",
+ "test": VerifyEOSExtensions,
+ "eos_data": [
+ {"extensions": {}, "extensionStoredDir": "flash:", "warnings": ["No extensions are available"]},
+ {"extensions": ["dummy"]},
+ ],
+ "inputs": None,
+ "expected": {"result": "failure", "messages": ["Missing EOS extensions: installed [] / configured: ['dummy']"]},
+ },
+]