Revert "PR CI Testing (#1472)" (#1474)

This reverts commit 3d0803957d.
This commit is contained in:
Daniel W. Anner
2023-07-19 10:32:03 -04:00
committed by GitHub
parent 3d0803957d
commit e42a14b180
8 changed files with 9 additions and 198 deletions
+4 -38
View File
@@ -1,19 +1,16 @@
from test_configuration import COMPONENT_TYPES, IMAGE_FILETYPES, SCHEMAS, KNOWN_SLUGS, ROOT_DIR, USE_LOCAL_KNOWN_SLUGS, NETBOX_DT_LIBRARY_URL
import pickle_operations
from test_configuration import COMPONENT_TYPES, IMAGE_FILETYPES, SCHEMAS
from yaml_loader import DecimalSafeLoader
from device_types import DeviceType, ModuleType, verify_filename, validate_components
import decimal
import glob
import json
import os
import tempfile
from urllib.request import urlopen
import pytest
import yaml
from jsonschema import Draft4Validator, RefResolver
from jsonschema.exceptions import ValidationError
from git import Repo
def _get_definition_files():
"""
@@ -35,29 +32,6 @@ def _get_definition_files():
return file_list
def _get_diff_from_upstream():
file_list = []
repo = Repo(f"{os.path.dirname(os.path.abspath(__file__))}/../")
upstream = repo.remotes.upstream
upstream.fetch()
changes = repo.head.commit.diff(upstream.refs["master"].object.hexsha)
for path, schema in SCHEMAS:
# Initialize the schema
with open(f"schema/{schema}") as schema_file:
schema = json.loads(schema_file.read(), parse_float=decimal.Decimal)
# Validate that the schema exists
assert schema, f"Schema definition for {path} is empty!"
for file in changes:
if file.b_path is not None:
if path in file.b_path:
file_list.append((file.b_path, schema))
return file_list
def _get_image_files():
"""
Return a list of all image files within the specified path and manufacturer.
@@ -87,19 +61,11 @@ def test_environment():
Run basic sanity checks on the environment to ensure tests are running correctly.
"""
# Validate that definition files exist
if definition_files:
pytest.skip("No changes to definition files found.")
assert definition_files, "No definition files found!"
definition_files = _get_diff_from_upstream()
definition_files = _get_definition_files()
image_files = _get_image_files()
if USE_LOCAL_KNOWN_SLUGS:
KNOWN_SLUGS = pickle_operations.read_pickle_data(f'{ROOT_DIR}/tests/known-slugs.pickle')
else:
temp_dir = tempfile.TemporaryDirectory()
repo = Repo.clone_from(url=NETBOX_DT_LIBRARY_URL, to_path=temp_dir.name)
KNOWN_SLUGS = pickle_operations.read_pickle_data(f'{temp_dir.name}/tests/known-slugs.pickle')
@pytest.mark.parametrize(('file_path', 'schema'), definition_files)
def test_definitions(file_path, schema):
"""
@@ -141,7 +107,7 @@ def test_definitions(file_path, schema):
# Verify the slug is valid, only if the definition type is a Device
if this_device.isDevice:
assert this_device.verify_slug(KNOWN_SLUGS), pytest.fail(this_device.failureMessage, False)
assert this_device.verify_slug(), pytest.fail(this_device.failureMessage, False)
# Verify the filename is valid. Must either be the model or part_number.
assert verify_filename(this_device), pytest.fail(this_device.failureMessage, False)