From 9c2b585e2942b1538e98070f065f47e07ab8569f Mon Sep 17 00:00:00 2001 From: Leandro Damascena Date: Tue, 27 Jun 2023 14:40:51 +0100 Subject: [PATCH 1/2] chore: enabling PL* rules --- aws_lambda_powertools/event_handler/api_gateway.py | 2 +- aws_lambda_powertools/metrics/metrics.py | 2 +- examples/parameters/tests/test_clear_cache_global.py | 3 ++- examples/parameters/tests/test_clear_cache_method.py | 3 ++- examples/parameters/tests/test_single_mock.py | 2 +- examples/parameters/tests/test_with_fixture.py | 3 ++- examples/parameters/tests/test_with_monkeypatch.py | 2 +- ruff.toml | 4 ---- tests/e2e/event_handler/test_header_serializer.py | 10 +++++----- tests/e2e/utils/data_fetcher/common.py | 2 +- 10 files changed, 16 insertions(+), 17 deletions(-) diff --git a/aws_lambda_powertools/event_handler/api_gateway.py b/aws_lambda_powertools/event_handler/api_gateway.py index 75301a8928c..862d9507202 100644 --- a/aws_lambda_powertools/event_handler/api_gateway.py +++ b/aws_lambda_powertools/event_handler/api_gateway.py @@ -846,7 +846,7 @@ def include_router(self, router: "Router", prefix: Optional[str] = None) -> None if prefix: rule = route[0] rule = prefix if rule == "/" else f"{prefix}{rule}" - route = (rule, *route[1:]) + route = (rule, *route[1:]) # noqa: PLW2901 self.route(*route)(func) diff --git a/aws_lambda_powertools/metrics/metrics.py b/aws_lambda_powertools/metrics/metrics.py index 085ebf9053f..b12bd36e4a2 100644 --- a/aws_lambda_powertools/metrics/metrics.py +++ b/aws_lambda_powertools/metrics/metrics.py @@ -76,7 +76,7 @@ def __init__(self, service: Optional[str] = None, namespace: Optional[str] = Non self.dimension_set = self._dimensions self.dimension_set.update(**self._default_dimensions) - return super().__init__( + return super().__init__( # noqa: PLE0101 namespace=namespace, service=service, metric_set=self.metric_set, diff --git a/examples/parameters/tests/test_clear_cache_global.py b/examples/parameters/tests/test_clear_cache_global.py index 5b07f40caed..75087e158d4 100644 --- a/examples/parameters/tests/test_clear_cache_global.py +++ b/examples/parameters/tests/test_clear_cache_global.py @@ -1,5 +1,6 @@ import pytest -import src.app as app + +from src import app from aws_lambda_powertools.utilities import parameters diff --git a/examples/parameters/tests/test_clear_cache_method.py b/examples/parameters/tests/test_clear_cache_method.py index da1eb181c68..c59ea202f8d 100644 --- a/examples/parameters/tests/test_clear_cache_method.py +++ b/examples/parameters/tests/test_clear_cache_method.py @@ -1,5 +1,6 @@ import pytest -import src.app as app + +from src import app @pytest.fixture(scope="function", autouse=True) diff --git a/examples/parameters/tests/test_single_mock.py b/examples/parameters/tests/test_single_mock.py index c4d045be499..85e18e22249 100644 --- a/examples/parameters/tests/test_single_mock.py +++ b/examples/parameters/tests/test_single_mock.py @@ -1,4 +1,4 @@ -import src.single_mock as single_mock +from src import single_mock def test_handler(monkeypatch): diff --git a/examples/parameters/tests/test_with_fixture.py b/examples/parameters/tests/test_with_fixture.py index 0d29ad28030..487f739e8eb 100644 --- a/examples/parameters/tests/test_with_fixture.py +++ b/examples/parameters/tests/test_with_fixture.py @@ -1,5 +1,6 @@ import pytest -import src.single_mock as single_mock + +from src import single_mock @pytest.fixture diff --git a/examples/parameters/tests/test_with_monkeypatch.py b/examples/parameters/tests/test_with_monkeypatch.py index 71ac4b406ed..b5c90dcb743 100644 --- a/examples/parameters/tests/test_with_monkeypatch.py +++ b/examples/parameters/tests/test_with_monkeypatch.py @@ -1,6 +1,6 @@ from unittest.mock import patch -import src.single_mock as single_mock +from src import single_mock # Replaces "aws_lambda_powertools.utilities.parameters.get_parameter" with a Mock object diff --git a/ruff.toml b/ruff.toml index 3dbaecf53eb..c44950a577e 100644 --- a/ruff.toml +++ b/ruff.toml @@ -37,10 +37,6 @@ ignore = [ "B018", # useless-expression - disabled temporarily "COM812", # Trailing comma missing - disabled temporarily "PLC1901", # Compare-to-empty-string - disabled temporarily - "PLW", # Warning category - disabled temporarily - "PLR", # Refactoring category - disabled temporarily - "PLC", # Convention category - disabled temporarily - "PLE", # Error category - disabled temporarily "ISC", # flake8-implicit-str-concat - disabled temporarily "I001", # isort - disabled temporarily ] diff --git a/tests/e2e/event_handler/test_header_serializer.py b/tests/e2e/event_handler/test_header_serializer.py index a1ce643d993..f59b4d8e7da 100644 --- a/tests/e2e/event_handler/test_header_serializer.py +++ b/tests/e2e/event_handler/test_header_serializer.py @@ -67,7 +67,7 @@ def test_alb_headers_serializer(alb_basic_listener_endpoint): # Only the last header should be set for key, value in headers.items(): assert key in response.headers - value = value if isinstance(value, str) else sorted(value)[-1] + value = value if isinstance(value, str) else sorted(value)[-1] # noqa: PLW2901 assert response.headers[key] == value # Only the last cookie should be set @@ -104,7 +104,7 @@ def test_alb_multi_value_headers_serializer(alb_multi_value_header_listener_endp for key, value in headers.items(): assert key in response.headers - value = value if isinstance(value, str) else ", ".join(sorted(value)) + value = value if isinstance(value, str) else ", ".join(sorted(value)) # noqa: PLW2901 # ALB sorts the header values randomly, so we have to re-order them for comparison here returned_value = ", ".join(sorted(response.headers[key].split(", "))) @@ -143,7 +143,7 @@ def test_api_gateway_rest_headers_serializer(apigw_rest_endpoint): for key, value in headers.items(): assert key in response.headers - value = value if isinstance(value, str) else ", ".join(sorted(value)) + value = value if isinstance(value, str) else ", ".join(sorted(value)) # noqa: PLW2901 assert response.headers[key] == value for cookie in cookies: @@ -180,7 +180,7 @@ def test_api_gateway_http_headers_serializer(apigw_http_endpoint): for key, value in headers.items(): assert key in response.headers - value = value if isinstance(value, str) else ", ".join(sorted(value)) + value = value if isinstance(value, str) else ", ".join(sorted(value)) # noqa: PLW2901 assert response.headers[key] == value for cookie in cookies: @@ -217,7 +217,7 @@ def test_lambda_function_url_headers_serializer(lambda_function_url_endpoint): for key, value in headers.items(): assert key in response.headers - value = value if isinstance(value, str) else ", ".join(sorted(value)) + value = value if isinstance(value, str) else ", ".join(sorted(value)) # noqa: PLW2901 assert response.headers[key] == value for cookie in cookies: diff --git a/tests/e2e/utils/data_fetcher/common.py b/tests/e2e/utils/data_fetcher/common.py index 29f97eab2de..b2f0724afba 100644 --- a/tests/e2e/utils/data_fetcher/common.py +++ b/tests/e2e/utils/data_fetcher/common.py @@ -2,7 +2,7 @@ from typing import Optional, Tuple import boto3 -import requests as requests +import requests from mypy_boto3_lambda import LambdaClient from mypy_boto3_lambda.type_defs import InvocationResponseTypeDef from requests import Request, Response From dd22c970218dcb658b99d56237673ea3acf571c0 Mon Sep 17 00:00:00 2001 From: Ruben Fonseca Date: Tue, 27 Jun 2023 15:55:07 +0200 Subject: [PATCH 2/2] fix: correct some of the warnings --- .../event_handler/api_gateway.py | 6 ++++-- aws_lambda_powertools/metrics/metrics.py | 2 +- .../event_handler/test_header_serializer.py | 20 +++++++++---------- 3 files changed, 15 insertions(+), 13 deletions(-) diff --git a/aws_lambda_powertools/event_handler/api_gateway.py b/aws_lambda_powertools/event_handler/api_gateway.py index 862d9507202..7d7dedf8dc8 100644 --- a/aws_lambda_powertools/event_handler/api_gateway.py +++ b/aws_lambda_powertools/event_handler/api_gateway.py @@ -843,12 +843,14 @@ def include_router(self, router: "Router", prefix: Optional[str] = None) -> None router.context = self.context for route, func in router._routes.items(): + new_route = route + if prefix: rule = route[0] rule = prefix if rule == "/" else f"{prefix}{rule}" - route = (rule, *route[1:]) # noqa: PLW2901 + new_route = (rule, *route[1:]) - self.route(*route)(func) + self.route(*new_route)(func) class Router(BaseRouter): diff --git a/aws_lambda_powertools/metrics/metrics.py b/aws_lambda_powertools/metrics/metrics.py index b12bd36e4a2..4d6a7d3140d 100644 --- a/aws_lambda_powertools/metrics/metrics.py +++ b/aws_lambda_powertools/metrics/metrics.py @@ -76,7 +76,7 @@ def __init__(self, service: Optional[str] = None, namespace: Optional[str] = Non self.dimension_set = self._dimensions self.dimension_set.update(**self._default_dimensions) - return super().__init__( # noqa: PLE0101 + super().__init__( namespace=namespace, service=service, metric_set=self.metric_set, diff --git a/tests/e2e/event_handler/test_header_serializer.py b/tests/e2e/event_handler/test_header_serializer.py index f59b4d8e7da..7189c349666 100644 --- a/tests/e2e/event_handler/test_header_serializer.py +++ b/tests/e2e/event_handler/test_header_serializer.py @@ -67,8 +67,8 @@ def test_alb_headers_serializer(alb_basic_listener_endpoint): # Only the last header should be set for key, value in headers.items(): assert key in response.headers - value = value if isinstance(value, str) else sorted(value)[-1] # noqa: PLW2901 - assert response.headers[key] == value + new_value = value if isinstance(value, str) else sorted(value)[-1] + assert response.headers[key] == new_value # Only the last cookie should be set assert len(response.cookies.items()) == 1 @@ -104,11 +104,11 @@ def test_alb_multi_value_headers_serializer(alb_multi_value_header_listener_endp for key, value in headers.items(): assert key in response.headers - value = value if isinstance(value, str) else ", ".join(sorted(value)) # noqa: PLW2901 + new_value = value if isinstance(value, str) else ", ".join(sorted(value)) # ALB sorts the header values randomly, so we have to re-order them for comparison here returned_value = ", ".join(sorted(response.headers[key].split(", "))) - assert returned_value == value + assert returned_value == new_value for cookie in cookies: assert cookie.name in response.cookies @@ -143,8 +143,8 @@ def test_api_gateway_rest_headers_serializer(apigw_rest_endpoint): for key, value in headers.items(): assert key in response.headers - value = value if isinstance(value, str) else ", ".join(sorted(value)) # noqa: PLW2901 - assert response.headers[key] == value + new_value = value if isinstance(value, str) else ", ".join(sorted(value)) + assert response.headers[key] == new_value for cookie in cookies: assert cookie.name in response.cookies @@ -180,8 +180,8 @@ def test_api_gateway_http_headers_serializer(apigw_http_endpoint): for key, value in headers.items(): assert key in response.headers - value = value if isinstance(value, str) else ", ".join(sorted(value)) # noqa: PLW2901 - assert response.headers[key] == value + new_value = value if isinstance(value, str) else ", ".join(sorted(value)) + assert response.headers[key] == new_value for cookie in cookies: assert cookie.name in response.cookies @@ -217,8 +217,8 @@ def test_lambda_function_url_headers_serializer(lambda_function_url_endpoint): for key, value in headers.items(): assert key in response.headers - value = value if isinstance(value, str) else ", ".join(sorted(value)) # noqa: PLW2901 - assert response.headers[key] == value + new_value = value if isinstance(value, str) else ", ".join(sorted(value)) + assert response.headers[key] == new_value for cookie in cookies: assert cookie.name in response.cookies