Skip to content

Commit 9db0dcd

Browse files
author
Michal Ploski
committed
PR suggestions applied
1 parent c051945 commit 9db0dcd

File tree

6 files changed

+30
-38
lines changed

6 files changed

+30
-38
lines changed

tests/e2e/conftest.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,12 @@ class InfrastructureOutput:
3030
def get_lambda_arns(self) -> Dict[str, str]:
3131
return self.arns
3232

33-
def get_lambda_arn(self, name: str) -> Optional[str]:
34-
return self.arns.get(name)
33+
def get_lambda_function_arn(self, cf_output_name: str) -> Optional[str]:
34+
return self.arns.get(cf_output_name)
35+
36+
def get_lambda_function_name(self, cf_output_name: str) -> Optional[str]:
37+
lambda_arn = self.get_lambda_function_arn(cf_output_name=cf_output_name)
38+
return lambda_arn.split(":")[-1] if lambda_arn else None
3539

3640
def get_lambda_execution_time(self) -> datetime.datetime:
3741
return self.execution_time

tests/e2e/logger/test_logger.py

Lines changed: 14 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -18,14 +18,12 @@ def config() -> conftest.LambdaConfig:
1818

1919
def test_basic_lambda_logs_visible(execute_lambda: conftest.InfrastructureOutput, config: conftest.LambdaConfig):
2020
# GIVEN
21-
lambda_arn = execute_lambda.get_lambda_arn(name="basichandlerarn")
21+
lambda_name = execute_lambda.get_lambda_function_name(cf_output_name="basichandlerarn")
2222
timestamp = execute_lambda.get_lambda_execution_time_timestamp()
2323
cw_client = boto3.client("logs")
2424

2525
# WHEN
26-
filtered_logs = helpers.get_logs(
27-
lambda_function_name=lambda_arn.split(":")[-1], start_time=timestamp, log_client=cw_client
28-
)
26+
filtered_logs = helpers.get_logs(lambda_function_name=lambda_name, start_time=timestamp, log_client=cw_client)
2927

