Skip to content

Commit 08ed478

Browse files
Adding nox to run tests with specific dependencies
1 parent 55f51b5 commit 08ed478

File tree

7 files changed

+108
-14
lines changed

7 files changed

+108
-14
lines changed

.github/workflows/quality_check.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,8 @@ jobs:
6868
run: make mypy
6969
- name: Test with pytest
7070
run: make test
71+
- name: Test dependencies with Nox
72+
run: make nox
7173
- name: Security baseline
7274
run: make security-baseline
7375
- name: Complexity baseline

Makefile

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,9 @@ test:
3232
poetry run pytest -m "not perf" --ignore tests/e2e --cov=aws_lambda_powertools --cov-report=xml
3333
poetry run pytest --cache-clear tests/performance
3434

35+
nox:
36+
poetry run nox --error-on-external-run --reuse-venv=yes --non-interactive
37+
3538
test-pydanticv2:
3639
poetry run pytest -m "not perf" --ignore tests/e2e
3740

poetry.lock

Lines changed: 86 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pyproject.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,7 @@ pytest-socket = ">=0.6,<0.8"
126126
types-redis = "^4.6.0.7"
127127
testcontainers = { extras = ["redis"], version = "^3.7.1" }
128128
multiprocess = "^0.70.16"
129+
nox = "^2024.4.15"
129130

130131
[tool.coverage.run]
131132
source = ["aws_lambda_powertools"]

tests/functional/test_logger.py renamed to tests/functional/logger/test_logger.py

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515

1616
import pytest
1717

18-
from aws_lambda_powertools import Logger, Tracer, set_package_logger_handler
18+
from aws_lambda_powertools import Logger, Metrics, set_package_logger_handler
1919
from aws_lambda_powertools.logging import correlation_paths
2020
from aws_lambda_powertools.logging.exceptions import InvalidLoggerSamplingRateError
2121
from aws_lambda_powertools.logging.formatter import (
@@ -219,13 +219,14 @@ def test_package_logger_stream(stdout):
219219
# GIVEN package logger "aws_lambda_powertools" is explicitly set with no params
220220
set_package_logger(stream=stdout)
221221

222-
# WHEN Tracer is initialized in disabled mode
223-
Tracer(disabled=True)
222+
# WHEN we add a dimension in Metrics feature
223+
my_metrics = Metrics(namespace="powertools")
224+
my_metrics.add_dimension(name="dimension", value="test")
224225

225-
# THEN Tracer debug log statement should be logged
226+
# THEN Metrics debug log statement should be logged
226227
output = stdout.getvalue()
227228
logger = logging.getLogger("aws_lambda_powertools")
228-
assert "Tracing has been disabled" in output
229+
assert "Adding dimension:" in output
229230
assert logger.level == logging.DEBUG
230231

231232

@@ -235,10 +236,11 @@ def test_package_logger_format(capsys):
235236
formatter = logging.Formatter("message=%(message)s")
236237
set_package_logger(formatter=formatter)
237238

238-
# WHEN Tracer is initialized in disabled mode
239-
Tracer(disabled=True)
239+
# WHEN we add a dimension in Metrics feature
240+
my_metrics = Metrics(namespace="powertools")
241+
my_metrics.add_dimension(name="dimension", value="test")
240242

241-
# THEN Tracer debug log statement should be logged using `message=` format
243+
# THEN Metrics debug log statement should be logged using `message=` format
242244
output = capsys.readouterr().out
243245
logger = logging.getLogger("aws_lambda_powertools")
244246
assert "message=" in output
@@ -977,13 +979,15 @@ def test_set_package_logger_handler_with_powertools_debug_env_var(stdout, monkey
977979
logger = logging.getLogger("aws_lambda_powertools")
978980

979981
# WHEN set_package_logger is used at initialization
980-
# and any Powertools for AWS Lambda (Python) operation is used (e.g., Tracer)
982+
# and any Powertools for AWS Lambda (Python) operation is used (e.g., Metrics add_dimension)
981983
set_package_logger_handler(stream=stdout)
982-
Tracer(disabled=True)
983984

984-
# THEN Tracer debug log statement should be logged
985+
my_metrics = Metrics(namespace="powertools")
986+
my_metrics.add_dimension(name="dimension", value="test")
987+
988+
# THEN Metrics debug log statement should be logged
985989
output = stdout.getvalue()
986-
assert "Tracing has been disabled" in output
990+
assert "Adding dimension:" in output
987991
assert logger.level == logging.DEBUG
988992

989993

0 commit comments

Comments
 (0)