diff --git a/MANIFEST.in b/MANIFEST.in new file mode 100644 index 000000000..620bb4779 --- /dev/null +++ b/MANIFEST.in @@ -0,0 +1 @@ +recursive-include integration_tests/data/compose *.yml diff --git a/tests/.gitignore b/integration_tests/.gitignore similarity index 100% rename from tests/.gitignore rename to integration_tests/.gitignore diff --git a/tests/MenderAPI/__init__.py b/integration_tests/MenderAPI/__init__.py similarity index 100% rename from tests/MenderAPI/__init__.py rename to integration_tests/MenderAPI/__init__.py diff --git a/tests/MenderAPI/artifacts.py b/integration_tests/MenderAPI/artifacts.py similarity index 100% rename from tests/MenderAPI/artifacts.py rename to integration_tests/MenderAPI/artifacts.py diff --git a/tests/MenderAPI/authentication.py b/integration_tests/MenderAPI/authentication.py similarity index 97% rename from tests/MenderAPI/authentication.py rename to integration_tests/MenderAPI/authentication.py index 62b6f8982..843e32719 100644 --- a/tests/MenderAPI/authentication.py +++ b/integration_tests/MenderAPI/authentication.py @@ -21,8 +21,8 @@ from . import get_container_manager from .requests_helpers import requests_retry -from testutils.infra.cli import CliUseradm, CliTenantadm -from testutils.infra.container_manager.kubernetes_manager import isK8S +from integration_testutils.infra.cli import CliUseradm, CliTenantadm +from integration_testutils.infra.container_manager.kubernetes_manager import isK8S class Authentication: diff --git a/tests/MenderAPI/deployments.py b/integration_tests/MenderAPI/deployments.py similarity index 100% rename from tests/MenderAPI/deployments.py rename to integration_tests/MenderAPI/deployments.py diff --git a/tests/MenderAPI/devauth.py b/integration_tests/MenderAPI/devauth.py similarity index 100% rename from tests/MenderAPI/devauth.py rename to integration_tests/MenderAPI/devauth.py diff --git a/tests/MenderAPI/deviceconnect.py b/integration_tests/MenderAPI/deviceconnect.py similarity index 95% rename from tests/MenderAPI/deviceconnect.py rename to integration_tests/MenderAPI/deviceconnect.py index 5de38410c..d5ea9c395 100644 --- a/tests/MenderAPI/deviceconnect.py +++ b/integration_tests/MenderAPI/deviceconnect.py @@ -12,8 +12,8 @@ # See the License for the specific language governing permissions and # limitations under the License. -from testutils.util import websockets -from testutils.api import deviceconnect +from integration_testutils.util import websockets +from integration_testutils.api import deviceconnect from . import api_version from . import get_container_manager diff --git a/tests/MenderAPI/devicemonitor.py b/integration_tests/MenderAPI/devicemonitor.py similarity index 100% rename from tests/MenderAPI/devicemonitor.py rename to integration_tests/MenderAPI/devicemonitor.py diff --git a/tests/MenderAPI/inventory.py b/integration_tests/MenderAPI/inventory.py similarity index 100% rename from tests/MenderAPI/inventory.py rename to integration_tests/MenderAPI/inventory.py diff --git a/tests/MenderAPI/requests_helpers.py b/integration_tests/MenderAPI/requests_helpers.py similarity index 100% rename from tests/MenderAPI/requests_helpers.py rename to integration_tests/MenderAPI/requests_helpers.py diff --git a/tests/README.md b/integration_tests/README.md similarity index 100% rename from tests/README.md rename to integration_tests/README.md diff --git a/tests/__init__.py b/integration_tests/__init__.py similarity index 100% rename from tests/__init__.py rename to integration_tests/__init__.py diff --git a/tests/ci-parallel-pytest-plugin.py b/integration_tests/ci-parallel-pytest-plugin.py similarity index 100% rename from tests/ci-parallel-pytest-plugin.py rename to integration_tests/ci-parallel-pytest-plugin.py diff --git a/tests/common_setup.py b/integration_tests/common_setup.py similarity index 96% rename from tests/common_setup.py rename to integration_tests/common_setup.py index 2d45f673f..79ee16ce4 100644 --- a/tests/common_setup.py +++ b/integration_tests/common_setup.py @@ -16,14 +16,14 @@ import pytest import uuid -from . import conftest +from integration_tests import conftest -from .MenderAPI import authentication, auth, devauth, reset_mender_api, DeviceAuthV2 +from integration_tests.MenderAPI import authentication, auth, devauth, reset_mender_api, DeviceAuthV2 -from testutils.common import User, new_tenant_client -from testutils.infra.cli import CliTenantadm -from testutils.infra.device import MenderDevice, MenderDeviceGroup -from testutils.infra.container_manager import factory +from integration_testutils.common import User, new_tenant_client +from integration_testutils.infra.cli import CliTenantadm +from integration_testutils.infra.device import MenderDevice, MenderDeviceGroup +from integration_testutils.infra.container_manager import factory container_factory = factory.get_factory() diff --git a/tests/conftest.py b/integration_tests/conftest.py similarity index 93% rename from tests/conftest.py rename to integration_tests/conftest.py index 360343992..82b76454a 100644 --- a/tests/conftest.py +++ b/integration_tests/conftest.py @@ -21,15 +21,16 @@ import packaging.version import multiprocessing +import importlib.resources import filelock import pytest from filelock import FileLock -from testutils.infra.container_manager.base import BaseContainerManagerNamespace -from testutils.infra.device import MenderDevice, MenderDeviceGroup +from integration_testutils.infra.container_manager.base import BaseContainerManagerNamespace +from integration_testutils.infra.device import MenderDevice, MenderDeviceGroup -from . import log -from .tests.mendertesting import MenderTesting +from integration_tests import log +from integration_tests.tests.mendertesting import MenderTesting THIS_DIR = os.path.dirname(os.path.abspath(__file__)) RELEASE_TOOL = os.path.join(THIS_DIR, "..", "extra", "release_tool.py") @@ -111,8 +112,9 @@ def image(compose_file, filename): with FileLock(f".extract_fs_lock.lock"): if os.path.exists(os.path.join(THIS_DIR, filename)): return filename + compose_file_path = importlib.resources.files('integration_tests.data.compose').joinpath(compose_file) return next( - _extract_fs_from_image(os.path.join(THIS_DIR, "..", compose_file), filename) + _extract_fs_from_image(str(compose_file_path), filename) ) @@ -465,3 +467,20 @@ def version_is_minimum(version, min_version): return True return version_parsed >= packaging.version.Version(min_version) + + +@pytest.fixture(scope="session") +def docker_compose_demo_server(request): + """ + Start demo server using docker compose files from integration package + """ + from integration_testutils.infra.container_manager import factory + from integration_tests.MenderAPI import reset_mender_api + + container_factory = factory.get_factory() + env = container_factory.get_standard_setup(num_clients=0) # just the demo server with no clients + request.addfinalizer(env.teardown) + + env.setup() + reset_mender_api(env) + yield env diff --git a/integration_tests/data/__init__.py b/integration_tests/data/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/integration_tests/data/compose/__init__.py b/integration_tests/data/compose/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/integration_tests/data/compose/common.yml b/integration_tests/data/compose/common.yml new file mode 100644 index 000000000..0e2cd6cca --- /dev/null +++ b/integration_tests/data/compose/common.yml @@ -0,0 +1,5 @@ +services: + mender-base: + stdin_open: false + tty: false + restart: on-failure diff --git a/docker-compose.client-dev.yml b/integration_tests/data/compose/docker-compose.client-dev.yml similarity index 100% rename from docker-compose.client-dev.yml rename to integration_tests/data/compose/docker-compose.client-dev.yml diff --git a/docker-compose.client.demo.yml b/integration_tests/data/compose/docker-compose.client.demo.yml similarity index 100% rename from docker-compose.client.demo.yml rename to integration_tests/data/compose/docker-compose.client.demo.yml diff --git a/docker-compose.client.rofs.commercial.yml b/integration_tests/data/compose/docker-compose.client.rofs.commercial.yml similarity index 100% rename from docker-compose.client.rofs.commercial.yml rename to integration_tests/data/compose/docker-compose.client.rofs.commercial.yml diff --git a/docker-compose.client.rofs.yml b/integration_tests/data/compose/docker-compose.client.rofs.yml similarity index 100% rename from docker-compose.client.rofs.yml rename to integration_tests/data/compose/docker-compose.client.rofs.yml diff --git a/docker-compose.client.yml b/integration_tests/data/compose/docker-compose.client.yml similarity index 100% rename from docker-compose.client.yml rename to integration_tests/data/compose/docker-compose.client.yml diff --git a/docker-compose.demo.yml b/integration_tests/data/compose/docker-compose.demo.yml similarity index 100% rename from docker-compose.demo.yml rename to integration_tests/data/compose/docker-compose.demo.yml diff --git a/docker-compose.docker-client.addons.yml b/integration_tests/data/compose/docker-compose.docker-client.addons.yml similarity index 100% rename from docker-compose.docker-client.addons.yml rename to integration_tests/data/compose/docker-compose.docker-client.addons.yml diff --git a/docker-compose.docker-client.yml b/integration_tests/data/compose/docker-compose.docker-client.yml similarity index 100% rename from docker-compose.docker-client.yml rename to integration_tests/data/compose/docker-compose.docker-client.yml diff --git a/docker-compose.enterprise.yml b/integration_tests/data/compose/docker-compose.enterprise.yml similarity index 100% rename from docker-compose.enterprise.yml rename to integration_tests/data/compose/docker-compose.enterprise.yml diff --git a/integration_tests/data/compose/docker-compose.gateway.yml b/integration_tests/data/compose/docker-compose.gateway.yml new file mode 100644 index 000000000..4aeecc95b --- /dev/null +++ b/integration_tests/data/compose/docker-compose.gateway.yml @@ -0,0 +1,6 @@ + +services: + mender-api-gateway: + ports: !reset [] + environment: + TESTING: "true" diff --git a/docker-compose.monitor-client.commercial.yml b/integration_tests/data/compose/docker-compose.monitor-client.commercial.yml similarity index 100% rename from docker-compose.monitor-client.commercial.yml rename to integration_tests/data/compose/docker-compose.monitor-client.commercial.yml diff --git a/docker-compose.mt.client.yml b/integration_tests/data/compose/docker-compose.mt.client.yml similarity index 100% rename from docker-compose.mt.client.yml rename to integration_tests/data/compose/docker-compose.mt.client.yml diff --git a/docker-compose.no-ssl.yml b/integration_tests/data/compose/docker-compose.no-ssl.yml similarity index 100% rename from docker-compose.no-ssl.yml rename to integration_tests/data/compose/docker-compose.no-ssl.yml diff --git a/docker-compose.reporting.yml b/integration_tests/data/compose/docker-compose.reporting.yml similarity index 100% rename from docker-compose.reporting.yml rename to integration_tests/data/compose/docker-compose.reporting.yml diff --git a/docker-compose.storage.minio.yml b/integration_tests/data/compose/docker-compose.storage.minio.yml similarity index 100% rename from docker-compose.storage.minio.yml rename to integration_tests/data/compose/docker-compose.storage.minio.yml diff --git a/docker-compose.storage.s3.yml b/integration_tests/data/compose/docker-compose.storage.s3.yml similarity index 100% rename from docker-compose.storage.s3.yml rename to integration_tests/data/compose/docker-compose.storage.s3.yml diff --git a/docker-compose.testing.enterprise.yml b/integration_tests/data/compose/docker-compose.testing.enterprise.yml similarity index 100% rename from docker-compose.testing.enterprise.yml rename to integration_tests/data/compose/docker-compose.testing.enterprise.yml diff --git a/docker-compose.yml b/integration_tests/data/compose/docker-compose.yml similarity index 100% rename from docker-compose.yml rename to integration_tests/data/compose/docker-compose.yml diff --git a/tests/helpers.py b/integration_tests/helpers.py similarity index 98% rename from tests/helpers.py rename to integration_tests/helpers.py index e8cd1145e..346f4d715 100644 --- a/tests/helpers.py +++ b/integration_tests/helpers.py @@ -16,7 +16,7 @@ import json import time -from .MenderAPI import devauth +from integration_tests.MenderAPI import devauth logger = logging.getLogger() diff --git a/tests/log.py b/integration_tests/log.py similarity index 100% rename from tests/log.py rename to integration_tests/log.py diff --git a/tests/modify_ext4.sh b/integration_tests/modify_ext4.sh similarity index 100% rename from tests/modify_ext4.sh rename to integration_tests/modify_ext4.sh diff --git a/tests/module-state-scripts-test b/integration_tests/module-state-scripts-test similarity index 100% rename from tests/module-state-scripts-test rename to integration_tests/module-state-scripts-test diff --git a/tests/production_test_env.py b/integration_tests/production_test_env.py similarity index 100% rename from tests/production_test_env.py rename to integration_tests/production_test_env.py diff --git a/tests/pytest.ini b/integration_tests/pytest.ini similarity index 100% rename from tests/pytest.ini rename to integration_tests/pytest.ini diff --git a/tests/requirements-python/python-requirements.in b/integration_tests/requirements-python/python-requirements.in similarity index 100% rename from tests/requirements-python/python-requirements.in rename to integration_tests/requirements-python/python-requirements.in diff --git a/tests/requirements-python/python-requirements.txt b/integration_tests/requirements-python/python-requirements.txt similarity index 100% rename from tests/requirements-python/python-requirements.txt rename to integration_tests/requirements-python/python-requirements.txt diff --git a/tests/requirements-system/apk-requirements.txt b/integration_tests/requirements-system/apk-requirements.txt similarity index 100% rename from tests/requirements-system/apk-requirements.txt rename to integration_tests/requirements-system/apk-requirements.txt diff --git a/tests/requirements-system/deb-requirements.txt b/integration_tests/requirements-system/deb-requirements.txt similarity index 100% rename from tests/requirements-system/deb-requirements.txt rename to integration_tests/requirements-system/deb-requirements.txt diff --git a/tests/run.sh b/integration_tests/run.sh similarity index 100% rename from tests/run.sh rename to integration_tests/run.sh diff --git a/tests/tests/__init__.py b/integration_tests/tests/__init__.py similarity index 100% rename from tests/tests/__init__.py rename to integration_tests/tests/__init__.py diff --git a/tests/tests/common.py b/integration_tests/tests/common.py similarity index 100% rename from tests/tests/common.py rename to integration_tests/tests/common.py diff --git a/tests/tests/common_artifact.py b/integration_tests/tests/common_artifact.py similarity index 100% rename from tests/tests/common_artifact.py rename to integration_tests/tests/common_artifact.py diff --git a/tests/tests/common_connect.py b/integration_tests/tests/common_connect.py similarity index 89% rename from tests/tests/common_connect.py rename to integration_tests/tests/common_connect.py index 62d699d2b..904771fc3 100644 --- a/tests/tests/common_connect.py +++ b/integration_tests/tests/common_connect.py @@ -17,12 +17,12 @@ import redo import uuid -import testutils.api.deviceconnect as deviceconnect -from testutils.common import User, update_tenant, new_tenant_client -from testutils.infra.cli import CliTenantadm +import integration_testutils.api.deviceconnect as deviceconnect +from integration_testutils.common import User, update_tenant, new_tenant_client +from integration_testutils.infra.cli import CliTenantadm -from testutils.api.client import ApiClient -from ..MenderAPI import ( +from integration_testutils.api.client import ApiClient +from integration_tests.MenderAPI import ( authentication, get_container_manager, logger, diff --git a/tests/tests/common_update.py b/integration_tests/tests/common_update.py similarity index 98% rename from tests/tests/common_update.py rename to integration_tests/tests/common_update.py index 405476421..1534c1dca 100644 --- a/tests/tests/common_update.py +++ b/integration_tests/tests/common_update.py @@ -17,9 +17,9 @@ import pytest -from .. import conftest -from ..MenderAPI import devauth, deploy, image, logger -from . import artifact_lock +from integration_tests import conftest +from integration_tests.MenderAPI import devauth, deploy, image, logger +from integration_tests.tests import artifact_lock def common_update_procedure( diff --git a/tests/tests/mendertesting.py b/integration_tests/tests/mendertesting.py similarity index 100% rename from tests/tests/mendertesting.py rename to integration_tests/tests/mendertesting.py diff --git a/tests/tests/test_00_multi_tenancy.py b/integration_tests/tests/test_00_multi_tenancy.py similarity index 91% rename from tests/tests/test_00_multi_tenancy.py rename to integration_tests/tests/test_00_multi_tenancy.py index d2aa1e7c8..5a1626968 100644 --- a/tests/tests/test_00_multi_tenancy.py +++ b/integration_tests/tests/test_00_multi_tenancy.py @@ -15,12 +15,12 @@ import uuid import time -from ..common_setup import enterprise_no_client -from ..helpers import Helpers -from ..MenderAPI import auth, devauth, logger, inv -from .common_update import update_image -from .mendertesting import MenderTesting -from testutils.common import new_tenant_client +from integration_tests.common_setup import enterprise_no_client +from integration_tests.helpers import Helpers +from integration_tests.MenderAPI import auth, devauth, logger, inv +from integration_tests.tests.common_update import update_image +from integration_tests.tests.mendertesting import MenderTesting +from integration_testutils.common import new_tenant_client class TestMultiTenancyEnterprise(MenderTesting): diff --git a/tests/tests/test_autogenerate_delta.py b/integration_tests/tests/test_autogenerate_delta.py similarity index 94% rename from tests/tests/test_autogenerate_delta.py rename to integration_tests/tests/test_autogenerate_delta.py index 390074d9d..46a67e099 100644 --- a/tests/tests/test_autogenerate_delta.py +++ b/integration_tests/tests/test_autogenerate_delta.py @@ -16,13 +16,13 @@ import pytest -from .. import conftest -from ..common_setup import enterprise_one_rofs_commercial_client_bootstrapped +from integration_tests import conftest +from integration_tests.common_setup import enterprise_one_rofs_commercial_client_bootstrapped from .common_update import update_image -from testutils.common import ApiClient -import testutils.api.deployments as deployments +from integration_testutils.common import ApiClient +import integration_testutils.api.deployments as deployments -from ..MenderAPI import ( +from integration_tests.MenderAPI import ( image, DeviceAuthV2, Deployments, diff --git a/tests/tests/test_basic_integration.py b/integration_tests/tests/test_basic_integration.py similarity index 99% rename from tests/tests/test_basic_integration.py rename to integration_tests/tests/test_basic_integration.py index 7b91e2681..3266840c6 100644 --- a/tests/tests/test_basic_integration.py +++ b/integration_tests/tests/test_basic_integration.py @@ -17,7 +17,7 @@ import shutil import time -from ..common_setup import ( +from integration_tests.common_setup import ( standard_setup_one_rofs_client_bootstrapped, standard_setup_with_short_lived_token, setup_failover, @@ -27,7 +27,7 @@ enterprise_with_short_lived_token, ) from .common_update import update_image, update_image_failed -from ..MenderAPI import ( +from integration_tests.MenderAPI import ( image, logger, devauth, @@ -37,7 +37,7 @@ get_container_manager, ) from .mendertesting import MenderTesting -from ..helpers import Helpers +from integration_tests.helpers import Helpers class DeviceAuthFailover(DeviceAuthV2): diff --git a/tests/tests/test_bootstrapping.py b/integration_tests/tests/test_bootstrapping.py similarity index 96% rename from tests/tests/test_bootstrapping.py rename to integration_tests/tests/test_bootstrapping.py index c47527195..7187a5cda 100644 --- a/tests/tests/test_bootstrapping.py +++ b/integration_tests/tests/test_bootstrapping.py @@ -16,15 +16,15 @@ import pytest -from ..common_setup import ( +from integration_tests.common_setup import ( standard_setup_one_client, standard_setup_one_client_bootstrapped, enterprise_one_client, enterprise_one_client_bootstrapped, ) from .common_update import common_update_procedure -from ..MenderAPI import DeviceAuthV2, Deployments, logger -from ..helpers import Helpers +from integration_tests.MenderAPI import DeviceAuthV2, Deployments, logger +from integration_tests.helpers import Helpers from .mendertesting import MenderTesting diff --git a/tests/tests/test_configuration.py b/integration_tests/tests/test_configuration.py similarity index 94% rename from tests/tests/test_configuration.py rename to integration_tests/tests/test_configuration.py index 6f3f22710..cd91aa332 100644 --- a/tests/tests/test_configuration.py +++ b/integration_tests/tests/test_configuration.py @@ -19,11 +19,11 @@ import time import uuid -from testutils.infra.cli import CliTenantadm -from testutils.common import Tenant, User, update_tenant, new_tenant_client +from integration_testutils.infra.cli import CliTenantadm +from integration_testutils.common import Tenant, User, update_tenant, new_tenant_client -from ..common_setup import standard_setup_one_client, enterprise_no_client -from ..MenderAPI import ( +from integration_tests.common_setup import standard_setup_one_client, enterprise_no_client +from integration_tests.MenderAPI import ( Authentication, DeviceAuthV2, authentication, @@ -31,7 +31,7 @@ get_container_manager, logger, ) -from ..MenderAPI.requests_helpers import requests_retry +from integration_tests.MenderAPI.requests_helpers import requests_retry from .mendertesting import MenderTesting from .common_connect import wait_for_connect diff --git a/tests/tests/test_db_migration.py b/integration_tests/tests/test_db_migration.py similarity index 97% rename from tests/tests/test_db_migration.py rename to integration_tests/tests/test_db_migration.py index 82f42a3f4..50b55247d 100644 --- a/tests/tests/test_db_migration.py +++ b/integration_tests/tests/test_db_migration.py @@ -18,13 +18,13 @@ import shutil import tempfile -from ..common_setup import ( +from integration_tests.common_setup import ( setup_with_legacy_v1_client, enterprise_with_legacy_v1_client, ) -from .common_update import update_image, common_update_procedure -from ..MenderAPI import DeviceAuthV2, Deployments, logger -from .mendertesting import MenderTesting +from integration_tests.tests.common_update import update_image, common_update_procedure +from integration_tests.MenderAPI import DeviceAuthV2, Deployments, logger +from integration_tests.tests.mendertesting import MenderTesting class BaseTestDBMigration(MenderTesting): diff --git a/tests/tests/test_deployment_aborting.py b/integration_tests/tests/test_deployment_aborting.py similarity index 95% rename from tests/tests/test_deployment_aborting.py rename to integration_tests/tests/test_deployment_aborting.py index f9a3c5863..c73850a42 100644 --- a/tests/tests/test_deployment_aborting.py +++ b/integration_tests/tests/test_deployment_aborting.py @@ -15,13 +15,13 @@ import os import pytest -from ..common_setup import ( +from integration_tests.common_setup import ( standard_setup_one_client_bootstrapped, enterprise_one_client_bootstrapped, ) -from .common_update import common_update_procedure -from ..MenderAPI import DeviceAuthV2, Deployments -from .mendertesting import MenderTesting +from integration_tests.tests.common_update import common_update_procedure +from integration_tests.MenderAPI import DeviceAuthV2, Deployments +from integration_tests.tests.mendertesting import MenderTesting class BaseTestDeploymentAborting(MenderTesting): diff --git a/tests/tests/test_deployment_retry.py b/integration_tests/tests/test_deployment_retry.py similarity index 89% rename from tests/tests/test_deployment_retry.py rename to integration_tests/tests/test_deployment_retry.py index 6ae148e8a..10a9ee5cc 100644 --- a/tests/tests/test_deployment_retry.py +++ b/integration_tests/tests/test_deployment_retry.py @@ -18,14 +18,14 @@ import tempfile import uuid -from .. import conftest -from ..common_setup import enterprise_no_client -from ..MenderAPI import logger, Authentication, DeviceAuthV2, Deployments -from ..helpers import Helpers -from testutils.infra.cli import CliTenantadm -from testutils.common import Tenant, User, new_tenant_client -from .common_artifact import get_script_artifact -from .mendertesting import MenderTesting +from integration_tests import conftest +from integration_tests.common_setup import enterprise_no_client +from integration_tests.MenderAPI import logger, Authentication, DeviceAuthV2, Deployments +from integration_tests.helpers import Helpers +from integration_testutils.infra.cli import CliTenantadm +from integration_testutils.common import Tenant, User, new_tenant_client +from integration_tests.tests.common_artifact import get_script_artifact +from integration_tests.tests.mendertesting import MenderTesting def make_script_artifact(artifact_name, device_type, output_path): diff --git a/tests/tests/test_fault_tolerance.py b/integration_tests/tests/test_fault_tolerance.py similarity index 97% rename from tests/tests/test_fault_tolerance.py rename to integration_tests/tests/test_fault_tolerance.py index c7dde226d..b35ae1330 100644 --- a/tests/tests/test_fault_tolerance.py +++ b/integration_tests/tests/test_fault_tolerance.py @@ -19,15 +19,15 @@ import tempfile import time -from .. import conftest -from ..common_setup import ( +from integration_tests import conftest +from integration_tests.common_setup import ( standard_setup_one_client_bootstrapped, enterprise_one_client_bootstrapped, ) -from .common_update import common_update_procedure, update_image_failed -from ..MenderAPI import DeviceAuthV2, Deployments, logger -from .mendertesting import MenderTesting -from testutils.infra.container_manager.kubernetes_manager import isK8S +from integration_tests.tests.common_update import common_update_procedure, update_image_failed +from integration_tests.MenderAPI import DeviceAuthV2, Deployments, logger +from integration_tests.tests.mendertesting import MenderTesting +from integration_testutils.infra.container_manager.kubernetes_manager import isK8S @pytest.mark.skipif( diff --git a/tests/tests/test_filetransfer.py b/integration_tests/tests/test_filetransfer.py similarity index 98% rename from tests/tests/test_filetransfer.py rename to integration_tests/tests/test_filetransfer.py index 9367f2977..01a06e67d 100644 --- a/tests/tests/test_filetransfer.py +++ b/integration_tests/tests/test_filetransfer.py @@ -30,13 +30,13 @@ from tempfile import NamedTemporaryFile -from ..common_setup import ( +from integration_tests.common_setup import ( standard_setup_one_client, enterprise_no_client_class, class_persistent_standard_setup_one_client_bootstrapped, ) -from ..MenderAPI import ( +from integration_tests.MenderAPI import ( auth, authentication, get_container_manager, @@ -44,11 +44,11 @@ logger, devauth, ) -from .common_connect import prepare_env_for_connect, wait_for_connect -from .common import md5sum -from .mendertesting import MenderTesting -from testutils.infra.container_manager import factory -from testutils.infra.device import MenderDevice +from integration_tests.tests.common_connect import prepare_env_for_connect, wait_for_connect +from integration_tests.tests.common import md5sum +from integration_tests.tests.mendertesting import MenderTesting +from integration_testutils.infra.container_manager import factory +from integration_testutils.infra.device import MenderDevice container_factory = factory.get_factory() diff --git a/tests/tests/test_filetransfer_cli.py b/integration_tests/tests/test_filetransfer_cli.py similarity index 94% rename from tests/tests/test_filetransfer_cli.py rename to integration_tests/tests/test_filetransfer_cli.py index d161be2a0..4bc1142e8 100644 --- a/tests/tests/test_filetransfer_cli.py +++ b/integration_tests/tests/test_filetransfer_cli.py @@ -18,11 +18,11 @@ from tempfile import NamedTemporaryFile -from ..common_setup import standard_setup_one_client_bootstrapped, enterprise_no_client -from ..MenderAPI import authentication, get_container_manager, logger, DeviceAuthV2 -from .common_connect import prepare_env_for_connect, wait_for_connect -from .common import md5sum -from .mendertesting import MenderTesting +from integration_tests.common_setup import standard_setup_one_client_bootstrapped, enterprise_no_client +from integration_tests.MenderAPI import authentication, get_container_manager, logger, DeviceAuthV2 +from integration_tests.tests.common_connect import prepare_env_for_connect, wait_for_connect +from integration_tests.tests.common import md5sum +from integration_tests.tests.mendertesting import MenderTesting class BaseTestFileTransferCLI(MenderTesting): diff --git a/tests/tests/test_grouping.py b/integration_tests/tests/test_grouping.py similarity index 95% rename from tests/tests/test_grouping.py rename to integration_tests/tests/test_grouping.py index 3573371c6..b448bd210 100644 --- a/tests/tests/test_grouping.py +++ b/integration_tests/tests/test_grouping.py @@ -12,14 +12,14 @@ # See the License for the specific language governing permissions and # limitations under the License. -from ..common_setup import ( +from integration_tests.common_setup import ( standard_setup_two_clients_bootstrapped, enterprise_two_clients_bootstrapped, ) -from .common_update import common_update_procedure -from ..MenderAPI import DeviceAuthV2, Deployments, Inventory, image, logger -from .mendertesting import MenderTesting -from ..helpers import Helpers +from integration_tests.tests.common_update import common_update_procedure +from integration_tests.MenderAPI import DeviceAuthV2, Deployments, Inventory, image, logger +from integration_tests.tests.mendertesting import MenderTesting +from integration_tests.helpers import Helpers class BaseTestGrouping(MenderTesting): diff --git a/tests/tests/test_image_update_failures.py b/integration_tests/tests/test_image_update_failures.py similarity index 94% rename from tests/tests/test_image_update_failures.py rename to integration_tests/tests/test_image_update_failures.py index 36dad2d8d..c2397c610 100644 --- a/tests/tests/test_image_update_failures.py +++ b/integration_tests/tests/test_image_update_failures.py @@ -12,13 +12,13 @@ # See the License for the specific language governing permissions and # limitations under the License. -from ..common_setup import ( +from integration_tests.common_setup import ( standard_setup_one_client_bootstrapped, enterprise_one_client_bootstrapped, ) -from .common_update import common_update_procedure -from .mendertesting import MenderTesting -from ..MenderAPI import DeviceAuthV2, Deployments +from integration_tests.tests.common_update import common_update_procedure +from integration_tests.tests.mendertesting import MenderTesting +from integration_tests.MenderAPI import DeviceAuthV2, Deployments class BaseTestFailures(MenderTesting): diff --git a/tests/tests/test_inventory.py b/integration_tests/tests/test_inventory.py similarity index 97% rename from tests/tests/test_inventory.py rename to integration_tests/tests/test_inventory.py index 005e9ec3b..d92f76acc 100644 --- a/tests/tests/test_inventory.py +++ b/integration_tests/tests/test_inventory.py @@ -17,15 +17,15 @@ import tempfile import time -from .. import conftest -from ..common_setup import ( +from integration_tests import conftest +from integration_tests.common_setup import ( standard_setup_one_client_bootstrapped, enterprise_one_client_bootstrapped, ) -from ..MenderAPI import DeviceAuthV2, Deployments, Inventory, logger -from ..helpers import Helpers -from .common_artifact import get_script_artifact -from .mendertesting import MenderTesting +from integration_tests.MenderAPI import DeviceAuthV2, Deployments, Inventory, logger +from integration_tests.helpers import Helpers +from integration_tests.tests.common_artifact import get_script_artifact +from integration_tests.tests.mendertesting import MenderTesting def make_script_artifact(artifact_name, device_type, output_path, extra_args): diff --git a/tests/tests/test_legacy_golang_update.py b/integration_tests/tests/test_legacy_golang_update.py similarity index 94% rename from tests/tests/test_legacy_golang_update.py rename to integration_tests/tests/test_legacy_golang_update.py index ecec25441..699b3547d 100644 --- a/tests/tests/test_legacy_golang_update.py +++ b/integration_tests/tests/test_legacy_golang_update.py @@ -12,13 +12,13 @@ # See the License for the specific language governing permissions and # limitations under the License. -from ..common_setup import ( +from integration_tests.common_setup import ( setup_with_legacy_v3_client, enterprise_with_legacy_v3_client, ) -from .common_update import update_image, update_image_failed -from ..MenderAPI import DeviceAuthV2, Deployments, logger -from .mendertesting import MenderTesting +from integration_tests.tests.common_update import update_image, update_image_failed +from integration_tests.MenderAPI import DeviceAuthV2, Deployments, logger +from integration_tests.tests.mendertesting import MenderTesting class BaseTestLegacyGolangUpdate(MenderTesting): diff --git a/tests/tests/test_mender_connect.py b/integration_tests/tests/test_mender_connect.py similarity index 96% rename from tests/tests/test_mender_connect.py rename to integration_tests/tests/test_mender_connect.py index b4ff133a2..622ddc617 100644 --- a/tests/tests/test_mender_connect.py +++ b/integration_tests/tests/test_mender_connect.py @@ -19,18 +19,18 @@ from flaky import flaky -from testutils.api import proto_shell, protomsg -from testutils.infra.cli import CliTenantadm -from testutils.infra.container_manager import factory -from testutils.infra.container_manager.kubernetes_manager import isK8S -from testutils.infra.device import MenderDevice -from ..common_setup import ( +from integration_testutils.api import proto_shell, protomsg +from integration_testutils.infra.cli import CliTenantadm +from integration_testutils.infra.container_manager import factory +from integration_testutils.infra.container_manager.kubernetes_manager import isK8S +from integration_testutils.infra.device import MenderDevice +from integration_tests.common_setup import ( class_persistent_standard_setup_one_client_bootstrapped, standard_setup_one_client_bootstrapped, enterprise_no_client_class, enterprise_no_client, ) -from ..MenderAPI import ( +from integration_tests.MenderAPI import ( DeviceAuthV2, Authentication, DeviceConnect, @@ -38,8 +38,8 @@ set_container_manager, logger, ) -from testutils.common import User, update_tenant -from .common_connect import wait_for_connect +from integration_testutils.common import User, update_tenant +from integration_tests.tests.common_connect import wait_for_connect container_factory = factory.get_factory() diff --git a/tests/tests/test_monitor_client.py b/integration_tests/tests/test_monitor_client.py similarity index 99% rename from tests/tests/test_monitor_client.py rename to integration_tests/tests/test_monitor_client.py index 5fc8c2d27..005468cbc 100644 --- a/tests/tests/test_monitor_client.py +++ b/integration_tests/tests/test_monitor_client.py @@ -27,9 +27,9 @@ from email.parser import Parser from email.policy import default from redo import retriable -from ..common_setup import monitor_commercial_setup_no_client +from integration_tests.common_setup import monitor_commercial_setup_no_client -from ..MenderAPI import ( +from integration_tests.MenderAPI import ( authentication, get_container_manager, DeviceAuthV2, @@ -38,13 +38,13 @@ logger, ) -from testutils.api import useradm -from testutils.api.client import ApiClient -from testutils.infra.container_manager import factory -from testutils.infra.container_manager.kubernetes_manager import isK8S -from testutils.infra import smtpd_mock -from testutils.common import User, new_tenant_client -from testutils.infra.cli import CliTenantadm +from integration_testutils.api import useradm +from integration_testutils.api.client import ApiClient +from integration_testutils.infra.container_manager import factory +from integration_testutils.infra.container_manager.kubernetes_manager import isK8S +from integration_testutils.infra import smtpd_mock +from integration_testutils.common import User, new_tenant_client +from integration_testutils.infra.cli import CliTenantadm container_factory = factory.get_factory() connect_service_name = "mender-connect" diff --git a/tests/tests/test_mtls.py b/integration_tests/tests/test_mtls.py similarity index 96% rename from tests/tests/test_mtls.py rename to integration_tests/tests/test_mtls.py index 2f0d63a2c..022479425 100644 --- a/tests/tests/test_mtls.py +++ b/integration_tests/tests/test_mtls.py @@ -21,16 +21,16 @@ import tempfile import time -from testutils.common import create_org -from testutils.infra.container_manager import factory -from testutils.infra.container_manager.kubernetes_manager import isK8S -from testutils.infra.device import MenderDevice - -from .. import conftest -from ..MenderAPI import reset_mender_api, auth, deploy, devauth, logger -from ..helpers import Helpers -from .common_artifact import get_script_artifact -from .mendertesting import MenderTesting +from integration_testutils.common import create_org +from integration_testutils.infra.container_manager import factory +from integration_testutils.infra.container_manager.kubernetes_manager import isK8S +from integration_testutils.infra.device import MenderDevice + +from integration_tests import conftest +from integration_tests.MenderAPI import reset_mender_api, auth, deploy, devauth, logger +from integration_tests.helpers import Helpers +from integration_tests.tests.common_artifact import get_script_artifact +from integration_tests.tests.mendertesting import MenderTesting container_factory = factory.get_factory() diff --git a/tests/tests/test_os_ent_migration.py b/integration_tests/tests/test_os_ent_migration.py similarity index 94% rename from tests/tests/test_os_ent_migration.py rename to integration_tests/tests/test_os_ent_migration.py index 82959e85a..02242de60 100644 --- a/tests/tests/test_os_ent_migration.py +++ b/integration_tests/tests/test_os_ent_migration.py @@ -16,13 +16,13 @@ import pytest -from testutils.common import create_user, make_accepted_device, User, Tenant -from testutils.api.client import ApiClient -from testutils.infra.cli import CliTenantadm -import testutils.api.deviceauth as deviceauth -import testutils.api.deployments as deployments -import testutils.api.useradm as useradm -from testutils.infra.container_manager import factory +from integration_testutils.common import create_user, make_accepted_device, User, Tenant +from integration_testutils.api.client import ApiClient +from integration_testutils.infra.cli import CliTenantadm +import integration_testutils.api.deviceauth as deviceauth +import integration_testutils.api.deployments as deployments +import integration_testutils.api.useradm as useradm +from integration_testutils.infra.container_manager import factory # This test requires special manipulation of containers, so it will use # directly the factory to prepare fixtures instead of common_setup diff --git a/tests/tests/test_portforward.py b/integration_tests/tests/test_portforward.py similarity index 93% rename from tests/tests/test_portforward.py rename to integration_tests/tests/test_portforward.py index d9fa44d9e..7ffbfa6ba 100644 --- a/tests/tests/test_portforward.py +++ b/integration_tests/tests/test_portforward.py @@ -27,12 +27,12 @@ from DNS import DnsRequest, SocketError -from ..common_setup import standard_setup_one_client_bootstrapped, enterprise_no_client -from .common_connect import prepare_env_for_connect -from ..MenderAPI import authentication, devauth, get_container_manager, logger -from .common_connect import wait_for_connect -from .common import md5sum -from .mendertesting import MenderTesting +from integration_tests.common_setup import standard_setup_one_client_bootstrapped, enterprise_no_client +from integration_tests.tests.common_connect import prepare_env_for_connect +from integration_tests.MenderAPI import authentication, devauth, get_container_manager, logger +from integration_tests.tests.common_connect import wait_for_connect +from integration_tests.tests.common import md5sum +from integration_tests.tests.mendertesting import MenderTesting # Function must be defined outside of class so it can be pickled def port_forward(auth_token, server_url, dev_id, port_mapping, *port_mappings): diff --git a/tests/tests/test_preauth.py b/integration_tests/tests/test_preauth.py similarity index 96% rename from tests/tests/test_preauth.py rename to integration_tests/tests/test_preauth.py index 5c2813116..d4644d392 100644 --- a/tests/tests/test_preauth.py +++ b/integration_tests/tests/test_preauth.py @@ -18,11 +18,11 @@ from cryptography.hazmat.backends import default_backend from cryptography.hazmat.primitives import serialization -from ..common_setup import standard_setup_one_client, enterprise_no_client -from .mendertesting import MenderTesting -from ..MenderAPI import auth, devauth, inv, logger -from ..helpers import Helpers -from testutils.infra.device import MenderDevice +from integration_tests.common_setup import standard_setup_one_client, enterprise_no_client +from integration_tests.tests.mendertesting import MenderTesting +from integration_tests.MenderAPI import auth, devauth, inv, logger +from integration_tests.helpers import Helpers +from integration_testutils.infra.device import MenderDevice class TestPreauthBase(MenderTesting): diff --git a/tests/tests/test_provides_depends.py b/integration_tests/tests/test_provides_depends.py similarity index 92% rename from tests/tests/test_provides_depends.py rename to integration_tests/tests/test_provides_depends.py index 2953d01a1..02d113bb8 100644 --- a/tests/tests/test_provides_depends.py +++ b/integration_tests/tests/test_provides_depends.py @@ -17,12 +17,12 @@ import time import uuid -from ..common_setup import enterprise_no_client -from .common_update import update_image, common_update_procedure -from .mendertesting import MenderTesting -from ..MenderAPI import auth, devauth, deploy, logger +from integration_tests.common_setup import enterprise_no_client +from integration_tests.tests.common_update import update_image, common_update_procedure +from integration_tests.tests.mendertesting import MenderTesting +from integration_tests.MenderAPI import auth, devauth, deploy, logger -from testutils.infra.device import MenderDevice +from integration_testutils.infra.device import MenderDevice class TestProvidesDependsEnterprise(MenderTesting): diff --git a/tests/tests/test_remote_terminal.py b/integration_tests/tests/test_remote_terminal.py similarity index 88% rename from tests/tests/test_remote_terminal.py rename to integration_tests/tests/test_remote_terminal.py index dccf73543..92be506e3 100644 --- a/tests/tests/test_remote_terminal.py +++ b/integration_tests/tests/test_remote_terminal.py @@ -16,11 +16,11 @@ import subprocess import time -from ..common_setup import standard_setup_one_client_bootstrapped, enterprise_no_client -from .common_connect import prepare_env_for_connect -from ..MenderAPI import authentication, devauth, get_container_manager, logger -from .common_connect import wait_for_connect -from .mendertesting import MenderTesting +from integration_tests.common_setup import standard_setup_one_client_bootstrapped, enterprise_no_client +from integration_tests.tests.common_connect import prepare_env_for_connect +from integration_tests.MenderAPI import authentication, devauth, get_container_manager, logger +from integration_tests.tests.common_connect import wait_for_connect +from integration_tests.tests.mendertesting import MenderTesting from flaky import flaky diff --git a/tests/tests/test_security.py b/integration_tests/tests/test_security.py similarity index 93% rename from tests/tests/test_security.py rename to integration_tests/tests/test_security.py index 9a23e4acc..078060ee6 100644 --- a/tests/tests/test_security.py +++ b/integration_tests/tests/test_security.py @@ -20,15 +20,15 @@ import pytest -from ..common_setup import ( +from integration_tests.common_setup import ( running_custom_production_setup, standard_setup_with_short_lived_token, enterprise_with_short_lived_token, ) -from ..helpers import Helpers -from ..MenderAPI import DeviceAuthV2, Deployments, logger -from .common_update import common_update_procedure -from .mendertesting import MenderTesting +from integration_tests.helpers import Helpers +from integration_tests.MenderAPI import DeviceAuthV2, Deployments, logger +from integration_tests.tests.common_update import common_update_procedure +from integration_tests.tests.mendertesting import MenderTesting class BaseTestSecurity(MenderTesting): diff --git a/tests/tests/test_signed_image_update.py b/integration_tests/tests/test_signed_image_update.py similarity index 93% rename from tests/tests/test_signed_image_update.py rename to integration_tests/tests/test_signed_image_update.py index 1b51c9a16..ce9db2bb4 100644 --- a/tests/tests/test_signed_image_update.py +++ b/integration_tests/tests/test_signed_image_update.py @@ -14,13 +14,13 @@ import pytest -from ..common_setup import ( +from integration_tests.common_setup import ( standard_setup_with_signed_artifact_client, enterprise_with_signed_artifact_client, ) -from .common_update import update_image, common_update_procedure -from ..MenderAPI import DeviceAuthV2, Deployments -from .mendertesting import MenderTesting +from integration_tests.tests.common_update import update_image, common_update_procedure +from integration_tests.MenderAPI import DeviceAuthV2, Deployments +from integration_tests.tests.mendertesting import MenderTesting class BaseTestSignedUpdates(MenderTesting): diff --git a/tests/tests/test_state_scripts.py b/integration_tests/tests/test_state_scripts.py similarity index 98% rename from tests/tests/test_state_scripts.py rename to integration_tests/tests/test_state_scripts.py index 6b5a9c9ec..d31dc347c 100644 --- a/tests/tests/test_state_scripts.py +++ b/integration_tests/tests/test_state_scripts.py @@ -20,16 +20,16 @@ import pytest -from .. import conftest -from ..common_setup import ( +from integration_tests import conftest +from integration_tests.common_setup import ( class_persistent_standard_setup_one_client_bootstrapped, class_persistent_enterprise_one_client_bootstrapped, ) -from .common_update import common_update_procedure -from ..helpers import Helpers -from ..MenderAPI import DeviceAuthV2, Deployments, logger, image -from .mendertesting import MenderTesting -from testutils.infra.device import MenderDeviceGroup +from integration_tests.tests.common_update import common_update_procedure +from integration_tests.helpers import Helpers +from integration_tests.MenderAPI import DeviceAuthV2, Deployments, logger, image +from integration_tests.tests.mendertesting import MenderTesting +from integration_testutils.infra.device import MenderDeviceGroup @pytest.fixture(scope="class") diff --git a/tests/tests/test_tcp_teardown.py b/integration_tests/tests/test_tcp_teardown.py similarity index 97% rename from tests/tests/test_tcp_teardown.py rename to integration_tests/tests/test_tcp_teardown.py index 66ecd9648..e5a1c9046 100644 --- a/tests/tests/test_tcp_teardown.py +++ b/integration_tests/tests/test_tcp_teardown.py @@ -18,8 +18,8 @@ import tempfile import time -from ..common_setup import standard_setup_one_client -from ..MenderAPI import devauth, logger +from integration_tests.common_setup import standard_setup_one_client +from integration_tests.MenderAPI import devauth, logger def set_long_poll_intervals(mender_device): diff --git a/tests/tests/test_update_modules.py b/integration_tests/tests/test_update_modules.py similarity index 91% rename from tests/tests/test_update_modules.py rename to integration_tests/tests/test_update_modules.py index 4a28eeef4..74912b146 100644 --- a/tests/tests/test_update_modules.py +++ b/integration_tests/tests/test_update_modules.py @@ -17,14 +17,14 @@ import tempfile import shutil -from .. import conftest -from ..common_setup import ( +from integration_tests import conftest +from integration_tests.common_setup import ( standard_setup_one_docker_client_bootstrapped, enterprise_one_docker_client_bootstrapped, ) -from .common_update import common_update_procedure -from ..MenderAPI import DeviceAuthV2, Deployments, logger -from .mendertesting import MenderTesting +from integration_tests.tests.common_update import common_update_procedure +from integration_tests.MenderAPI import DeviceAuthV2, Deployments, logger +from integration_tests.tests.mendertesting import MenderTesting class BaseTestUpdateModules(MenderTesting): diff --git a/testutils/__init__.py b/integration_testutils/__init__.py similarity index 100% rename from testutils/__init__.py rename to integration_testutils/__init__.py diff --git a/testutils/api/__init__.py b/integration_testutils/api/__init__.py similarity index 100% rename from testutils/api/__init__.py rename to integration_testutils/api/__init__.py diff --git a/testutils/api/auditlogs.py b/integration_testutils/api/auditlogs.py similarity index 100% rename from testutils/api/auditlogs.py rename to integration_testutils/api/auditlogs.py diff --git a/testutils/api/client.py b/integration_testutils/api/client.py similarity index 98% rename from testutils/api/client.py rename to integration_testutils/api/client.py index 14df8ccdb..2968701b0 100644 --- a/testutils/api/client.py +++ b/integration_testutils/api/client.py @@ -23,7 +23,7 @@ from urllib3.exceptions import InsecureRequestWarning -from testutils.infra.container_manager.kubernetes_manager import isK8S +from integration_testutils.infra.container_manager.kubernetes_manager import isK8S GATEWAY_HOSTNAME = os.environ.get("GATEWAY_HOSTNAME") or "mender-api-gateway" diff --git a/testutils/api/deployments.py b/integration_testutils/api/deployments.py similarity index 100% rename from testutils/api/deployments.py rename to integration_testutils/api/deployments.py diff --git a/testutils/api/deployments_v2.py b/integration_testutils/api/deployments_v2.py similarity index 100% rename from testutils/api/deployments_v2.py rename to integration_testutils/api/deployments_v2.py diff --git a/testutils/api/deviceauth.py b/integration_testutils/api/deviceauth.py similarity index 97% rename from testutils/api/deviceauth.py rename to integration_testutils/api/deviceauth.py index 3fca4d6d9..425122c65 100644 --- a/testutils/api/deviceauth.py +++ b/integration_testutils/api/deviceauth.py @@ -14,7 +14,7 @@ import json from typing import Dict, Tuple -import testutils.util.crypto +import integration_testutils.util.crypto HOST = "mender-device-auth:8080" diff --git a/testutils/api/deviceconfig.py b/integration_testutils/api/deviceconfig.py similarity index 100% rename from testutils/api/deviceconfig.py rename to integration_testutils/api/deviceconfig.py diff --git a/testutils/api/deviceconnect.py b/integration_testutils/api/deviceconnect.py similarity index 100% rename from testutils/api/deviceconnect.py rename to integration_testutils/api/deviceconnect.py diff --git a/testutils/api/devicemonitor.py b/integration_testutils/api/devicemonitor.py similarity index 100% rename from testutils/api/devicemonitor.py rename to integration_testutils/api/devicemonitor.py diff --git a/testutils/api/inventory.py b/integration_testutils/api/inventory.py similarity index 100% rename from testutils/api/inventory.py rename to integration_testutils/api/inventory.py diff --git a/testutils/api/inventory_v2.py b/integration_testutils/api/inventory_v2.py similarity index 100% rename from testutils/api/inventory_v2.py rename to integration_testutils/api/inventory_v2.py diff --git a/testutils/api/iot_manager.py b/integration_testutils/api/iot_manager.py similarity index 100% rename from testutils/api/iot_manager.py rename to integration_testutils/api/iot_manager.py diff --git a/testutils/api/proto_shell.py b/integration_testutils/api/proto_shell.py similarity index 100% rename from testutils/api/proto_shell.py rename to integration_testutils/api/proto_shell.py diff --git a/testutils/api/protomsg.py b/integration_testutils/api/protomsg.py similarity index 100% rename from testutils/api/protomsg.py rename to integration_testutils/api/protomsg.py diff --git a/testutils/api/tenantadm.py b/integration_testutils/api/tenantadm.py similarity index 100% rename from testutils/api/tenantadm.py rename to integration_testutils/api/tenantadm.py diff --git a/testutils/api/tenantadm_v2.py b/integration_testutils/api/tenantadm_v2.py similarity index 100% rename from testutils/api/tenantadm_v2.py rename to integration_testutils/api/tenantadm_v2.py diff --git a/testutils/api/useradm.py b/integration_testutils/api/useradm.py similarity index 100% rename from testutils/api/useradm.py rename to integration_testutils/api/useradm.py diff --git a/testutils/api/workflows.py b/integration_testutils/api/workflows.py similarity index 100% rename from testutils/api/workflows.py rename to integration_testutils/api/workflows.py diff --git a/testutils/common.py b/integration_testutils/common.py similarity index 97% rename from testutils/common.py rename to integration_testutils/common.py index 21ec6502c..c480437ad 100644 --- a/testutils/common.py +++ b/integration_testutils/common.py @@ -30,16 +30,16 @@ from redo import retrier -import testutils.api.deviceauth as deviceauth -import testutils.api.inventory as inventory -import testutils.api.tenantadm as tenantadm -import testutils.api.useradm as useradm -import testutils.util.crypto -from testutils.api.client import ApiClient, GATEWAY_HOSTNAME -from testutils.infra.container_manager.kubernetes_manager import isK8S -from testutils.infra.mongo import MongoClient -from testutils.infra.cli import CliUseradm, CliTenantadm -from testutils.infra.device import MenderDevice, MenderDeviceGroup +import integration_testutils.api.deviceauth as deviceauth +import integration_testutils.api.inventory as inventory +import integration_testutils.api.tenantadm as tenantadm +import integration_testutils.api.useradm as useradm +import integration_testutils.util.crypto +from integration_testutils.api.client import ApiClient, GATEWAY_HOSTNAME +from integration_testutils.infra.container_manager.kubernetes_manager import isK8S +from integration_testutils.infra.mongo import MongoClient +from integration_testutils.infra.cli import CliUseradm, CliTenantadm +from integration_testutils.infra.device import MenderDevice, MenderDeviceGroup logger = logging.getLogger() diff --git a/testutils/infra/__init__.py b/integration_testutils/infra/__init__.py similarity index 100% rename from testutils/infra/__init__.py rename to integration_testutils/infra/__init__.py diff --git a/testutils/infra/cli.py b/integration_testutils/infra/cli.py similarity index 98% rename from testutils/infra/cli.py rename to integration_testutils/infra/cli.py index 586c8a421..e24022ebf 100644 --- a/testutils/infra/cli.py +++ b/integration_testutils/infra/cli.py @@ -20,8 +20,8 @@ from contextlib import contextmanager from typing import List -from testutils.infra.container_manager.docker_manager import DockerNamespace -from testutils.infra.container_manager.kubernetes_manager import ( +from integration_testutils.infra.container_manager.docker_manager import DockerNamespace +from integration_testutils.infra.container_manager.kubernetes_manager import ( KubernetesNamespace, isK8S, ) diff --git a/testutils/infra/container_manager/__init__.py b/integration_testutils/infra/container_manager/__init__.py similarity index 100% rename from testutils/infra/container_manager/__init__.py rename to integration_testutils/infra/container_manager/__init__.py diff --git a/testutils/infra/container_manager/base.py b/integration_testutils/infra/container_manager/base.py similarity index 100% rename from testutils/infra/container_manager/base.py rename to integration_testutils/infra/container_manager/base.py diff --git a/testutils/infra/container_manager/docker_compose_base_manager.py b/integration_testutils/infra/container_manager/docker_compose_base_manager.py similarity index 100% rename from testutils/infra/container_manager/docker_compose_base_manager.py rename to integration_testutils/infra/container_manager/docker_compose_base_manager.py diff --git a/testutils/infra/container_manager/docker_compose_manager.py b/integration_testutils/infra/container_manager/docker_compose_manager.py similarity index 99% rename from testutils/infra/container_manager/docker_compose_manager.py rename to integration_testutils/infra/container_manager/docker_compose_manager.py index 7b12cbd07..ad261361f 100644 --- a/testutils/infra/container_manager/docker_compose_manager.py +++ b/integration_testutils/infra/container_manager/docker_compose_manager.py @@ -18,7 +18,7 @@ import subprocess import time -from testutils.common import wait_until_healthy +from integration_testutils.common import wait_until_healthy from .docker_compose_base_manager import DockerComposeBaseNamespace, docker_lock diff --git a/testutils/infra/container_manager/docker_manager.py b/integration_testutils/infra/container_manager/docker_manager.py similarity index 100% rename from testutils/infra/container_manager/docker_manager.py rename to integration_testutils/infra/container_manager/docker_manager.py diff --git a/testutils/infra/container_manager/factory.py b/integration_testutils/infra/container_manager/factory.py similarity index 100% rename from testutils/infra/container_manager/factory.py rename to integration_testutils/infra/container_manager/factory.py diff --git a/testutils/infra/container_manager/kubernetes_manager.py b/integration_testutils/infra/container_manager/kubernetes_manager.py similarity index 100% rename from testutils/infra/container_manager/kubernetes_manager.py rename to integration_testutils/infra/container_manager/kubernetes_manager.py diff --git a/testutils/infra/device.py b/integration_testutils/infra/device.py similarity index 100% rename from testutils/infra/device.py rename to integration_testutils/infra/device.py diff --git a/testutils/infra/mongo.py b/integration_testutils/infra/mongo.py similarity index 92% rename from testutils/infra/mongo.py rename to integration_testutils/infra/mongo.py index dc49a5e40..a2e8f2f4e 100644 --- a/testutils/infra/mongo.py +++ b/integration_testutils/infra/mongo.py @@ -13,7 +13,7 @@ # limitations under the License. from pymongo import MongoClient as PyMongoClient -from testutils.infra.container_manager.kubernetes_manager import isK8S +from integration_testutils.infra.container_manager.kubernetes_manager import isK8S class MongoClient: diff --git a/testutils/infra/smtpd_mock.py b/integration_testutils/infra/smtpd_mock.py similarity index 100% rename from testutils/infra/smtpd_mock.py rename to integration_testutils/infra/smtpd_mock.py diff --git a/testutils/integration/stripe.py b/integration_testutils/integration/stripe.py similarity index 100% rename from testutils/integration/stripe.py rename to integration_testutils/integration/stripe.py diff --git a/testutils/util/__init__.py b/integration_testutils/util/__init__.py similarity index 100% rename from testutils/util/__init__.py rename to integration_testutils/util/__init__.py diff --git a/testutils/util/artifact.py b/integration_testutils/util/artifact.py similarity index 100% rename from testutils/util/artifact.py rename to integration_testutils/util/artifact.py diff --git a/testutils/util/crypto.py b/integration_testutils/util/crypto.py similarity index 100% rename from testutils/util/crypto.py rename to integration_testutils/util/crypto.py diff --git a/testutils/util/websockets.py b/integration_testutils/util/websockets.py similarity index 100% rename from testutils/util/websockets.py rename to integration_testutils/util/websockets.py diff --git a/pyproject.toml b/pyproject.toml index 942de45be..a2e3afcdd 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,3 +1,61 @@ +[build-system] +requires = ["setuptools>=80.0"] +build-backend = "setuptools.build_meta" + +[project] +name = "mender-integration" +version = "0.1.0" +description = "Mender Integration Tests Suite" +readme = "README.md" +license = { text = "Apache-2.0" } + +requires-python = ">=3.12" + +classifiers = [ + "Programming Language :: Python :: 3", + "License :: OSI Approved :: Apache Software License", + "Operating System :: OS Independent", +] + +dependencies = [ + "cryptography==45.0.7", + "docker==7.1.0", + "filelock==3.19.1", + "kubernetes==33.1.0", + "msgpack==1.1.1", + "py3dns==4.0.2", + "pymongo==4.14.1", + "pytest==8.4.1", + "pytest-html==4.1.1", + "pytest-metadata==3.1.1", + "pytest-timeout==2.4.0", + "pytest-xdist==3.8.0", + "redo==3.0.0", + "requests==2.32.5", + "urllib3==1.26.20", + "websockets==15.0.1", + "flaky==3.8.1", + "stripe==12.5.0", + "aiosmtpd==1.4.6", +] + +[tool.setuptools] +include-package-data = true +packages = [ + "integration_tests", + "integration_tests.data", + "integration_tests.data.compose", + "integration_tests.MenderAPI", + "integration_tests.requirements-python", + "integration_tests.requirements-system", + "integration_tests.tests", + "integration_testutils", + "integration_testutils.api", + "integration_testutils.infra", + "integration_testutils.infra.container_manager", + "integration_testutils.integration", + "integration_testutils.util", +] [tool.black] target-version = ['py38']