interpolated response (#1682)

Thiago Talma 7 lat temu
rodzic
commit
4fdd69c6f4
2 zmienionych plików z 7 dodań i 5 usunięć
  1. 1 5
      app/models/agents/webhook_agent.rb
  2. 6 0
      spec/models/agents/webhook_agent_spec.rb

+ 1 - 5
app/models/agents/webhook_agent.rb

@@ -88,7 +88,7 @@ module Agents
88 88
         create_event(payload: payload)
89 89
       end
90 90
 
91
-      [response_message, code]
91
+      [interpolated(params)['response'] || 'Event Created', code]
92 92
     end
93 93
 
94 94
     def working?
@@ -108,9 +108,5 @@ module Agents
108 108
     def payload_for(params)
109 109
       Utils.value_at(params, interpolated['payload_path']) || {}
110 110
     end
111
-
112
-    def response_message
113
-      interpolated['response'] || 'Event Created'
114
-    end
115 111
   end
116 112
 end

+ 6 - 0
spec/models/agents/webhook_agent_spec.rb

@@ -49,6 +49,12 @@ describe Agents::WebhookAgent do
49 49
       expect(out).to eq(['', 201])
50 50
     end
51 51
 
52
+    it 'should respond with interpolated response message if configured with `response` option' do
53
+      agent.options['response'] = '{{some_key.people[1].name}}'
54
+      out = agent.receive_web_request({ 'secret' => 'foobar', 'some_key' => payload }, "post", "text/html")
55
+      expect(out).to eq(['jon', 201])
56
+    end
57
+
52 58
     it 'should respond with `Event Created` if the response option is nil or missing' do
53 59
       agent.options['response'] = nil
54 60
       out = agent.receive_web_request({ 'secret' => 'foobar', 'some_key' => payload }, "post", "text/html")