summaryrefslogtreecommitdiff
path: root/tests/unit/modules/base.py
diff options
context:
space:
mode:
authoromnom62 <omnom62@outlook.com>2026-07-06 14:54:12 +1000
committerJohn Estabrook <jestabro@vyos.io>2026-08-21 14:02:19 -0500
commit45dc95873fd906c582fbbd5e6ca3838caf867399 (patch)
tree71b3e53e0080da60abf9fd2381705971dfe4d507 /tests/unit/modules/base.py
parent7a6b5e4f3a7a021cfa75faa7bf833741dfc09cff (diff)
downloadrest.vyos-45dc95873fd906c582fbbd5e6ca3838caf867399.tar.gz
rest.vyos-45dc95873fd906c582fbbd5e6ca3838caf867399.zip
T8989: wave4 vyos_command, dict_op refactorT8989_wave4
* T8989: vyos_command module * T8989: vyos_command module UAT and SIT * T8989: vyos_command changelog * T8989: vyos_command linter * T8989: vyos_config module * T8989: vyos_config module changelog * T8989: Wave 4 vyos_config module with integration and unit tests * T8323: vyos_system module * T8332: vyos_system SIT and UAT * T8323: vyos_vlan module * T8323: vyos_vlan module * T8323: vyos_vlan module SIT and UAT * T8323: vyos_system module * T8989: Wave 4 vyos_vlan reworked with dict_op engine * T8989: Fix dict_op single-value string list handling, add vyos_system integration tests * T8989: logging_global refactor * T8989: migrate ntp_global, logging_global, firewall_global to dict_op engine * T8989: vyos_nat module for REST API collection * T8989: vyos_nat module for REST API collection, linter fixes * T8989: vyos_ha module for REST API collection * T8989: vyos_ha module for REST API collection * T8989: vyos_ha module sanity and linter fixes * T8989: vyos_ha module sanity and linter fixes * T8989: vyos_ha module linter fixes * T8989: vyos.rest AI comment fixes * T8323: vyos_nat AI comment fixes * T8989 ai fixes * T8989: vyos_bgp_address_family dict_op * T8989: vyos_bgp_address_family vyos_bgp_global dict_op * T8989: dict_op refactor for firewall_*, nat, user * T8989: dict_op refactor for firewall_*, nat, user * T8989: dict_op refactor for ntp_global, ha * T8989: snmp_server dict_op refactor * T8989: snmp_server dict_op refactor * T8989: route_map dict_op refactor
Diffstat (limited to 'tests/unit/modules/base.py')
-rw-r--r--tests/unit/modules/base.py15
1 files changed, 13 insertions, 2 deletions
diff --git a/tests/unit/modules/base.py b/tests/unit/modules/base.py
index 4d49fbb..a3e2eeb 100644
--- a/tests/unit/modules/base.py
+++ b/tests/unit/modules/base.py
@@ -13,12 +13,23 @@ import unittest
from unittest.mock import MagicMock # noqa: F401
+_fixture_cache = {}
+
+
def load_fixture(filename):
- """Load a JSON fixture file from tests/unit/fixtures/."""
+ """Load a fixture file from tests/unit/fixtures/. Results are cached."""
fixtures_dir = os.path.join(os.path.dirname(__file__), "..", "fixtures")
path = os.path.join(fixtures_dir, filename)
+ if path in _fixture_cache:
+ return _fixture_cache[path]
with open(path) as f:
- return json.load(f)
+ data = f.read()
+ try:
+ data = json.loads(data)
+ except json.JSONDecodeError:
+ pass
+ _fixture_cache[path] = data
+ return data
class VyOSModuleTestCase(unittest.TestCase):