3028
# THEN
3129
assert any(
@@ -39,14 +37,12 @@ def test_basic_lambda_no_debug_logs_visible(
3937
execute_lambda: conftest.InfrastructureOutput, config: conftest.LambdaConfig
4038
):
4139
# GIVEN
42-
lambda_arn = execute_lambda.get_lambda_arn(name="basichandlerarn")
40+
lambda_name = execute_lambda.get_lambda_function_name(cf_output_name="basichandlerarn")
4341
timestamp = execute_lambda.get_lambda_execution_time_timestamp()
4442
cw_client = boto3.client("logs")
4543

4644
# WHEN
47-
filtered_logs = helpers.get_logs(
48-
lambda_function_name=lambda_arn.split(":")[-1], start_time=timestamp, log_client=cw_client
49-
)
45+
filtered_logs = helpers.get_logs(lambda_function_name=lambda_name, start_time=timestamp, log_client=cw_client)
5046

5147
# THEN
5248
assert not any(
@@ -65,14 +61,12 @@ def test_basic_lambda_contextual_data_logged(execute_lambda: conftest.Infrastruc
6561
"cold_start",
6662
)
6763

68-
lambda_arn = execute_lambda.get_lambda_arn(name="basichandlerarn")
64+
lambda_name = execute_lambda.get_lambda_function_name(cf_output_name="basichandlerarn")
6965
timestamp = execute_lambda.get_lambda_execution_time_timestamp()
7066
cw_client = boto3.client("logs")
7167

7268
# WHEN
73-
filtered_logs = helpers.get_logs(
74-
lambda_function_name=lambda_arn.split(":")[-1], start_time=timestamp, log_client=cw_client
75-
)
69+
filtered_logs = helpers.get_logs(lambda_function_name=lambda_name, start_time=timestamp, log_client=cw_client)
7670

7771
# THEN
7872
assert all(keys in logs.dict(exclude_unset=True) for logs in filtered_logs for keys in required_keys)
@@ -82,14 +76,12 @@ def test_basic_lambda_additional_key_persistence_basic_lambda(
8276
execute_lambda: conftest.InfrastructureOutput, config: conftest.LambdaConfig
8377
):
8478
# GIVEN
85-
lambda_arn = execute_lambda.get_lambda_arn(name="basichandlerarn")
79+
lambda_name = execute_lambda.get_lambda_function_name(cf_output_name="basichandlerarn")
8680
timestamp = execute_lambda.get_lambda_execution_time_timestamp()
8781
cw_client = boto3.client("logs")
8882

8983
# WHEN
90-
filtered_logs = helpers.get_logs(
91-
lambda_function_name=lambda_arn.split(":")[-1], start_time=timestamp, log_client=cw_client
92-
)
84+
filtered_logs = helpers.get_logs(lambda_function_name=lambda_name, start_time=timestamp, log_client=cw_client)
9385

9486
# THEN
9587
assert any(
@@ -103,14 +95,12 @@ def test_basic_lambda_additional_key_persistence_basic_lambda(
10395
def test_basic_lambda_empty_event_logged(execute_lambda: conftest.InfrastructureOutput):
10496

10597
# GIVEN
106-
lambda_arn = execute_lambda.get_lambda_arn(name="basichandlerarn")
98+
lambda_name = execute_lambda.get_lambda_function_name(cf_output_name="basichandlerarn")
10799
timestamp = execute_lambda.get_lambda_execution_time_timestamp()
108100
cw_client = boto3.client("logs")
109101

110102
# WHEN
111-
filtered_logs = helpers.get_logs(
112-
lambda_function_name=lambda_arn.split(":")[-1], start_time=timestamp, log_client=cw_client
113-
)
103+
filtered_logs = helpers.get_logs(lambda_function_name=lambda_name, start_time=timestamp, log_client=cw_client)
114104

115105
# THEN
116106
assert any(log.message == {} for log in filtered_logs)
@@ -127,14 +117,12 @@ def test_no_context_lambda_contextual_data_not_logged(execute_lambda: conftest.I
127117
"cold_start",
128118
)
129119

130-
lambda_arn = execute_lambda.get_lambda_arn(name="nocontexthandlerarn")
120+
lambda_name = execute_lambda.get_lambda_function_name(cf_output_name="nocontexthandlerarn")
131121
timestamp = execute_lambda.get_lambda_execution_time_timestamp()
132122
cw_client = boto3.client("logs")
133123

134124
# WHEN
135-
filtered_logs = helpers.get_logs(
136-
lambda_function_name=lambda_arn.split(":")[-1], start_time=timestamp, log_client=cw_client
137-
)
125+
filtered_logs = helpers.get_logs(lambda_function_name=lambda_name, start_time=timestamp, log_client=cw_client)
138126

139127
# THEN
140128
assert not any(keys in logs.dict(exclude_unset=True) for logs in filtered_logs for keys in required_missing_keys)
@@ -143,14 +131,12 @@ def test_no_context_lambda_contextual_data_not_logged(execute_lambda: conftest.I
143131
def test_no_context_lambda_event_not_logged(execute_lambda: conftest.InfrastructureOutput):
144132

145133
# GIVEN
146-
lambda_arn = execute_lambda.get_lambda_arn(name="nocontexthandlerarn")
134+
lambda_name = execute_lambda.get_lambda_function_name(cf_output_name="nocontexthandlerarn")
147135
timestamp = execute_lambda.get_lambda_execution_time_timestamp()
148136
cw_client = boto3.client("logs")
149137

150138
# WHEN
151-
filtered_logs = helpers.get_logs(
152-
lambda_function_name=lambda_arn.split(":")[-1], start_time=timestamp, log_client=cw_client
153-
)
139+
filtered_logs = helpers.get_logs(lambda_function_name=lambda_name, start_time=timestamp, log_client=cw_client)
154140

155141
# THEN
156142
assert not any(log.message == {} for log in filtered_logs)

tests/e2e/metrics/test_metrics.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,8 @@
33

44
import boto3
55
import pytest
6-
7-
from .. import conftest
8-
from ..utils import helpers
6+
from e2e import conftest
7+
from e2e.utils import helpers
98

109

1110
@pytest.fixture(scope="module")
@@ -15,7 +14,7 @@ def config() -> conftest.LambdaConfig:
1514
"environment_variables": {
1615
"POWERTOOLS_METRICS_NAMESPACE": "powertools-e2e-metric",
1716
"POWERTOOLS_SERVICE_NAME": "test-powertools-service",
18-
"METRIC_NAME": f"business-metric-{uuid.uuid4()}",
17+
"METRIC_NAME": f"business-metric-{str(uuid.uuid4()).replace('-','_')}",
1918
},
2019
}
2120

tests/e2e/tracer/handlers/basic_handler.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,13 @@
1313

1414
@tracer.capture_lambda_handler
1515
def lambda_handler(event: dict, context: LambdaContext):
16+
tracer.put_annotation(key=ANNOTATION_KEY, value=ANNOTATION_VALUE)
1617
tracer.put_metadata(key=ANNOTATION_KEY, value=ANNOTATION_VALUE)
1718
return asyncio.run(collect_payment())
1819

1920

2021
@tracer.capture_method
2122
async def collect_payment() -> str:
23+
tracer.put_annotation(key=ANNOTATION_KEY, value=ANNOTATION_ASYNC_VALUE)
2224
tracer.put_metadata(key=ANNOTATION_KEY, value=ANNOTATION_ASYNC_VALUE)
2325
return "success"

tests/e2e/tracer/test_tracer.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,11 @@
88

99

1010
@pytest.fixture(scope="module")
11-
def config():
11+
def config() -> conftest.LambdaConfig:
1212
return {
1313
"parameters": {"tracing": "ACTIVE"},
1414
"environment_variables": {
15-
"ANNOTATION_KEY": f"e2e-tracer-{uuid.uuid4()}",
15+
"ANNOTATION_KEY": f"e2e-tracer-{str(uuid.uuid4()).replace('-','_')}",
1616
"ANNOTATION_VALUE": "stored",
1717
"ANNOTATION_ASYNC_VALUE": "payments",
1818
},
@@ -21,10 +21,10 @@ def config():
2121

2222
def test_basic_lambda_async_trace_visible(execute_lambda: conftest.InfrastructureOutput, config: conftest.LambdaConfig):
2323
# GIVEN
24-
lambda_arn = execute_lambda.get_lambda_arn(name="basichandlerarn")
24+
lambda_name = execute_lambda.get_lambda_function_name(cf_output_name="basichandlerarn")
2525
start_date = execute_lambda.get_lambda_execution_time()
2626
end_date = start_date + datetime.timedelta(minutes=5)
27-
trace_filter_exporession = f'service("{lambda_arn.split(":")[-1]}")'
27+
trace_filter_exporession = f'service("{lambda_name}")'
2828

2929
# WHEN
3030
trace = helpers.get_traces(

tests/e2e/utils/helpers.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,7 @@ def get_traces(filter_expression: str, xray_client: XRayClient, start_date: date
107107

108108

109109
def find_trace_additional_info(trace: Dict) -> List[TraceSegment]:
110+
"""Find all trace annotations and metadata and return them to the caller"""
110111
info = []
111112
for segment in trace["Traces"][0]["Segments"]:
112113
document = json.loads(segment["Document"])

0 commit comments

Comments
 (0)