Files
prowler/tests/providers/linode/linode_metadata_test.py
T
varunmamillapalli 8a1d7bcd6b feat(linode): add provider with administration compute and networking services (#11633)
Co-authored-by: Daniel Barranquero <danielbo2001@gmail.com>
Co-authored-by: Hugo P.Brito <hugopbrit@gmail.com>
2026-06-22 11:19:20 +02:00

47 lines
1.4 KiB
Python

from pathlib import Path
import pytest
from prowler.lib.check.models import CheckMetadata
EXPECTED_SERVICE_NAMES = {
"administration": "administration",
"compute": "compute",
"networking": "networking",
}
@pytest.mark.parametrize(
"metadata_file",
sorted(Path("prowler/providers/linode").glob("services/**/*.metadata.json")),
)
def test_linode_check_metadata_is_valid(metadata_file):
metadata = CheckMetadata.parse_file(metadata_file)
assert metadata.Provider == "linode"
assert metadata.CheckID == metadata_file.stem.replace(".metadata", "")
@pytest.mark.parametrize(
"metadata_file",
sorted(Path("prowler/providers/linode").glob("services/**/*.metadata.json")),
)
def test_linode_checks_metadata_use_canonical_hub_urls(metadata_file):
metadata = CheckMetadata.parse_file(metadata_file)
url = metadata.Remediation.Recommendation.Url
assert not url.startswith(
"https://hub.prowler.com/checks/linode/"
), f"{metadata_file}: non-canonical hub URL {url}"
@pytest.mark.parametrize(
"metadata_file",
sorted(Path("prowler/providers/linode").glob("services/**/*.metadata.json")),
)
def test_linode_check_metadata_uses_product_area_service_names(metadata_file):
metadata = CheckMetadata.parse_file(metadata_file)
service_folder = metadata_file.relative_to(
Path("prowler/providers/linode/services")
).parts[0]
assert metadata.ServiceName == EXPECTED_SERVICE_NAMES[service_folder]