Merge pull request #2973 from bblommers/master

Lambda - Return LogResult only if requested
This commit is contained in:
Steve Pulec 2020-05-14 17:53:49 -05:00 committed by GitHub
commit 464fea84f9
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 34 additions and 20 deletions

View file

@ -43,6 +43,7 @@ def _process_lambda(func_str):
def get_test_zip_file1():
pfunc = """
def lambda_handler(event, context):
print("custom log event")
return event
"""
return _process_lambda(pfunc)
@ -112,18 +113,29 @@ def test_invoke_requestresponse_function():
FunctionName="testFunction",
InvocationType="RequestResponse",
Payload=json.dumps(in_data),
LogType="Tail",
)
success_result["StatusCode"].should.equal(200)
result_obj = json.loads(
base64.b64decode(success_result["LogResult"]).decode("utf-8")
)
logs = base64.b64decode(success_result["LogResult"]).decode("utf-8")
result_obj.should.equal(in_data)
logs.should.contain("START RequestId:")
logs.should.contain("custom log event")
logs.should.contain("END RequestId:")
payload = success_result["Payload"].read().decode("utf-8")
json.loads(payload).should.equal(in_data)
# Logs should not be returned by default, only when the LogType-param is supplied
success_result = conn.invoke(
FunctionName="testFunction",
InvocationType="RequestResponse",
Payload=json.dumps(in_data),
)
success_result["StatusCode"].should.equal(200)
assert "LogResult" not in success_result
@mock_lambda
def test_invoke_requestresponse_function_with_arn():
@ -152,11 +164,6 @@ def test_invoke_requestresponse_function_with_arn():
)
success_result["StatusCode"].should.equal(200)
result_obj = json.loads(
base64.b64decode(success_result["LogResult"]).decode("utf-8")
)
result_obj.should.equal(in_data)
payload = success_result["Payload"].read().decode("utf-8")
json.loads(payload).should.equal(in_data)