From 4fdd69c6f4c1c89f666c03b870ac93ea3d6e1266 Mon Sep 17 00:00:00 2001 From: Thiago Talma Date: Thu, 15 Sep 2016 20:15:46 -0300 Subject: [PATCH] interpolated response (#1682) --- app/models/agents/webhook_agent.rb | 6 +----- spec/models/agents/webhook_agent_spec.rb | 6 ++++++ 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/app/models/agents/webhook_agent.rb b/app/models/agents/webhook_agent.rb index f86c1a75..7381a72b 100644 --- a/app/models/agents/webhook_agent.rb +++ b/app/models/agents/webhook_agent.rb @@ -88,7 +88,7 @@ module Agents create_event(payload: payload) end - [response_message, code] + [interpolated(params)['response'] || 'Event Created', code] end def working? @@ -108,9 +108,5 @@ module Agents def payload_for(params) Utils.value_at(params, interpolated['payload_path']) || {} end - - def response_message - interpolated['response'] || 'Event Created' - end end end diff --git a/spec/models/agents/webhook_agent_spec.rb b/spec/models/agents/webhook_agent_spec.rb index 0b96f3a1..12ee8ac4 100644 --- a/spec/models/agents/webhook_agent_spec.rb +++ b/spec/models/agents/webhook_agent_spec.rb @@ -49,6 +49,12 @@ describe Agents::WebhookAgent do expect(out).to eq(['', 201]) end + it 'should respond with interpolated response message if configured with `response` option' do + agent.options['response'] = '{{some_key.people[1].name}}' + out = agent.receive_web_request({ 'secret' => 'foobar', 'some_key' => payload }, "post", "text/html") + expect(out).to eq(['jon', 201]) + end + it 'should respond with `Event Created` if the response option is nil or missing' do agent.options['response'] = nil out = agent.receive_web_request({ 'secret' => 'foobar', 'some_key' => payload }, "post", "text/html")