diff --git a/pyproject.toml b/pyproject.toml index cc2915de143..a1e149d7573 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -115,9 +115,13 @@ select = [ "F", # Pyflakes "PL", # pylint "I", # isort + "TID", # flake8-tidy-imports ] ignore = ["PLR0913", "PLC0415", "PLW1641"] +[tool.ruff.lint.flake8-tidy-imports] +ban-relative-imports = "all" + [tool.ruff.lint.pylint] max-branches = 25 max-returns = 8 diff --git a/samcli/cli/options.py b/samcli/cli/options.py index ade35adc456..592e8853c96 100644 --- a/samcli/cli/options.py +++ b/samcli/cli/options.py @@ -5,7 +5,7 @@ import click -from .context import Context +from samcli.cli.context import Context def debug_option(f): diff --git a/samcli/commands/bootstrap/__init__.py b/samcli/commands/bootstrap/__init__.py index 4ea37345e26..f6f448a6c11 100644 --- a/samcli/commands/bootstrap/__init__.py +++ b/samcli/commands/bootstrap/__init__.py @@ -3,4 +3,4 @@ """ # Expose the cli object here -from .command import cli # pragma: no cover +from samcli.commands.bootstrap.command import cli # pragma: no cover diff --git a/samcli/commands/init/__init__.py b/samcli/commands/init/__init__.py index 7f72e7f7fd4..89b4b89fd2a 100644 --- a/samcli/commands/init/__init__.py +++ b/samcli/commands/init/__init__.py @@ -2,4 +2,4 @@ Expose top level cli command for `init` """ -from .command import cli +from samcli.commands.init.command import cli diff --git a/samcli/commands/pipeline/bootstrap/cli.py b/samcli/commands/pipeline/bootstrap/cli.py index 43756afa5ca..7d23748bba2 100644 --- a/samcli/commands/pipeline/bootstrap/cli.py +++ b/samcli/commands/pipeline/bootstrap/cli.py @@ -13,6 +13,7 @@ from samcli.commands._utils.click_mutex import ClickMutex from samcli.commands._utils.command_exception_handler import command_exception_handler from samcli.commands.pipeline.bootstrap.core.command import PipelineBootstrapCommand +from samcli.commands.pipeline.bootstrap.guided_context import BITBUCKET, GITHUB_ACTIONS, GITLAB, IAM, OPEN_ID_CONNECT from samcli.commands.pipeline.bootstrap.oidc_config import ( BitbucketOidcConfig, GitHubOidcConfig, @@ -24,8 +25,6 @@ from samcli.lib.telemetry.metric import track_command from samcli.lib.utils.version_checker import check_newer_version -from .guided_context import BITBUCKET, GITHUB_ACTIONS, GITLAB, IAM, OPEN_ID_CONNECT - SHORT_HELP = "Generates the required AWS resources to connect your CI/CD system." HELP_TEXT = """ diff --git a/samcli/commands/pipeline/init/interactive_init_flow.py b/samcli/commands/pipeline/init/interactive_init_flow.py index 38493c87e12..0e288c21f2e 100644 --- a/samcli/commands/pipeline/init/interactive_init_flow.py +++ b/samcli/commands/pipeline/init/interactive_init_flow.py @@ -18,6 +18,17 @@ AppPipelineTemplateMetadataException, PipelineTemplateCloneException, ) +from samcli.commands.pipeline.bootstrap.cli import ( + PIPELINE_CONFIG_DIR, + PIPELINE_CONFIG_FILENAME, + _get_bootstrap_command_names, +) +from samcli.commands.pipeline.bootstrap.cli import do_cli as do_bootstrap +from samcli.commands.pipeline.init.pipeline_templates_manifest import ( + PipelineTemplateMetadata, + PipelineTemplatesManifest, + Provider, +) from samcli.lib.config.samconfig import SamConfig from samcli.lib.cookiecutter.interactive_flow import InteractiveFlow from samcli.lib.cookiecutter.interactive_flow_creator import InteractiveFlowCreator @@ -27,14 +38,6 @@ from samcli.lib.utils.colors import Colored from samcli.lib.utils.git_repo import CloneRepoException, GitRepo -from ..bootstrap.cli import ( - PIPELINE_CONFIG_DIR, - PIPELINE_CONFIG_FILENAME, - _get_bootstrap_command_names, -) -from ..bootstrap.cli import do_cli as do_bootstrap -from .pipeline_templates_manifest import PipelineTemplateMetadata, PipelineTemplatesManifest, Provider - LOG = logging.getLogger(__name__) shared_path: Path = GlobalConfig().config_dir APP_PIPELINE_TEMPLATES_REPO_URL = "https://github.com/aws/aws-sam-cli-pipeline-init-templates.git" diff --git a/samcli/hook_packages/terraform/__init__.py b/samcli/hook_packages/terraform/__init__.py index e75196dfb68..85147b49a30 100644 --- a/samcli/hook_packages/terraform/__init__.py +++ b/samcli/hook_packages/terraform/__init__.py @@ -2,4 +2,4 @@ Expose top level prepare hook """ -from .main import prepare +from samcli.hook_packages.terraform.main import prepare diff --git a/samcli/hook_packages/terraform/main.py b/samcli/hook_packages/terraform/main.py index e66309abf00..4066b93694b 100644 --- a/samcli/hook_packages/terraform/main.py +++ b/samcli/hook_packages/terraform/main.py @@ -2,7 +2,7 @@ Module for Terraform hook entry points """ -from .hooks.prepare.hook import prepare as prepare_hook +from samcli.hook_packages.terraform.hooks.prepare.hook import prepare as prepare_hook def prepare(params: dict) -> dict: diff --git a/samcli/lib/cookiecutter/interactive_flow.py b/samcli/lib/cookiecutter/interactive_flow.py index 67e1256d1cc..afab5c2f02d 100644 --- a/samcli/lib/cookiecutter/interactive_flow.py +++ b/samcli/lib/cookiecutter/interactive_flow.py @@ -4,8 +4,8 @@ import click -from ..utils.colors import Colored -from .question import Question +from samcli.lib.cookiecutter.question import Question +from samcli.lib.utils.colors import Colored class InteractiveFlow: diff --git a/samcli/lib/cookiecutter/interactive_flow_creator.py b/samcli/lib/cookiecutter/interactive_flow_creator.py index 801a0685571..31033846359 100644 --- a/samcli/lib/cookiecutter/interactive_flow_creator.py +++ b/samcli/lib/cookiecutter/interactive_flow_creator.py @@ -5,11 +5,10 @@ import yaml from samcli.commands.exceptions import UserException +from samcli.lib.cookiecutter.interactive_flow import InteractiveFlow +from samcli.lib.cookiecutter.question import Question, QuestionFactory from samcli.yamlhelper import parse_yaml_file -from .interactive_flow import InteractiveFlow -from .question import Question, QuestionFactory - class QuestionsNotFoundException(UserException): pass diff --git a/samcli/lib/cookiecutter/plugin.py b/samcli/lib/cookiecutter/plugin.py index a8a7cb4cad3..6043e9c01f7 100644 --- a/samcli/lib/cookiecutter/plugin.py +++ b/samcli/lib/cookiecutter/plugin.py @@ -4,8 +4,8 @@ from typing import NamedTuple -from .interactive_flow import InteractiveFlow -from .processor import Processor +from samcli.lib.cookiecutter.interactive_flow import InteractiveFlow +from samcli.lib.cookiecutter.processor import Processor class Plugin(NamedTuple): diff --git a/samcli/lib/cookiecutter/template.py b/samcli/lib/cookiecutter/template.py index 9ff2a279b91..62c2527e7d0 100644 --- a/samcli/lib/cookiecutter/template.py +++ b/samcli/lib/cookiecutter/template.py @@ -10,13 +10,17 @@ from cookiecutter.main import cookiecutter from samcli.commands.exceptions import UserException +from samcli.lib.cookiecutter.exceptions import ( + GenerateProjectFailedError, + InvalidLocationError, + PostprocessingError, + PreprocessingError, +) +from samcli.lib.cookiecutter.interactive_flow import InteractiveFlow +from samcli.lib.cookiecutter.plugin import Plugin +from samcli.lib.cookiecutter.processor import Processor from samcli.lib.init.arbitrary_project import generate_non_cookiecutter_project -from .exceptions import GenerateProjectFailedError, InvalidLocationError, PostprocessingError, PreprocessingError -from .interactive_flow import InteractiveFlow -from .plugin import Plugin -from .processor import Processor - LOG = logging.getLogger(__name__) diff --git a/samcli/lib/hook/hook_config.py b/samcli/lib/hook/hook_config.py index 7f53c184115..2663bf4cdf2 100644 --- a/samcli/lib/hook/hook_config.py +++ b/samcli/lib/hook/hook_config.py @@ -6,7 +6,7 @@ import jsonschema -from .exceptions import InvalidHookPackageConfigException +from samcli.lib.hook.exceptions import InvalidHookPackageConfigException class HookFunctionality(NamedTuple): diff --git a/samcli/lib/hook/hook_wrapper.py b/samcli/lib/hook/hook_wrapper.py index 35fa90824b9..2a362918b71 100644 --- a/samcli/lib/hook/hook_wrapper.py +++ b/samcli/lib/hook/hook_wrapper.py @@ -7,11 +7,8 @@ from pathlib import Path from typing import Dict, List, Optional, cast -from .exceptions import ( - HookPackageExecuteFunctionalityException, - InvalidHookWrapperException, -) -from .hook_config import HookPackageConfig +from samcli.lib.hook.exceptions import HookPackageExecuteFunctionalityException, InvalidHookWrapperException +from samcli.lib.hook.hook_config import HookPackageConfig LOG = logging.getLogger(__name__) INTERNAL_PACKAGES_ROOT = Path(__file__).parent / ".." / ".." / "hook_packages" diff --git a/samcli/lib/init/__init__.py b/samcli/lib/init/__init__.py index 241076bc058..922b4fa6754 100644 --- a/samcli/lib/init/__init__.py +++ b/samcli/lib/init/__init__.py @@ -12,7 +12,9 @@ from cookiecutter.main import cookiecutter from samcli.lib.config.samconfig import DEFAULT_CONFIG_FILE_EXTENSION, DEFAULT_CONFIG_FILE_NAME +from samcli.lib.init.arbitrary_project import generate_non_cookiecutter_project from samcli.lib.init.default_samconfig import DefaultSamconfig +from samcli.lib.init.exceptions import GenerateProjectFailedError, InvalidLocationError from samcli.lib.init.template_modifiers.application_insights_template_modifier import ( ApplicationInsightsTemplateModifier, ) @@ -23,9 +25,6 @@ from samcli.lib.utils.packagetype import ZIP from samcli.local.common.runtime_template import RUNTIME_DEP_TEMPLATE_MAPPING, is_custom_runtime -from .arbitrary_project import generate_non_cookiecutter_project -from .exceptions import GenerateProjectFailedError, InvalidLocationError - LOG = logging.getLogger(__name__) diff --git a/samcli/lib/init/arbitrary_project.py b/samcli/lib/init/arbitrary_project.py index 321e5976659..2780aaec3a0 100644 --- a/samcli/lib/init/arbitrary_project.py +++ b/samcli/lib/init/arbitrary_project.py @@ -8,10 +8,9 @@ from cookiecutter import config, exceptions, repository +from samcli.lib.init.exceptions import ArbitraryProjectDownloadFailed from samcli.lib.utils import osutils -from .exceptions import ArbitraryProjectDownloadFailed - LOG = logging.getLogger(__name__) diff --git a/samcli/lib/providers/sam_function_provider.py b/samcli/lib/providers/sam_function_provider.py index 732afb893ff..f52c349b05d 100644 --- a/samcli/lib/providers/sam_function_provider.py +++ b/samcli/lib/providers/sam_function_provider.py @@ -12,8 +12,12 @@ from samcli.cli.context import Context from samcli.commands._utils.template import TemplateFailedParsingException from samcli.commands.local.cli_common.user_exceptions import InvalidLayerVersionArn +from samcli.lib.build.constants import DEPRECATED_RUNTIMES from samcli.lib.build.exceptions import MissingFunctionHandlerException from samcli.lib.providers.exceptions import InvalidLayerReference, MissingFunctionNameException +from samcli.lib.providers.provider import Function, LayerVersion, Stack, get_full_path, get_function_build_info +from samcli.lib.providers.sam_base_provider import SamBaseProvider +from samcli.lib.providers.sam_stack_provider import SamLocalStackProvider from samcli.lib.utils.colors import Colored, Colors from samcli.lib.utils.file_observer import FileObserver from samcli.lib.utils.packagetype import IMAGE, ZIP @@ -25,11 +29,6 @@ AWS_SERVERLESS_LAYERVERSION, ) -from ..build.constants import DEPRECATED_RUNTIMES -from .provider import Function, LayerVersion, Stack, get_full_path, get_function_build_info -from .sam_base_provider import SamBaseProvider -from .sam_stack_provider import SamLocalStackProvider - LOG = logging.getLogger(__name__) diff --git a/samcli/lib/providers/sam_layer_provider.py b/samcli/lib/providers/sam_layer_provider.py index ecd642f751d..20fffea2276 100644 --- a/samcli/lib/providers/sam_layer_provider.py +++ b/samcli/lib/providers/sam_layer_provider.py @@ -5,12 +5,11 @@ import logging from typing import Dict, List, Optional +from samcli.lib.providers.provider import LayerVersion, Stack +from samcli.lib.providers.sam_base_provider import SamBaseProvider +from samcli.lib.providers.sam_stack_provider import SamLocalStackProvider from samcli.lib.utils.resources import AWS_LAMBDA_LAYERVERSION, AWS_SERVERLESS_LAYERVERSION -from .provider import LayerVersion, Stack -from .sam_base_provider import SamBaseProvider -from .sam_stack_provider import SamLocalStackProvider - LOG = logging.getLogger(__name__) diff --git a/samcli/lib/samlib/wrapper.py b/samcli/lib/samlib/wrapper.py index d4c510b5df4..9a4f2d69f83 100644 --- a/samcli/lib/samlib/wrapper.py +++ b/samcli/lib/samlib/wrapper.py @@ -26,8 +26,7 @@ from samtranslator.validator.validator import SamTemplateValidator from samcli.commands.validate.lib.exceptions import InvalidSamDocumentException - -from .local_uri_plugin import SupportLocalUriPlugin +from samcli.lib.samlib.local_uri_plugin import SupportLocalUriPlugin class SamTranslatorWrapper: diff --git a/samcli/local/docker/lambda_container.py b/samcli/local/docker/lambda_container.py index 709251c62ed..39e302a6e8c 100644 --- a/samcli/local/docker/lambda_container.py +++ b/samcli/local/docker/lambda_container.py @@ -7,11 +7,10 @@ from typing import List from samcli.lib.utils.packagetype import IMAGE +from samcli.local.docker.container import DEFAULT_CONTAINER_HOST_INTERFACE, Container from samcli.local.docker.exceptions import InvalidRuntimeException from samcli.local.docker.lambda_debug_settings import LambdaDebugSettings - -from .container import DEFAULT_CONTAINER_HOST_INTERFACE, Container -from .lambda_image import LambdaImage, Runtime +from samcli.local.docker.lambda_image import LambdaImage, Runtime LOG = logging.getLogger(__name__) diff --git a/samcli/local/lambda_service/local_lambda_http_service.py b/samcli/local/lambda_service/local_lambda_http_service.py index 168a54689a6..eb702073edc 100644 --- a/samcli/local/lambda_service/local_lambda_http_service.py +++ b/samcli/local/lambda_service/local_lambda_http_service.py @@ -22,11 +22,10 @@ from samcli.lib.utils.name_utils import InvalidFunctionNameException, normalize_sam_function_identifier from samcli.lib.utils.stream_writer import StreamWriter from samcli.local.docker.exceptions import DockerContainerCreationFailedException +from samcli.local.lambda_service.lambda_error_responses import LambdaErrorResponses from samcli.local.lambdafn.exceptions import DurableExecutionNotFound, FunctionNotFound, UnsupportedInvocationType from samcli.local.services.base_local_service import BaseLocalService, LambdaOutputParser -from .lambda_error_responses import LambdaErrorResponses - LOG = logging.getLogger(__name__) diff --git a/samcli/local/lambdafn/config.py b/samcli/local/lambdafn/config.py index dc2c5e7f06c..3a9aaace697 100644 --- a/samcli/local/lambdafn/config.py +++ b/samcli/local/lambdafn/config.py @@ -3,8 +3,7 @@ """ from samcli.commands.local.cli_common.user_exceptions import InvalidSamTemplateException - -from .env_vars import EnvironmentVariables +from samcli.local.lambdafn.env_vars import EnvironmentVariables class FunctionConfig: diff --git a/samcli/local/lambdafn/runtime.py b/samcli/local/lambdafn/runtime.py index 046eb33a073..0473caa9b47 100644 --- a/samcli/local/lambdafn/runtime.py +++ b/samcli/local/lambdafn/runtime.py @@ -12,10 +12,12 @@ from typing import Dict, Optional, Union from samcli.commands.exceptions import UserException +from samcli.lib.providers.provider import LayerVersion from samcli.lib.telemetry.metric import capture_parameter from samcli.lib.utils.file_observer import LambdaFunctionObserver from samcli.lib.utils.invocation_type import EVENT, REQUEST_RESPONSE from samcli.lib.utils.packagetype import ZIP +from samcli.lib.utils.stream_writer import StreamWriter from samcli.local.docker.container import Container, ContainerContext from samcli.local.docker.container_analyzer import ContainerAnalyzer from samcli.local.docker.durable_functions_emulator_container import DurableFunctionsEmulatorContainer @@ -23,10 +25,7 @@ from samcli.local.docker.exceptions import ContainerFailureError, DockerContainerCreationFailedException from samcli.local.docker.lambda_container import LambdaContainer from samcli.local.lambdafn.exceptions import UnsupportedInvocationType - -from ...lib.providers.provider import LayerVersion -from ...lib.utils.stream_writer import StreamWriter -from .zip import unzip +from samcli.local.lambdafn.zip import unzip LOG = logging.getLogger(__name__) diff --git a/samcli/vendor/serverlessrepo/__init__.py b/samcli/vendor/serverlessrepo/__init__.py index 074bf641cfb..1ed1afae2fb 100644 --- a/samcli/vendor/serverlessrepo/__init__.py +++ b/samcli/vendor/serverlessrepo/__init__.py @@ -1,5 +1,3 @@ """Common library for AWS Serverless Application Repository.""" -from .publish import ( # noqa: F401 - publish_application, -) +from samcli.vendor.serverlessrepo.publish import publish_application diff --git a/samcli/vendor/serverlessrepo/application_metadata.py b/samcli/vendor/serverlessrepo/application_metadata.py index 75dc63e2908..35a9fa30378 100644 --- a/samcli/vendor/serverlessrepo/application_metadata.py +++ b/samcli/vendor/serverlessrepo/application_metadata.py @@ -1,6 +1,6 @@ """Module containing class to store SAR application metadata.""" -from .exceptions import InvalidApplicationMetadataError +from samcli.vendor.serverlessrepo.exceptions import InvalidApplicationMetadataError class ApplicationMetadata(object): diff --git a/samcli/vendor/serverlessrepo/parser.py b/samcli/vendor/serverlessrepo/parser.py index df33326f3a7..759716cb8cb 100644 --- a/samcli/vendor/serverlessrepo/parser.py +++ b/samcli/vendor/serverlessrepo/parser.py @@ -7,11 +7,10 @@ import yaml +from samcli.vendor.serverlessrepo.application_metadata import ApplicationMetadata +from samcli.vendor.serverlessrepo.exceptions import ApplicationMetadataNotFoundError from samcli.yamlhelper import intrinsics_multi_constructor -from .application_metadata import ApplicationMetadata -from .exceptions import ApplicationMetadataNotFoundError - METADATA = "Metadata" SERVERLESS_REPO_APPLICATION = "AWS::ServerlessRepo::Application" APPLICATION_ID_PATTERN = r"arn:[\w\-]+:serverlessrepo:[\w\-]+:[0-9]+:applications\/[\S]+" diff --git a/samcli/vendor/serverlessrepo/publish.py b/samcli/vendor/serverlessrepo/publish.py index 603755bce70..f81c312944f 100644 --- a/samcli/vendor/serverlessrepo/publish.py +++ b/samcli/vendor/serverlessrepo/publish.py @@ -7,17 +7,21 @@ import boto3 from botocore.exceptions import ClientError -from samcli.yamlhelper import yaml_dump - -from .application_metadata import ApplicationMetadata -from .exceptions import ( +from samcli.vendor.serverlessrepo.application_metadata import ApplicationMetadata +from samcli.vendor.serverlessrepo.exceptions import ( DuplicateSemanticVersionError, InvalidS3UriError, MissingSemanticVersionError, S3PermissionsRequired, ServerlessRepoClientError, ) -from .parser import get_app_metadata, parse_application_id, parse_template, strip_app_metadata +from samcli.vendor.serverlessrepo.parser import ( + get_app_metadata, + parse_application_id, + parse_template, + strip_app_metadata, +) +from samcli.yamlhelper import yaml_dump LOG = logging.getLogger(__name__) diff --git a/tests/integration/buildcmd/test_build_cmd_rust.py b/tests/integration/buildcmd/test_build_cmd_rust.py index 9a9927d3cdb..4826530e6ea 100644 --- a/tests/integration/buildcmd/test_build_cmd_rust.py +++ b/tests/integration/buildcmd/test_build_cmd_rust.py @@ -16,7 +16,7 @@ SKIP_DOCKER_BUILD, SKIP_DOCKER_MESSAGE, ) -from .build_integ_base import ( +from tests.integration.buildcmd.build_integ_base import ( BuildIntegRustBase, rust_parameterized_class, show_container_in_test_name, diff --git a/tests/integration/local/invoke/test_integrations_do_cli.py b/tests/integration/local/invoke/test_integrations_do_cli.py index 379505f7c98..28fb8494959 100644 --- a/tests/integration/local/invoke/test_integrations_do_cli.py +++ b/tests/integration/local/invoke/test_integrations_do_cli.py @@ -9,7 +9,7 @@ import pytest from tests.integration.local.invoke.layer_utils import LayerUtils -from .invoke_integ_base import InvokeIntegBase +from tests.integration.local.invoke.invoke_integ_base import InvokeIntegBase from tests.testing_utils import IS_WINDOWS, RUNNING_ON_CI, RUNNING_TEST_FOR_MASTER_ON_CI, RUN_BY_CANARY from samcli.commands.local.invoke.cli import cli diff --git a/tests/integration/local/start_api/test_start_api.py b/tests/integration/local/start_api/test_start_api.py index 37c090d73ae..d2d9345d192 100644 --- a/tests/integration/local/start_api/test_start_api.py +++ b/tests/integration/local/start_api/test_start_api.py @@ -21,8 +21,11 @@ from samcli.commands.local.cli_common.options import get_default_layer_cache_dir from samcli.local.apigw.route import Route from tests.testing_utils import IS_WINDOWS -from .start_api_integ_base import StartApiIntegBaseClass, WritableStartApiIntegBaseClass -from ..invoke.layer_utils import LayerUtils +from tests.integration.local.start_api.start_api_integ_base import ( + StartApiIntegBaseClass, + WritableStartApiIntegBaseClass, +) +from tests.integration.local.invoke.layer_utils import LayerUtils @parameterized_class( diff --git a/tests/integration/local/start_lambda/test_start_lambda.py b/tests/integration/local/start_lambda/test_start_lambda.py index d6692e6376e..e30747961ff 100644 --- a/tests/integration/local/start_lambda/test_start_lambda.py +++ b/tests/integration/local/start_lambda/test_start_lambda.py @@ -16,7 +16,10 @@ from samcli.commands.local.cli_common.invoke_context import ContainersInitializationMode from tests.testing_utils import IS_WINDOWS, get_sam_command, kill_process from tests.integration.local.common_utils import random_port, InvalidAddressException, wait_for_local_process -from .start_lambda_api_integ_base import StartLambdaIntegBaseClass, WatchWarmContainersIntegBaseClass +from tests.integration.local.start_lambda.start_lambda_api_integ_base import ( + StartLambdaIntegBaseClass, + WatchWarmContainersIntegBaseClass, +) class TestParallelRequests(StartLambdaIntegBaseClass): diff --git a/tests/integration/package/test_package_command_image.py b/tests/integration/package/test_package_command_image.py index f46a6944cea..39f0b36d49a 100644 --- a/tests/integration/package/test_package_command_image.py +++ b/tests/integration/package/test_package_command_image.py @@ -12,7 +12,7 @@ from samcli.commands._utils.template import get_template_data from samcli.local.docker.utils import get_validated_container_client -from .package_integ_base import PackageIntegBase +from tests.integration.package.package_integ_base import PackageIntegBase from tests.testing_utils import RUNNING_ON_CI, RUNNING_TEST_FOR_MASTER_ON_CI, RUN_BY_CANARY, MAX_ERROR_OUTPUT_LENGTH # Package tests require credentials and CI/CD will only add credentials to the env if the PR is from the same repo. diff --git a/tests/integration/package/test_package_command_zip.py b/tests/integration/package/test_package_command_zip.py index e688d4bf299..4db4edfe680 100644 --- a/tests/integration/package/test_package_command_zip.py +++ b/tests/integration/package/test_package_command_zip.py @@ -9,7 +9,7 @@ from parameterized import parameterized, param from samcli.lib.utils.hash import dir_checksum -from .package_integ_base import PackageIntegBase +from tests.integration.package.package_integ_base import PackageIntegBase from tests.testing_utils import RUNNING_ON_CI, RUNNING_TEST_FOR_MASTER_ON_CI, RUN_BY_CANARY # Package tests require credentials and CI/CD will only add credentials to the env if the PR is from the same repo. diff --git a/tests/integration/publish/test_command_integ.py b/tests/integration/publish/test_command_integ.py index b7cc2bf0ff2..a5713c37415 100644 --- a/tests/integration/publish/test_command_integ.py +++ b/tests/integration/publish/test_command_integ.py @@ -9,7 +9,7 @@ from parameterized import parameterized from samcli.commands.publish.command import SEMANTIC_VERSION -from .publish_app_integ_base import PublishAppIntegBase +from tests.integration.publish.publish_app_integ_base import PublishAppIntegBase from tests.testing_utils import RUNNING_ON_CI, RUNNING_TEST_FOR_MASTER_ON_CI, RUN_BY_CANARY from tests.testing_utils import run_command diff --git a/tests/integration/telemetry/test_experimental_metric.py b/tests/integration/telemetry/test_experimental_metric.py index d3dcf96be92..3e5313b1ad2 100644 --- a/tests/integration/telemetry/test_experimental_metric.py +++ b/tests/integration/telemetry/test_experimental_metric.py @@ -5,9 +5,9 @@ from unittest import skip from unittest.mock import ANY -from .integ_base import IntegBase, TelemetryServer +from tests.integration.telemetry.integ_base import IntegBase, TelemetryServer from samcli import __version__ as SAM_CLI_VERSION -from ...testing_utils import strip_nightly_installer_suffix +from tests.testing_utils import strip_nightly_installer_suffix class TestExperimentalMetric(IntegBase): diff --git a/tests/integration/telemetry/test_installed_metric.py b/tests/integration/telemetry/test_installed_metric.py index 0b0d2d550eb..77d1178dbd8 100644 --- a/tests/integration/telemetry/test_installed_metric.py +++ b/tests/integration/telemetry/test_installed_metric.py @@ -1,9 +1,9 @@ import platform from unittest.mock import ANY -from .integ_base import IntegBase, TelemetryServer, EXPECTED_TELEMETRY_PROMPT +from tests.integration.telemetry.integ_base import IntegBase, TelemetryServer, EXPECTED_TELEMETRY_PROMPT from samcli import __version__ as SAM_CLI_VERSION -from ...testing_utils import strip_nightly_installer_suffix +from tests.testing_utils import strip_nightly_installer_suffix class TestSendInstalledMetric(IntegBase): diff --git a/tests/integration/telemetry/test_prompt.py b/tests/integration/telemetry/test_prompt.py index 270c813fc5d..40304663677 100644 --- a/tests/integration/telemetry/test_prompt.py +++ b/tests/integration/telemetry/test_prompt.py @@ -1,5 +1,5 @@ from parameterized import parameterized -from .integ_base import IntegBase, EXPECTED_TELEMETRY_PROMPT +from tests.integration.telemetry.integ_base import IntegBase, EXPECTED_TELEMETRY_PROMPT class TestTelemetryPrompt(IntegBase): diff --git a/tests/integration/telemetry/test_telemetry_contract.py b/tests/integration/telemetry/test_telemetry_contract.py index a3e383bb5d4..e4dc39b8b19 100644 --- a/tests/integration/telemetry/test_telemetry_contract.py +++ b/tests/integration/telemetry/test_telemetry_contract.py @@ -1,4 +1,4 @@ -from .integ_base import IntegBase, TelemetryServer +from tests.integration.telemetry.integ_base import IntegBase, TelemetryServer class TestTelemetryContract(IntegBase): diff --git a/tests/regression/package/test_package_regression.py b/tests/regression/package/test_package_regression.py index 9acc23b7175..5212abcc75c 100644 --- a/tests/regression/package/test_package_regression.py +++ b/tests/regression/package/test_package_regression.py @@ -3,7 +3,7 @@ import pytest from parameterized import parameterized -from .regression_package_base import PackageRegressionBase +from tests.regression.package.regression_package_base import PackageRegressionBase from tests.testing_utils import RUNNING_ON_CI, RUNNING_TEST_FOR_MASTER_ON_CI, RUN_BY_CANARY # Package Regression tests require credentials and CI/CD will only add credentials to the env if the PR is from the same repo.