@@ -11,13 +11,14 @@ module Webhooks
11
11
allow ( Job ) . to receive ( :logger ) . and_return ( logger )
12
12
end
13
13
14
+ let ( :base_url ) { "http://broker" }
14
15
let ( :triggered_webhook ) { instance_double ( "PactBroker::Webhooks::TriggeredWebhook" , webhook_uuid : '1234' , id : 1 ) }
15
16
let ( :result ) { instance_double ( "PactBroker::Domain::WebhookExecutionResult" , success? : success ) }
16
17
let ( :success ) { true }
17
18
let ( :logger ) { double ( 'logger' ) . as_null_object }
18
19
let ( :database_connector ) { -> ( &block ) { block . call } }
19
20
20
- subject { Job . new . perform ( triggered_webhook : triggered_webhook , database_connector : database_connector ) }
21
+ subject { Job . new . perform ( triggered_webhook : triggered_webhook , database_connector : database_connector , base_url : base_url ) }
21
22
22
23
it "reloads the TriggeredWebhook object to make sure it has a fresh copy" do
23
24
expect ( PactBroker ::Webhooks ::TriggeredWebhook ) . to receive ( :find ) . with ( id : 1 )
@@ -44,7 +45,7 @@ module Webhooks
44
45
end
45
46
46
47
it "reschedules the job in 10 seconds" do
47
- expect ( Job ) . to receive ( :perform_in ) . with ( 10 , { triggered_webhook : triggered_webhook , error_count : 1 , database_connector : database_connector } )
48
+ expect ( Job ) . to receive ( :perform_in ) . with ( 10 , { triggered_webhook : triggered_webhook , error_count : 1 , database_connector : database_connector , base_url : base_url } )
48
49
subject
49
50
end
50
51
@@ -59,15 +60,16 @@ module Webhooks
59
60
let ( :success ) { false }
60
61
61
62
it "reschedules the job in 10 seconds" do
62
- expect ( Job ) . to receive ( :perform_in ) . with ( 10 , { triggered_webhook : triggered_webhook , error_count : 1 , database_connector : database_connector } )
63
+ expect ( Job ) . to receive ( :perform_in ) . with ( 10 , { triggered_webhook : triggered_webhook , error_count : 1 , database_connector : database_connector , base_url : base_url } )
63
64
subject
64
65
end
65
66
66
67
it "executes the job with an log message indicating that the webhook will be retried" do
67
68
expect ( PactBroker ::Webhooks ::Service ) . to receive ( :execute_triggered_webhook_now )
68
69
. with ( triggered_webhook , {
69
70
failure_log_message : "Retrying webhook in 10 seconds" ,
70
- success_log_message : "Successfully executed webhook"
71
+ success_log_message : "Successfully executed webhook" ,
72
+ base_url : base_url
71
73
} )
72
74
subject
73
75
end
@@ -84,10 +86,10 @@ module Webhooks
84
86
allow ( PactBroker ::Webhooks ::Service ) . to receive ( :execute_triggered_webhook_now ) . and_raise ( "an error" )
85
87
end
86
88
87
- subject { Job . new . perform ( triggered_webhook : triggered_webhook , error_count : 1 , database_connector : database_connector ) }
89
+ subject { Job . new . perform ( triggered_webhook : triggered_webhook , error_count : 1 , database_connector : database_connector , base_url : base_url ) }
88
90
89
91
it "reschedules the job in 60 seconds" do
90
- expect ( Job ) . to receive ( :perform_in ) . with ( 60 , { triggered_webhook : triggered_webhook , error_count : 2 , database_connector : database_connector } )
92
+ expect ( Job ) . to receive ( :perform_in ) . with ( 60 , { triggered_webhook : triggered_webhook , error_count : 2 , database_connector : database_connector , base_url : base_url } )
91
93
subject
92
94
end
93
95
@@ -101,13 +103,14 @@ module Webhooks
101
103
context "when the job is not successful for the last time" do
102
104
let ( :success ) { false }
103
105
104
- subject { Job . new . perform ( triggered_webhook : triggered_webhook , error_count : 6 , database_connector : database_connector ) }
106
+ subject { Job . new . perform ( triggered_webhook : triggered_webhook , error_count : 6 , database_connector : database_connector , base_url : base_url ) }
105
107
106
108
it "executes the job with an log message indicating that the webhook has failed" do
107
109
expect ( PactBroker ::Webhooks ::Service ) . to receive ( :execute_triggered_webhook_now )
108
110
. with ( triggered_webhook , {
109
111
failure_log_message : "Webhook execution failed after 7 attempts" ,
110
- success_log_message : "Successfully executed webhook"
112
+ success_log_message : "Successfully executed webhook" ,
113
+ base_url : base_url
111
114
} )
112
115
subject
113
116
end
0 commit comments