[project]
name = "lambda-product-transfer-integration-tests"
version = "0.1.0"
description = "Integration tests for lambda-product-transfer."
authors = [
    {name = "Sony Music PDE"},
]
requires-python = ">=3.14,<4.0"
dependencies = [
    "aws_testing_utils==5.4.0",
    "boto3~=1.43",
    "ddtrace~=4.8 ; python_version < '3.15'",
    "pytest~=9.0",
    "test_fixtures[mysql,neo4j,snowflake]~=1.1.0",
]

[tool.poetry]
package-mode = false

[[tool.poetry.source]]
name = "PyPI"
priority = "primary"

[[tool.poetry.source]]
name = "pde"
url = "https://pypi.theorchard.io/pypi/"
priority = "supplemental"

[project.optional-dependencies]
dev = [
    "mypy~=1.9",
    "ruff~=0.6",
    "yamllint~=1.37",
]

[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"

[tool.ruff]
line-length = 120

[tool.ruff.lint]
select = ["C", "E", "F", "W", "B", "I", "T20", "TID252", "G"]
ignore = ["C901", "E501", "B007", "B008", "B009"]

[tool.ruff.lint.isort]
combine-as-imports = true

[tool.mypy]
show_error_codes = true
strict = true

[[tool.mypy.overrides]]
module = [
    "aws_testing_utils.*",
    "boto3.*",
    "botocore.*",
    "ddtrace.*",
    "neo4j.*",
    "pymysql.*",
    "snowflake.*",
    "test_fixtures.*",
]
ignore_missing_imports = true

[tool.pytest.ini_options]
testpaths = ["tests"]
filterwarnings = [
    "ignore::DeprecationWarning:snowflake",
]
markers = [
    "lambda_name: the lambda function directory name this test covers (e.g. 'finalize-job')",
]
addopts = [
    "--strict-config",
    "--strict-markers",
]
xfail_strict = true
junit_family = "xunit2"
