Skip to content

Commit 4fde367

Browse files
GSVarshaFerenc-
authored andcommitted
boto3: setting use_docker to false
Signed-off-by: Varsha GS <[email protected]>
1 parent 2148b85 commit 4fde367

File tree

1 file changed

+6
-35
lines changed

1 file changed

+6
-35
lines changed

tests/clients/boto3/test_boto3_lambda.py

Lines changed: 6 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -21,58 +21,29 @@
2121
from ...helpers import get_first_span_by_filter
2222

2323
class TestLambda(unittest.TestCase):
24-
def _get_role(self):
25-
iam = boto3.client("iam", region_name=self.lambda_region)
26-
return iam.create_role(
27-
RoleName="my-role",
28-
AssumeRolePolicyDocument="some policy"
29-
)["Role"]["Arn"]
30-
31-
def _process_lambda(self, func_str):
32-
zip_output = BytesIO()
33-
with ZipFile(zip_output, "w") as zip_file:
34-
zip_file.writestr("lambda_function.py", func_str)
35-
return zip_output.getvalue()
36-
37-
def _get_test_zip_file(self):
38-
pfunc = """
39-
def lambda_handler(event, context):
40-
print("custom log event")
41-
return {"message": "success"}
42-
"""
43-
return self._process_lambda(pfunc)
44-
4524
def setUp(self):
4625
""" Clear all spans before a test run """
4726
self.recorder = tracer.recorder
4827
self.recorder.clear_spans()
49-
self.mock = mock_aws()
28+
self.mock = mock_aws(config={"lambda": {"use_docker": False}})
5029
self.mock.start()
5130
self.lambda_region = "us-east-1"
5231
self.aws_lambda = boto3.client('lambda', region_name=self.lambda_region)
5332
self.function_name = "myfunc"
54-
self.aws_lambda.create_function(
55-
FunctionName=self.function_name,
56-
Runtime="python3.9",
57-
Role=self._get_role(),
58-
Handler="lambda_function.lambda_handler",
59-
Code={"ZipFile": self._get_test_zip_file()}
60-
)
6133

6234
def tearDown(self):
6335
# Stop Moto after each test
6436
self.mock.stop()
6537

6638

67-
@pytest.mark.skip("Lambda mocking requires docker")
6839
def test_lambda_invoke(self):
6940
with tracer.start_active_span('test'):
70-
result = self.aws_lambda.invoke(FunctionName=self.function_name)
41+
result = self.aws_lambda.invoke(FunctionName=self.function_name, Payload=json.dumps({"message": "success"}))
7142

7243
self.assertEqual(result["StatusCode"], 200)
73-
payload = json.loads(result["Payload"].read().decode("utf-8"))
74-
self.assertIn("message", payload)
75-
self.assertEqual("success", payload["message"])
44+
result_payload = json.loads(result["Payload"].read().decode("utf-8"))
45+
self.assertIn("message", result_payload)
46+
self.assertEqual("success", result_payload["message"])
7647

7748
spans = tracer.recorder.queued_spans()
7849
self.assertEqual(2, len(spans))
@@ -94,7 +65,7 @@ def test_lambda_invoke(self):
9465
self.assertEqual(boto_span.data['boto3']['op'], 'Invoke')
9566
endpoint = f'https://lambda.{self.lambda_region}.amazonaws.com'
9667
self.assertEqual(boto_span.data['boto3']['ep'], endpoint)
97-
self.assertEqual(boto_span.data['boto3']['reg'], 'us-east-1')
68+
self.assertEqual(boto_span.data['boto3']['reg'], self.lambda_region)
9869
self.assertIn('FunctionName', boto_span.data['boto3']['payload'])
9970
self.assertEqual(boto_span.data['boto3']['payload']['FunctionName'], self.function_name)
10071
self.assertEqual(boto_span.data['http']['status'], 200)

0 commit comments

Comments
 (0)