docbrown/app/labor/function_caller.rb
Anna Buianova d57f8eec4a BlackBox specs #2524 (#2542)
* Specs for FuctionCaller

* Fix accepting nil values from AWS lambda

* Specs for the black_box #2524

* Spec for BlackBox#comment_quality_score

* Remove vcr cassette usage from the CouponGenerator spec
2019-04-25 10:19:11 -04:00

20 lines
507 B
Ruby

class FunctionCaller
def initialize(function_name, payload, aws_lambda_client = AWS_LAMBDA)
@function_name = function_name
@payload = payload
@aws_lambda_client = aws_lambda_client
end
def self.call(*args)
new(*args).call
end
def call
response = aws_lambda_client.invoke(function_name: function_name, payload: payload)
JSON.parse(JSON.parse(response.payload.as_json[0])["body"])["message"]
end
private
attr_reader :function_name, :payload, :aws_lambda_client
end