summaryrefslogtreecommitdiffstats
path: root/tests/lib/fixtures.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/lib/fixtures.py')
-rw-r--r--tests/lib/fixtures.py69
1 files changed, 69 insertions, 0 deletions
diff --git a/tests/lib/fixtures.py b/tests/lib/fixtures.py
new file mode 100644
index 0000000..4515f9b
--- /dev/null
+++ b/tests/lib/fixtures.py
@@ -0,0 +1,69 @@
+#!/usr/bin/python
+# coding: utf-8 -*-
+# pylint: disable=logger-format-interpolation
+# pylint: disable=dangerous-default-value
+# flake8: noqa: W503
+# flake8: noqa: W1202
+
+from __future__ import (absolute_import, division, print_function)
+import os
+import pytest
+import eos_downloader
+from typing import Dict, Any, List
+from tests.lib.dataset import eos_dataset_valid, eos_dataset_invalid, eos_token, eos_token_invalid
+
+
+
+@pytest.fixture
+@pytest.mark.parametrize("DOWNLOAD_INFO", eos_dataset_valid)
+def create_download_instance(request, DOWNLOAD_INFO):
+ # logger.info("Execute fixture to create class elements")
+ request.cls.eos_downloader = eos_downloader.eos.EOSDownloader(
+ image=DOWNLOAD_INFO['image'],
+ software=DOWNLOAD_INFO['software'],
+ version=DOWNLOAD_INFO['version'],
+ token=eos_token,
+ hash_method='sha512sum')
+ yield
+ # logger.info('Cleanup test environment')
+ os.system('rm -f {}*'.format(DOWNLOAD_INFO['filename']))
+
+
+def generate_test_ids_dict(val: Dict[str, Any], key: str = 'name') -> str:
+ """
+ generate_test_ids Helper to generate test ID for parametrize
+
+ Only related to SYSTEM_CONFIGLETS_TESTS structure
+
+ Parameters
+ ----------
+ val : dict
+ A configlet test structure
+
+ Returns
+ -------
+ str
+ Name of the configlet
+ """
+ if key in val.keys():
+ # note this wouldn't show any hours/minutes/seconds
+ return val[key]
+ return "undefined_test"
+
+def generate_test_ids_list(val: List[Dict[str, Any]], key: str = 'name') -> str:
+ """
+ generate_test_ids Helper to generate test ID for parametrize
+
+ Only related to SYSTEM_CONFIGLETS_TESTS structure
+
+ Parameters
+ ----------
+ val : dict
+ A configlet test structure
+
+ Returns
+ -------
+ str
+ Name of the configlet
+ """
+ return [ entry[key] if key in entry.keys() else 'unset_entry' for entry in val ]