70 lines
1.9 KiB
Python
70 lines
1.9 KiB
Python
|
#!/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 ]
|