diff --git a/build/lib/cli/create/role.py b/build/lib/cli/create/role.py index f69edbd1..47a482c9 100644 --- a/build/lib/cli/create/role.py +++ b/build/lib/cli/create/role.py @@ -7,7 +7,6 @@ from ruamel.yaml import YAML import sys import os -sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))) from module_utils.entity_name_utils import get_entity_name # Paths to the group-vars files diff --git a/build/lib/cli/meta/categories/invokable.py b/build/lib/cli/meta/categories/invokable.py index 4c8a387c..6f8542d2 100644 --- a/build/lib/cli/meta/categories/invokable.py +++ b/build/lib/cli/meta/categories/invokable.py @@ -12,10 +12,6 @@ if "__file__" in globals(): project_root = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) else: project_root = os.getcwd() - -# Ensure project root on PYTHONPATH so 'filter_plugins' can be imported -sys.path.insert(0, project_root) - import argparse import yaml from filter_plugins.invokable_paths import get_invokable_paths, get_non_invokable_paths diff --git a/build/lib/cli/setup/applications.py b/build/lib/cli/setup/applications.py index cd42bf37..7e8d72ca 100644 --- a/build/lib/cli/setup/applications.py +++ b/build/lib/cli/setup/applications.py @@ -3,17 +3,8 @@ import argparse import yaml import sys from pathlib import Path - -# Ensure project root on PYTHONPATH so module_utils is importable -repo_root = Path(__file__).resolve().parent.parent.parent -sys.path.insert(0, str(repo_root)) - -# Add lookup_plugins for application_gid -plugin_path = repo_root / "lookup_plugins" -sys.path.insert(0, str(plugin_path)) - from module_utils.dict_renderer import DictRenderer -from application_gid import LookupModule +from lookup_plugins.application_gid import LookupModule def load_yaml_file(path: Path) -> dict: if not path.exists(): diff --git a/build/lib/cli/validate/inventory.py b/build/lib/cli/validate/inventory.py index bd67add0..c9c5b7c2 100644 --- a/build/lib/cli/validate/inventory.py +++ b/build/lib/cli/validate/inventory.py @@ -5,11 +5,6 @@ import yaml import re from pathlib import Path -# Ensure imports work when run directly -script_dir = Path(__file__).resolve().parent -repo_root = script_dir.parent.parent -sys.path.insert(0, str(repo_root)) - from cli.meta.applications.all import find_application_ids def load_yaml_file(path): diff --git a/build/lib/filter_plugins/canonical_domains_map.py b/build/lib/filter_plugins/canonical_domains_map.py index 19041e9c..9491c5b0 100644 --- a/build/lib/filter_plugins/canonical_domains_map.py +++ b/build/lib/filter_plugins/canonical_domains_map.py @@ -1,8 +1,6 @@ from ansible.errors import AnsibleFilterError import sys import os - -sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))) from module_utils.entity_name_utils import get_entity_name from module_utils.role_dependency_resolver import RoleDependencyResolver from typing import Iterable diff --git a/build/lib/filter_plugins/csp_filters.py b/build/lib/filter_plugins/csp_filters.py index e5c8f355..b279b532 100644 --- a/build/lib/filter_plugins/csp_filters.py +++ b/build/lib/filter_plugins/csp_filters.py @@ -3,9 +3,6 @@ import hashlib import base64 import sys import os - -# Ensure module_utils is importable when this filter runs from Ansible -sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))) from module_utils.config_utils import get_app_conf from module_utils.get_url import get_url diff --git a/build/lib/filter_plugins/domain_redirect_mappings.py b/build/lib/filter_plugins/domain_redirect_mappings.py index e699ff10..4dcdb1f3 100644 --- a/build/lib/filter_plugins/domain_redirect_mappings.py +++ b/build/lib/filter_plugins/domain_redirect_mappings.py @@ -1,7 +1,6 @@ from ansible.errors import AnsibleFilterError import sys import os -sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))) from module_utils.entity_name_utils import get_entity_name class FilterModule(object): diff --git a/build/lib/filter_plugins/get_app_conf.py b/build/lib/filter_plugins/get_app_conf.py index e153877b..05d9dfa4 100644 --- a/build/lib/filter_plugins/get_app_conf.py +++ b/build/lib/filter_plugins/get_app_conf.py @@ -1,6 +1,5 @@ import sys import os -sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))) from module_utils.config_utils import get_app_conf class FilterModule(object): diff --git a/build/lib/filter_plugins/get_docker_paths.py b/build/lib/filter_plugins/get_docker_paths.py index ee414cec..516adcc5 100644 --- a/build/lib/filter_plugins/get_docker_paths.py +++ b/build/lib/filter_plugins/get_docker_paths.py @@ -1,6 +1,5 @@ import sys import os -sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))) from module_utils.entity_name_utils import get_entity_name def get_docker_paths(application_id: str, path_docker_compose_instances: str) -> dict: diff --git a/build/lib/filter_plugins/get_entity_name.py b/build/lib/filter_plugins/get_entity_name.py index 2a9644ee..c95c3e39 100644 --- a/build/lib/filter_plugins/get_entity_name.py +++ b/build/lib/filter_plugins/get_entity_name.py @@ -1,6 +1,5 @@ import sys import os -sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))) from module_utils.entity_name_utils import get_entity_name class FilterModule(object): diff --git a/build/lib/filter_plugins/get_url.py b/build/lib/filter_plugins/get_url.py index 6b9fc3aa..11f0d482 100644 --- a/build/lib/filter_plugins/get_url.py +++ b/build/lib/filter_plugins/get_url.py @@ -1,7 +1,6 @@ #!/usr/bin/python import sys import os -sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))) from module_utils.get_url import get_url class FilterModule(object): diff --git a/build/lib/filter_plugins/memory_filters.py b/build/lib/filter_plugins/memory_filters.py index 32396cb2..2d8b7842 100644 --- a/build/lib/filter_plugins/memory_filters.py +++ b/build/lib/filter_plugins/memory_filters.py @@ -3,8 +3,6 @@ from __future__ import annotations import sys import os import re -sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))) - from ansible.errors import AnsibleFilterError from module_utils.config_utils import get_app_conf from module_utils.entity_name_utils import get_entity_name diff --git a/build/lib/filter_plugins/resource_filter.py b/build/lib/filter_plugins/resource_filter.py index 24680e03..3fdda64e 100644 --- a/build/lib/filter_plugins/resource_filter.py +++ b/build/lib/filter_plugins/resource_filter.py @@ -3,8 +3,6 @@ from __future__ import annotations import sys import os -sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))) - from module_utils.config_utils import get_app_conf, AppConfigKeyError, ConfigEntryNotSetError # noqa: F401 from module_utils.entity_name_utils import get_entity_name diff --git a/cli/create/role.py b/cli/create/role.py index f69edbd1..47a482c9 100644 --- a/cli/create/role.py +++ b/cli/create/role.py @@ -7,7 +7,6 @@ from ruamel.yaml import YAML import sys import os -sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))) from module_utils.entity_name_utils import get_entity_name # Paths to the group-vars files diff --git a/cli/setup/applications.py b/cli/setup/applications.py index cd42bf37..7e8d72ca 100644 --- a/cli/setup/applications.py +++ b/cli/setup/applications.py @@ -3,17 +3,8 @@ import argparse import yaml import sys from pathlib import Path - -# Ensure project root on PYTHONPATH so module_utils is importable -repo_root = Path(__file__).resolve().parent.parent.parent -sys.path.insert(0, str(repo_root)) - -# Add lookup_plugins for application_gid -plugin_path = repo_root / "lookup_plugins" -sys.path.insert(0, str(plugin_path)) - from module_utils.dict_renderer import DictRenderer -from application_gid import LookupModule +from lookup_plugins.application_gid import LookupModule def load_yaml_file(path: Path) -> dict: if not path.exists(): diff --git a/cli/validate/inventory.py b/cli/validate/inventory.py index bd67add0..588d7a45 100644 --- a/cli/validate/inventory.py +++ b/cli/validate/inventory.py @@ -8,8 +8,6 @@ from pathlib import Path # Ensure imports work when run directly script_dir = Path(__file__).resolve().parent repo_root = script_dir.parent.parent -sys.path.insert(0, str(repo_root)) - from cli.meta.applications.all import find_application_ids def load_yaml_file(path): diff --git a/filter_plugins/__init__.py b/filter_plugins/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/filter_plugins/canonical_domains_map.py b/filter_plugins/canonical_domains_map.py index 19041e9c..9491c5b0 100644 --- a/filter_plugins/canonical_domains_map.py +++ b/filter_plugins/canonical_domains_map.py @@ -1,8 +1,6 @@ from ansible.errors import AnsibleFilterError import sys import os - -sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))) from module_utils.entity_name_utils import get_entity_name from module_utils.role_dependency_resolver import RoleDependencyResolver from typing import Iterable diff --git a/filter_plugins/csp_filters.py b/filter_plugins/csp_filters.py index e5c8f355..b279b532 100644 --- a/filter_plugins/csp_filters.py +++ b/filter_plugins/csp_filters.py @@ -3,9 +3,6 @@ import hashlib import base64 import sys import os - -# Ensure module_utils is importable when this filter runs from Ansible -sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))) from module_utils.config_utils import get_app_conf from module_utils.get_url import get_url diff --git a/filter_plugins/domain_redirect_mappings.py b/filter_plugins/domain_redirect_mappings.py index e699ff10..4dcdb1f3 100644 --- a/filter_plugins/domain_redirect_mappings.py +++ b/filter_plugins/domain_redirect_mappings.py @@ -1,7 +1,6 @@ from ansible.errors import AnsibleFilterError import sys import os -sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))) from module_utils.entity_name_utils import get_entity_name class FilterModule(object): diff --git a/filter_plugins/get_docker_paths.py b/filter_plugins/get_docker_paths.py index ee414cec..516adcc5 100644 --- a/filter_plugins/get_docker_paths.py +++ b/filter_plugins/get_docker_paths.py @@ -1,6 +1,5 @@ import sys import os -sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))) from module_utils.entity_name_utils import get_entity_name def get_docker_paths(application_id: str, path_docker_compose_instances: str) -> dict: diff --git a/filter_plugins/get_entity_name.py b/filter_plugins/get_entity_name.py index 2a9644ee..c95c3e39 100644 --- a/filter_plugins/get_entity_name.py +++ b/filter_plugins/get_entity_name.py @@ -1,6 +1,5 @@ import sys import os -sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))) from module_utils.entity_name_utils import get_entity_name class FilterModule(object): diff --git a/filter_plugins/get_url.py b/filter_plugins/get_url.py index 6b9fc3aa..11f0d482 100644 --- a/filter_plugins/get_url.py +++ b/filter_plugins/get_url.py @@ -1,7 +1,6 @@ #!/usr/bin/python import sys import os -sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))) from module_utils.get_url import get_url class FilterModule(object): diff --git a/filter_plugins/memory_filters.py b/filter_plugins/memory_filters.py index 32396cb2..2d8b7842 100644 --- a/filter_plugins/memory_filters.py +++ b/filter_plugins/memory_filters.py @@ -3,8 +3,6 @@ from __future__ import annotations import sys import os import re -sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))) - from ansible.errors import AnsibleFilterError from module_utils.config_utils import get_app_conf from module_utils.entity_name_utils import get_entity_name diff --git a/filter_plugins/resource_filter.py b/filter_plugins/resource_filter.py index 24680e03..9bc75663 100644 --- a/filter_plugins/resource_filter.py +++ b/filter_plugins/resource_filter.py @@ -1,10 +1,7 @@ -# filter_plugins/resource_filter.py from __future__ import annotations import sys import os -sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))) - from module_utils.config_utils import get_app_conf, AppConfigKeyError, ConfigEntryNotSetError # noqa: F401 from module_utils.entity_name_utils import get_entity_name diff --git a/pyproject.toml b/pyproject.toml index df37ecf8..05749755 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "infinito-nexus" -version = "0.3.0" +version = "0.0.0" description = "Infinito.Nexus" readme = "README.md" requires-python = ">=3.10" diff --git a/roles/sys-ctl-hlth-webserver/filter_plugins/web_health_expectations.py b/roles/sys-ctl-hlth-webserver/filter_plugins/web_health_expectations.py index cc7b488c..fc2d16b4 100644 --- a/roles/sys-ctl-hlth-webserver/filter_plugins/web_health_expectations.py +++ b/roles/sys-ctl-hlth-webserver/filter_plugins/web_health_expectations.py @@ -1,12 +1,8 @@ import os import sys from collections.abc import Mapping - -# Make repo-level module_utils importable (go up three levels from this file) -sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '..', '..', '..'))) from module_utils.config_utils import get_app_conf # reuse existing helper - DEFAULT_OK = [200, 302, 301] diff --git a/roles/web-svc-logout/filter_plugins/domain_filters.py b/roles/web-svc-logout/filter_plugins/domain_filters.py index b665e7ac..24814087 100644 --- a/roles/web-svc-logout/filter_plugins/domain_filters.py +++ b/roles/web-svc-logout/filter_plugins/domain_filters.py @@ -1,9 +1,6 @@ -# roles/web-svc-logout/filter_plugins/domain_filters.py - from ansible.errors import AnsibleFilterError import sys import os -sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '..', '..', '..'))) from module_utils.config_utils import get_app_conf class FilterModule(object): diff --git a/tests/unit/cli/build/conditional_role_include/test_conditional_role_include.py b/tests/unit/cli/build/conditional_role_include/test_conditional_role_include.py index 06a5d4b3..5deea51d 100644 --- a/tests/unit/cli/build/conditional_role_include/test_conditional_role_include.py +++ b/tests/unit/cli/build/conditional_role_include/test_conditional_role_include.py @@ -5,10 +5,6 @@ import unittest import tempfile import shutil import yaml - -# Adjust path to include cli/ folder -sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), "../../../../..", "cli"))) - from cli.build.role_include import build_dependency_graph, topological_sort, gen_condi_role_incl class TestGeneratePlaybook(unittest.TestCase): diff --git a/tests/unit/cli/create/test_credentials.py b/tests/unit/cli/create/test_credentials.py index b4352708..3ada00d1 100644 --- a/tests/unit/cli/create/test_credentials.py +++ b/tests/unit/cli/create/test_credentials.py @@ -2,14 +2,6 @@ import os import sys import unittest from unittest import mock - -# Ensure cli module is importable -dir_path = os.path.abspath( - os.path.join(os.path.dirname(__file__), '../../../cli') -) -sys.path.insert(0, dir_path) - -# Import functions and classes to test from cli.create.credentials import ask_for_confirmation, main from module_utils.handler.vault import VaultHandler import subprocess diff --git a/tests/unit/cli/create/test_inventory.py b/tests/unit/cli/create/test_inventory.py index 9611081e..e80d2df2 100644 --- a/tests/unit/cli/create/test_inventory.py +++ b/tests/unit/cli/create/test_inventory.py @@ -4,13 +4,6 @@ import tempfile import unittest from pathlib import Path import yaml - -# Make cli module importable (same pattern as test_credentials.py) -dir_path = os.path.abspath( - os.path.join(os.path.dirname(__file__), '../../../cli') -) -sys.path.insert(0, dir_path) - from cli.create.inventory import ( # type: ignore merge_inventories, ensure_host_vars_file, diff --git a/tests/unit/cli/test_inventory_manager.py b/tests/unit/cli/test_inventory_manager.py index 8fcbc3fa..d8481774 100644 --- a/tests/unit/cli/test_inventory_manager.py +++ b/tests/unit/cli/test_inventory_manager.py @@ -5,15 +5,6 @@ import tempfile import shutil from pathlib import Path from unittest.mock import patch - -# Ensure the cli package is on sys.path -sys.path.insert( - 0, - os.path.abspath( - os.path.join(os.path.dirname(__file__), "../../../cli") - ), -) - from module_utils.handler.yaml import YamlHandler from module_utils.handler.vault import VaultHandler, VaultScalar from module_utils.manager.inventory import InventoryManager diff --git a/tests/unit/filter_plugins/test_active_docker.py b/tests/unit/filter_plugins/test_active_docker.py index 8e3f11d9..3626b82f 100644 --- a/tests/unit/filter_plugins/test_active_docker.py +++ b/tests/unit/filter_plugins/test_active_docker.py @@ -1,12 +1,6 @@ -# tests/unit/filter_plugins/test_active_docker.py import sys import unittest from pathlib import Path - -# Ensure repository root is on sys.path so "filter_plugins" can be imported -ROOT = Path(__file__).resolve().parents[3] # .../tests/unit/filter_plugins -> repo root -sys.path.insert(0, str(ROOT)) - from filter_plugins.active_docker import ( active_docker_container_count, FilterModule, diff --git a/tests/unit/filter_plugins/test_applications_if_group_and_deps.py b/tests/unit/filter_plugins/test_applications_if_group_and_deps.py index 6a3f039a..f57062a2 100644 --- a/tests/unit/filter_plugins/test_applications_if_group_and_deps.py +++ b/tests/unit/filter_plugins/test_applications_if_group_and_deps.py @@ -1,42 +1,36 @@ -import os -import sys import unittest from unittest.mock import patch, mock_open + from ansible.errors import AnsibleFilterError -# ensure filter_plugins is on the path -dir_path = os.path.abspath( - os.path.join(os.path.dirname(__file__), '../../../filter_plugins') -) -sys.path.insert(0, dir_path) +from filter_plugins.applications_if_group_and_deps import FilterModule -from applications_if_group_and_deps import FilterModule class TestApplicationsIfGroupAndDeps(unittest.TestCase): def setUp(self): self.filter = FilterModule() # minimal applications dict self.apps = { - 'app1': {'foo': 'bar'}, - 'app2': {'baz': 'qux'}, - 'roleA': {'some': 'cfg'}, + "app1": {"foo": "bar"}, + "app2": {"baz": "qux"}, + "roleA": {"some": "cfg"}, } def test_invalid_inputs(self): with self.assertRaises(AnsibleFilterError): - self.filter.applications_if_group_and_deps('not a dict', []) + self.filter.applications_if_group_and_deps("not a dict", []) with self.assertRaises(AnsibleFilterError): - self.filter.applications_if_group_and_deps({}, 'not a list') + self.filter.applications_if_group_and_deps({}, "not a list") def test_direct_inclusion(self): # if an app key is directly in group_names it should be returned - groups = ['app1', 'unrelated'] + groups = ["app1", "unrelated"] result = self.filter.applications_if_group_and_deps(self.apps, groups) - self.assertEqual(set(result.keys()), {'app1'}) + self.assertEqual(set(result.keys()), {"app1"}) - @patch('applications_if_group_and_deps.yaml.safe_load') - @patch('applications_if_group_and_deps.open', new_callable=mock_open) - @patch('applications_if_group_and_deps.os.path.isfile') + @patch("filter_plugins.applications_if_group_and_deps.yaml.safe_load") + @patch("filter_plugins.applications_if_group_and_deps.open", new_callable=mock_open) + @patch("filter_plugins.applications_if_group_and_deps.os.path.isfile") def test_indirect_inclusion_via_dependencies(self, mock_isfile, mock_file, mock_yaml): """ Simulate that group 'groupX' has a dependency on 'roleA', and that @@ -51,33 +45,34 @@ class TestApplicationsIfGroupAndDeps(unittest.TestCase): # 2) roleA/meta/main.yml → dependencies [] # 3) roleA/vars/main.yml → application_id 'roleA' mock_yaml.side_effect = [ - {'dependencies': ['roleA']}, - {'dependencies': []}, - {'application_id': 'roleA'} + {"dependencies": ["roleA"]}, + {"dependencies": []}, + {"application_id": "roleA"}, ] - result = self.filter.applications_if_group_and_deps(self.apps, ['groupX']) - self.assertEqual(set(result.keys()), {'roleA'}) + result = self.filter.applications_if_group_and_deps(self.apps, ["groupX"]) + self.assertEqual(set(result.keys()), {"roleA"}) - @patch('applications_if_group_and_deps.yaml.safe_load') - @patch('applications_if_group_and_deps.open', new_callable=mock_open) - @patch('applications_if_group_and_deps.os.path.isfile') + @patch("filter_plugins.applications_if_group_and_deps.yaml.safe_load") + @patch("filter_plugins.applications_if_group_and_deps.open", new_callable=mock_open) + @patch("filter_plugins.applications_if_group_and_deps.os.path.isfile") def test_no_vars_file(self, mock_isfile, mock_file, mock_yaml): """ If a meta/main.yml dependency exists but vars/main.yml is missing, that role won't contribute an application_id, so nothing is returned. """ # meta exists, vars does not - def isfile_side(path): - return path.endswith('meta/main.yml') + def isfile_side(path: str) -> bool: + return path.endswith("meta/main.yml") + mock_isfile.side_effect = isfile_side # meta declares dependency - mock_yaml.return_value = {'dependencies': ['roleA']} + mock_yaml.return_value = {"dependencies": ["roleA"]} - result = self.filter.applications_if_group_and_deps(self.apps, ['groupX']) + result = self.filter.applications_if_group_and_deps(self.apps, ["groupX"]) self.assertEqual(result, {}) -if __name__ == '__main__': +if __name__ == "__main__": unittest.main() diff --git a/tests/unit/filter_plugins/test_csp_filters.py b/tests/unit/filter_plugins/test_csp_filters.py index f06fe749..e20b122b 100644 --- a/tests/unit/filter_plugins/test_csp_filters.py +++ b/tests/unit/filter_plugins/test_csp_filters.py @@ -4,14 +4,6 @@ import base64 import sys import os import copy - -sys.path.insert( - 0, - os.path.abspath( - os.path.join(os.path.dirname(__file__), "../../../") - ), -) - from filter_plugins.csp_filters import FilterModule, AnsibleFilterError class TestCspFilters(unittest.TestCase): diff --git a/tests/unit/filter_plugins/test_docker_image.py b/tests/unit/filter_plugins/test_docker_image.py index 52cb41d4..fe85d464 100644 --- a/tests/unit/filter_plugins/test_docker_image.py +++ b/tests/unit/filter_plugins/test_docker_image.py @@ -3,11 +3,7 @@ import os import sys import unittest - -# Add filter_plugins/ to the import path -sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), "../../../..", "filter_plugins"))) - -from get_docker_image import FilterModule +from filter_plugins.get_docker_image import FilterModule class TestGetDockerImage(unittest.TestCase): def setUp(self): diff --git a/tests/unit/filter_plugins/test_reserved_users.py b/tests/unit/filter_plugins/test_reserved_users.py index 5173259c..26925b8e 100644 --- a/tests/unit/filter_plugins/test_reserved_users.py +++ b/tests/unit/filter_plugins/test_reserved_users.py @@ -1,17 +1,7 @@ -# tests/unit/filter_plugins/test_reserved_users.py - import os import sys import unittest -# Ensure that the filter_plugins directory is importable -CURRENT_DIR = os.path.dirname(__file__) -REPO_ROOT = os.path.abspath(os.path.join(CURRENT_DIR, "..", "..", "..")) -FILTER_PLUGINS_DIR = os.path.join(REPO_ROOT, "filter_plugins") - -if FILTER_PLUGINS_DIR not in sys.path: - sys.path.insert(0, FILTER_PLUGINS_DIR) - import reserved_users # noqa: E402 from reserved_users import reserved_usernames, non_reserved_users # noqa: E402 from ansible.errors import AnsibleFilterError # type: ignore # noqa: E402 diff --git a/tests/unit/lookup_plugins/test_application_gid.py b/tests/unit/lookup_plugins/test_application_gid.py index d8a25109..331f66b8 100644 --- a/tests/unit/lookup_plugins/test_application_gid.py +++ b/tests/unit/lookup_plugins/test_application_gid.py @@ -4,14 +4,7 @@ import tempfile import shutil import unittest import yaml - -dir_path = os.path.abspath( - os.path.join(os.path.dirname(__file__), '../../../lookup_plugins') -) -sys.path.insert(0, dir_path) - -from application_gid import LookupModule - +from lookup_plugins.application_gid import LookupModule class TestApplicationGidLookup(unittest.TestCase): diff --git a/tests/unit/module_utils/test_cert_utils.py b/tests/unit/module_utils/test_cert_utils.py index ccdcdf24..7948dcfd 100644 --- a/tests/unit/module_utils/test_cert_utils.py +++ b/tests/unit/module_utils/test_cert_utils.py @@ -3,12 +3,6 @@ import os import sys import unittest - -# Add the project root/module_utils to the import path -CURRENT_DIR = os.path.dirname(__file__) -PROJECT_ROOT = os.path.abspath(os.path.join(CURRENT_DIR, "../../..")) -sys.path.insert(0, PROJECT_ROOT) - from module_utils.cert_utils import CertUtils diff --git a/tests/unit/module_utils/test_cert_utils_newest.py b/tests/unit/module_utils/test_cert_utils_newest.py index aca77d13..cdcbc077 100644 --- a/tests/unit/module_utils/test_cert_utils_newest.py +++ b/tests/unit/module_utils/test_cert_utils_newest.py @@ -4,12 +4,6 @@ import sys import unittest from types import SimpleNamespace from unittest.mock import patch - -# Add the project root/module_utils to the import path -CURRENT_DIR = os.path.dirname(__file__) -PROJECT_ROOT = os.path.abspath(os.path.join(CURRENT_DIR, "../../..")) -sys.path.insert(0, PROJECT_ROOT) - from module_utils.cert_utils import CertUtils diff --git a/tests/unit/test_main.py b/tests/unit/test_main.py index 5ac6a9d7..5569cda0 100644 --- a/tests/unit/test_main.py +++ b/tests/unit/test_main.py @@ -3,13 +3,6 @@ import sys import tempfile import unittest from unittest import mock - -# Insert project root into import path so we can import main.py -sys.path.insert( - 0, - os.path.abspath(os.path.join(os.path.dirname(__file__), "../../")) -) - import main # assumes main.py lives at the project root