From 56f29a0e6ed65ba197f6e005d86cd56e66db0731 Mon Sep 17 00:00:00 2001 From: Alberto Vara Date: Sat, 7 Apr 2018 20:07:17 +0200 Subject: [PATCH] Fix/lambda backend (#1556) * Fix exception with "object has no attribute" When use this code: client = boto3.client('lambda') client.get_policy([...]) moto rise: ``` moto/awslambda/responses.py", line 109, in _get_policy lambda_backend = self.get_lambda_backend(full_url) Exception: 'LambdaResponse' object has no attribute 'get_lambda_backend' ``` * fix shadows built-in name --- moto/awslambda/responses.py | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/moto/awslambda/responses.py b/moto/awslambda/responses.py index 5676da1ca..2c8a54523 100644 --- a/moto/awslambda/responses.py +++ b/moto/awslambda/responses.py @@ -94,25 +94,21 @@ class LambdaResponse(BaseResponse): return self._add_policy(request, full_url, headers) def _add_policy(self, request, full_url, headers): - lambda_backend = self.get_lambda_backend(full_url) - path = request.path if hasattr(request, 'path') else request.path_url function_name = path.split('/')[-2] - if lambda_backend.has_function(function_name): + if self.lambda_backend.get_function(function_name): policy = request.body.decode('utf8') - lambda_backend.add_policy(function_name, policy) + self.lambda_backend.add_policy(function_name, policy) return 200, {}, json.dumps(dict(Statement=policy)) else: return 404, {}, "{}" def _get_policy(self, request, full_url, headers): - lambda_backend = self.get_lambda_backend(full_url) - path = request.path if hasattr(request, 'path') else request.path_url function_name = path.split('/')[-2] - if lambda_backend.has_function(function_name): - function = lambda_backend.get_function(function_name) - return 200, {}, json.dumps(dict(Policy="{\"Statement\":[" + function.policy + "]}")) + if self.lambda_backend.get_function(function_name): + lambda_function = self.lambda_backend.get_function(function_name) + return 200, {}, json.dumps(dict(Policy="{\"Statement\":[" + lambda_function.policy + "]}")) else: return 404, {}, "{}"