| @@ -37,8 +37,7 @@ module Agents | ||
| 37 | 37 | def default_options | 
| 38 | 38 |        { "secret" => "supersecretstring", | 
| 39 | 39 | "expected_receive_period_in_days" => 1, | 
| 40 | - "payload_path" => "some_key", | |
| 41 | - "response" => "Event Created" | |
| 40 | + "payload_path" => "some_key" | |
| 42 | 41 | } | 
| 43 | 42 | end | 
| 44 | 43 |  | 
| @@ -30,7 +30,7 @@ describe Agents::WebhookAgent do | ||
| 30 | 30 |        expect(Event.last.payload).to eq({ 'name' => 'jon' }) | 
| 31 | 31 | end | 
| 32 | 32 |  | 
| 33 | - it 'should not create event if secrets dont match' do | |
| 33 | + it 'should not create event if secrets do not match' do | |
| 34 | 34 | out = nil | 
| 35 | 35 |        expect { | 
| 36 | 36 |          out = agent.receive_web_request({ 'secret' => 'bazbat', 'some_key' => payload }, "post", "text/html") | 
| @@ -39,17 +39,24 @@ describe Agents::WebhookAgent do | ||
| 39 | 39 | end | 
| 40 | 40 |  | 
| 41 | 41 | it 'should respond with customized response message if configured with `response` option' do | 
| 42 | - out = nil | |
| 43 | 42 | agent.options['response'] = 'That Worked' | 
| 44 | 43 |        out = agent.receive_web_request({ 'secret' => 'foobar', 'some_key' => payload }, "post", "text/html") | 
| 45 | 44 | expect(out).to eq(['That Worked', 201]) | 
| 45 | + | |
| 46 | + # Empty string is a valid response | |
| 47 | + agent.options['response'] = '' | |
| 48 | +      out = agent.receive_web_request({ 'secret' => 'foobar', 'some_key' => payload }, "post", "text/html") | |
| 49 | + expect(out).to eq(['', 201]) | |
| 46 | 50 | end | 
| 47 | 51 |  | 
| 48 | - it 'should respond with `Event Created` if response option is nil' do | |
| 49 | - out = nil | |
| 52 | + it 'should respond with `Event Created` if the response option is nil or missing' do | |
| 50 | 53 | agent.options['response'] = nil | 
| 51 | 54 |        out = agent.receive_web_request({ 'secret' => 'foobar', 'some_key' => payload }, "post", "text/html") | 
| 52 | 55 | expect(out).to eq(['Event Created', 201]) | 
| 56 | + | |
| 57 | +      agent.options.delete('response') | |
| 58 | +      out = agent.receive_web_request({ 'secret' => 'foobar', 'some_key' => payload }, "post", "text/html") | |
| 59 | + expect(out).to eq(['Event Created', 201]) | |
| 53 | 60 | end | 
| 54 | 61 |  | 
| 55 | 62 | describe "receiving events" do |