1
0
Fork 0

Adding upstream version 0.9.0.

Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
Daniel Baumann 2025-02-05 13:48:40 +01:00
parent 6dc7f1a5a2
commit fb90b93350
Signed by: daniel
GPG key ID: FBB4F0E80A80222F
28 changed files with 1073 additions and 859 deletions

View file

@ -5,12 +5,13 @@
# flake8: noqa: W503
# flake8: noqa: W1202
from __future__ import (absolute_import, division, print_function)
import os
import eos_downloader
from eos_downloader.eos import EOSDownloader
from eos_downloader.data import DATA_MAPPING
from __future__ import absolute_import, division, print_function
import os
import eos_downloader
from eos_downloader.data import DATA_MAPPING
from eos_downloader.eos import EOSDownloader
# --------------------------------------------------------------- #
# MOOCK data to use for testing
@ -18,99 +19,99 @@ from eos_downloader.data import DATA_MAPPING
# Get Auth token
# eos_token = os.getenv('ARISTA_TOKEN')
eos_token = os.getenv('ARISTA_TOKEN', 'invalid_token')
eos_token_invalid = 'invalid_token'
eos_token = os.getenv("ARISTA_TOKEN", "invalid_token")
eos_token_invalid = "invalid_token"
eos_dataset_valid = [
{
'image': 'EOS',
'version': '4.26.3M',
'software': 'EOS',
'filename': 'EOS-4.26.3M.swi',
'expected_hash': 'sha512sum',
'remote_path': '/support/download/EOS-USA/Active Releases/4.26/EOS-4.26.3M/EOS-4.26.3M.swi',
'compute_checksum': True
"image": "EOS",
"version": "4.26.3M",
"software": "EOS",
"filename": "EOS-4.26.3M.swi",
"expected_hash": "sha512sum",
"remote_path": "/support/download/EOS-USA/Active Releases/4.26/EOS-4.26.3M/EOS-4.26.3M.swi",
"compute_checksum": True,
},
{
'image': 'EOS',
'version': '4.25.6M',
'software': 'EOS',
'filename': 'EOS-4.25.6M.swi',
'expected_hash': 'md5sum',
'remote_path': '/support/download/EOS-USA/Active Releases/4.25/EOS-4.25.6M/EOS-4.25.6M.swi',
'compute_checksum': True
"image": "EOS",
"version": "4.25.6M",
"software": "EOS",
"filename": "EOS-4.25.6M.swi",
"expected_hash": "md5sum",
"remote_path": "/support/download/EOS-USA/Active Releases/4.25/EOS-4.25.6M/EOS-4.25.6M.swi",
"compute_checksum": True,
},
{
'image': 'vEOS-lab',
'version': '4.25.6M',
'software': 'EOS',
'filename': 'vEOS-lab-4.25.6M.vmdk',
'expected_hash': 'md5sum',
'remote_path': '/support/download/EOS-USA/Active Releases/4.25/EOS-4.25.6M/vEOS-lab/vEOS-lab-4.25.6M.vmdk',
'compute_checksum': False
}
"image": "vEOS-lab",
"version": "4.25.6M",
"software": "EOS",
"filename": "vEOS-lab-4.25.6M.vmdk",
"expected_hash": "md5sum",
"remote_path": "/support/download/EOS-USA/Active Releases/4.25/EOS-4.25.6M/vEOS-lab/vEOS-lab-4.25.6M.vmdk",
"compute_checksum": False,
},
]
eos_dataset_invalid = [
{
'image': 'default',
'version': '4.26.3M',
'software': 'EOS',
'filename': 'EOS-4.26.3M.swi',
'expected_hash': 'sha512sum',
'remote_path': '/support/download/EOS-USA/Active Releases/4.26/EOS-4.26.3M/EOS-4.26.3M.swi',
'compute_checksum': True
"image": "default",
"version": "4.26.3M",
"software": "EOS",
"filename": "EOS-4.26.3M.swi",
"expected_hash": "sha512sum",
"remote_path": "/support/download/EOS-USA/Active Releases/4.26/EOS-4.26.3M/EOS-4.26.3M.swi",
"compute_checksum": True,
}
]
eos_version = [
{
'version': 'EOS-4.23.1F',
'is_valid': True,
'major': 4,
'minor': 23,
'patch': 1,
'rtype': 'F'
"version": "EOS-4.23.1F",
"is_valid": True,
"major": 4,
"minor": 23,
"patch": 1,
"rtype": "F",
},
{
'version': 'EOS-4.23.0',
'is_valid': True,
'major': 4,
'minor': 23,
'patch': 0,
'rtype': None
"version": "EOS-4.23.0",
"is_valid": True,
"major": 4,
"minor": 23,
"patch": 0,
"rtype": None,
},
{
'version': 'EOS-4.23',
'is_valid': True,
'major': 4,
'minor': 23,
'patch': 0,
'rtype': None
"version": "EOS-4.23",
"is_valid": True,
"major": 4,
"minor": 23,
"patch": 0,
"rtype": None,
},
{
'version': 'EOS-4.23.1M',
'is_valid': True,
'major': 4,
'minor': 23,
'patch': 1,
'rtype': 'M'
"version": "EOS-4.23.1M",
"is_valid": True,
"major": 4,
"minor": 23,
"patch": 1,
"rtype": "M",
},
{
'version': 'EOS-4.23.1.F',
'is_valid': True,
'major': 4,
'minor': 23,
'patch': 1,
'rtype': 'F'
"version": "EOS-4.23.1.F",
"is_valid": True,
"major": 4,
"minor": 23,
"patch": 1,
"rtype": "F",
},
{
'version': 'EOS-5.23.1F',
'is_valid': False,
'major': 4,
'minor': 23,
'patch': 1,
'rtype': 'F'
"version": "EOS-5.23.1F",
"is_valid": False,
"major": 4,
"minor": 23,
"patch": 1,
"rtype": "F",
},
]
]

View file

@ -5,13 +5,20 @@
# 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
from __future__ import absolute_import, division, print_function
import os
from typing import Any, Dict, List
import pytest
import eos_downloader
from tests.lib.dataset import (
eos_dataset_invalid,
eos_dataset_valid,
eos_token,
eos_token_invalid,
)
@pytest.fixture
@ -19,17 +26,18 @@ from tests.lib.dataset import eos_dataset_valid, eos_dataset_invalid, eos_token,
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')
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']))
os.system("rm -f {}*".format(DOWNLOAD_INFO["filename"]))
def generate_test_ids_dict(val: Dict[str, Any], key: str = 'name') -> str:
def generate_test_ids_dict(val: Dict[str, Any], key: str = "name") -> str:
"""
generate_test_ids Helper to generate test ID for parametrize
@ -50,7 +58,8 @@ def generate_test_ids_dict(val: Dict[str, Any], key: str = 'name') -> str:
return val[key]
return "undefined_test"
def generate_test_ids_list(val: List[Dict[str, Any]], key: str = 'name') -> str:
def generate_test_ids_list(val: List[Dict[str, Any]], key: str = "name") -> str:
"""
generate_test_ids Helper to generate test ID for parametrize
@ -66,4 +75,4 @@ def generate_test_ids_list(val: List[Dict[str, Any]], key: str = 'name') -> str:
str
Name of the configlet
"""
return [ entry[key] if key in entry.keys() else 'unset_entry' for entry in val ]
return [entry[key] if key in entry.keys() else "unset_entry" for entry in val]

View file

@ -5,14 +5,13 @@
# flake8: noqa: W503
# flake8: noqa: W1202
from __future__ import (absolute_import, division, print_function)
from __future__ import absolute_import, division, print_function
import os
from eos_downloader.data import DATA_MAPPING
def default_filename(version: str, info):
"""
default_filename Helper to build default filename
@ -31,10 +30,14 @@ def default_filename(version: str, info):
"""
if version is None or info is None:
return None
return DATA_MAPPING[info['software']]['default']['prepend'] + '-' + version + '.swi'
return DATA_MAPPING[info["software"]]["default"]["prepend"] + "-" + version + ".swi"
def is_on_github_actions():
"""Check if code is running on a CI runner"""
if "CI" not in os.environ or not os.environ["CI"] or "GITHUB_RUN_ID" not in os.environ:
return False
if (
"CI" not in os.environ
or not os.environ["CI"]
or "GITHUB_RUN_ID" not in os.environ
):
return False