Class: PactBroker::Test::TestDataBuilder
- Inherits:
-
Object
- Object
- PactBroker::Test::TestDataBuilder
show all
- Includes:
- Repositories, Services
- Defined in:
- lib/pact_broker/test/test_data_builder.rb
Instance Attribute Summary collapse
Instance Method Summary
collapse
-
#add_day ⇒ Object
-
#add_days(days = 1) ⇒ Object
-
#add_five_minutes ⇒ Object
-
#add_minute ⇒ Object
-
#and_return(instance_variable_name) ⇒ Object
-
#comment(*args) ⇒ Object
-
#create_certificate(options = {path: 'spec/fixtures/single-certificate.pem'}) ⇒ Object
-
#create_condor ⇒ Object
-
#create_consumer(consumer_name = "Consumer #{model_counter}", params = {}) ⇒ Object
-
#create_consumer_version(version_number = "1.0.#{model_counter}", params = {}) ⇒ Object
-
#create_consumer_version_tag(tag_name, params = {}) ⇒ Object
-
#create_consumer_webhook(parameters = {}) ⇒ Object
-
#create_contract_email_service ⇒ Object
-
#create_contract_proposal_service ⇒ Object
-
#create_everything_for_an_integration ⇒ Object
-
#create_global_contract_content_changed_webhook(parameters = {}) ⇒ Object
-
#create_global_contract_published_webhook(parameters = {}) ⇒ Object
-
#create_global_verification_failed_webhook(parameters = {}) ⇒ Object
-
#create_global_verification_succeeded_webhook(parameters = {}) ⇒ Object
-
#create_global_verification_webhook(parameters = {}) ⇒ Object
-
#create_global_webhook(parameters = {}) ⇒ Object
-
#create_label(label_name) ⇒ Object
-
#create_pact(params = {}) ⇒ Object
-
#create_pact_with_consumer_version_tag(consumer_name, consumer_version_number, consumer_version_tag_name, provider_name) ⇒ Object
-
#create_pact_with_hierarchy(consumer_name = "Consumer", consumer_version_number = "1.2.3", provider_name = "Provider", json_content = nil) ⇒ Object
-
#create_pact_with_verification(consumer_name = "Consumer", consumer_version = "1.0.#{model_counter}", provider_name = "Provider", provider_version = "1.0.#{model_counter}") ⇒ Object
-
#create_pacticipant(pacticipant_name, params = {}) ⇒ Object
-
#create_pricing_service ⇒ Object
-
#create_provider(provider_name = "Provider #{model_counter}", params = {}) ⇒ Object
-
#create_provider_version(version_number = "1.0.#{model_counter}", params = {}) ⇒ Object
-
#create_provider_version_tag(tag_name, params = {}) ⇒ Object
-
#create_provider_webhook(parameters = {}) ⇒ Object
-
#create_tag(tag_name, params = {}) ⇒ Object
-
#create_tag_with_hierarchy(pacticipant_name, pacticipant_version, tag_name) ⇒ Object
-
#create_triggered_webhook(params = {}) ⇒ Object
-
#create_verification(parameters = {}) ⇒ Object
-
#create_verification_webhook(parameters = {}) ⇒ Object
-
#create_version(version_number = "1.0.#{model_counter}", params = {}) ⇒ Object
-
#create_version_with_hierarchy(pacticipant_name, pacticipant_version) ⇒ Object
-
#create_webhook(parameters = {}) ⇒ Object
-
#create_webhook_execution(params = {}) ⇒ Object
-
#in_utc ⇒ Object
-
#initialize(params = {}) ⇒ TestDataBuilder
constructor
A new instance of TestDataBuilder.
-
#model_counter ⇒ Object
-
#republish_same_pact(params = {}) ⇒ Object
-
#revise_pact(json_content = nil) ⇒ Object
-
#set_now(date) ⇒ Object
-
#subtract_day ⇒ Object
-
#subtract_days(days = 1) ⇒ Object
-
#use_consumer(consumer_name, params = {}) ⇒ Object
-
#use_consumer_version(version_number) ⇒ Object
-
#use_provider(provider_name) ⇒ Object
-
#use_provider_version(version_number) ⇒ Object
Methods included from Services
#badge_service, #certificate_service, #group_service, #index_service, #integration_service, #label_service, #matrix_service, #metrics_service, #pact_service, #pacticipant_service, #tag_service, #verification_service, #version_service, #webhook_service, #webhook_trigger_service
#label_repository, #matrix_repository, #pact_repository, #pacticipant_repository, #tag_repository, #verification_repository, #version_repository, #webhook_repository
Constructor Details
Returns a new instance of TestDataBuilder.
48
49
50
|
# File 'lib/pact_broker/test/test_data_builder.rb', line 48
def initialize(params = {})
@now = DateTime.now
end
|
Instance Attribute Details
#consumer ⇒ Object
Returns the value of attribute consumer.
37
38
39
|
# File 'lib/pact_broker/test/test_data_builder.rb', line 37
def consumer
@consumer
end
|
#consumer_version ⇒ Object
Returns the value of attribute consumer_version.
39
40
41
|
# File 'lib/pact_broker/test/test_data_builder.rb', line 39
def consumer_version
@consumer_version
end
|
#pact ⇒ Object
Returns the value of attribute pact.
42
43
44
|
# File 'lib/pact_broker/test/test_data_builder.rb', line 42
def pact
@pact
end
|
#pacticipant ⇒ Object
Returns the value of attribute pacticipant.
36
37
38
|
# File 'lib/pact_broker/test/test_data_builder.rb', line 36
def pacticipant
@pacticipant
end
|
#provider ⇒ Object
Returns the value of attribute provider.
38
39
40
|
# File 'lib/pact_broker/test/test_data_builder.rb', line 38
def provider
@provider
end
|
#provider_version ⇒ Object
Returns the value of attribute provider_version.
40
41
42
|
# File 'lib/pact_broker/test/test_data_builder.rb', line 40
def provider_version
@provider_version
end
|
#triggered_webhook ⇒ Object
Returns the value of attribute triggered_webhook.
46
47
48
|
# File 'lib/pact_broker/test/test_data_builder.rb', line 46
def triggered_webhook
@triggered_webhook
end
|
#verification ⇒ Object
Returns the value of attribute verification.
43
44
45
|
# File 'lib/pact_broker/test/test_data_builder.rb', line 43
def verification
@verification
end
|
#version ⇒ Object
Returns the value of attribute version.
41
42
43
|
# File 'lib/pact_broker/test/test_data_builder.rb', line 41
def version
@version
end
|
#webhook ⇒ Object
Returns the value of attribute webhook.
44
45
46
|
# File 'lib/pact_broker/test/test_data_builder.rb', line 44
def webhook
@webhook
end
|
#webhook_execution ⇒ Object
Returns the value of attribute webhook_execution.
45
46
47
|
# File 'lib/pact_broker/test/test_data_builder.rb', line 45
def webhook_execution
@webhook_execution
end
|
Instance Method Details
#add_day ⇒ Object
370
371
372
373
|
# File 'lib/pact_broker/test/test_data_builder.rb', line 370
def add_day
@now = @now + 1
self
end
|
#add_days(days = 1) ⇒ Object
375
376
377
378
|
# File 'lib/pact_broker/test/test_data_builder.rb', line 375
def add_days(days = 1)
@now = @now + days
self
end
|
#add_five_minutes ⇒ Object
395
396
397
398
|
# File 'lib/pact_broker/test/test_data_builder.rb', line 395
def add_five_minutes
@now = @now + (1.0/(24*60)*5)
self
end
|
#add_minute ⇒ Object
390
391
392
393
|
# File 'lib/pact_broker/test/test_data_builder.rb', line 390
def add_minute
@now = @now + (1.0/(24*60))
self
end
|
#and_return(instance_variable_name) ⇒ Object
361
362
363
|
# File 'lib/pact_broker/test/test_data_builder.rb', line 361
def and_return instance_variable_name
instance_variable_get("@#{instance_variable_name}")
end
|
52
53
54
|
# File 'lib/pact_broker/test/test_data_builder.rb', line 52
def *args
self
end
|
#create_certificate(options = {path: 'spec/fixtures/single-certificate.pem'}) ⇒ Object
339
340
341
342
343
|
# File 'lib/pact_broker/test/test_data_builder.rb', line 339
def create_certificate options = {path: 'spec/fixtures/single-certificate.pem'}
options.delete(:comment)
PactBroker::Certificates::Certificate.create(uuid: SecureRandom.urlsafe_base64, content: File.read(options[:path]))
self
end
|
#create_condor ⇒ Object
71
72
73
74
|
# File 'lib/pact_broker/test/test_data_builder.rb', line 71
def create_condor
create_consumer("Condor")
self
end
|
#create_consumer(consumer_name = "Consumer #{model_counter}", params = {}) ⇒ Object
118
119
120
121
122
123
|
# File 'lib/pact_broker/test/test_data_builder.rb', line 118
def create_consumer consumer_name = "Consumer #{model_counter}", params = {}
params.delete(:comment)
create_pacticipant consumer_name, params
@consumer = @pacticipant
self
end
|
#create_consumer_version(version_number = "1.0.#{model_counter}", params = {}) ⇒ Object
149
150
151
152
153
154
155
156
157
158
|
# File 'lib/pact_broker/test/test_data_builder.rb', line 149
def create_consumer_version version_number = "1.0.#{model_counter}", params = {}
params.delete(:comment)
tag_names = [params.delete(:tag_names), params.delete(:tag_name)].flatten.compact
@consumer_version = PactBroker::Domain::Version.create(:number => version_number, :pacticipant => @consumer)
set_created_at_if_set params[:created_at], :versions, { id: @consumer_version.id }
tag_names.each do | tag_name |
PactBroker::Domain::Tag.create(name: tag_name, version: @consumer_version)
end
self
end
|
#create_consumer_version_tag(tag_name, params = {}) ⇒ Object
184
185
186
187
188
189
|
# File 'lib/pact_broker/test/test_data_builder.rb', line 184
def create_consumer_version_tag tag_name, params = {}
params.delete(:comment)
@tag = PactBroker::Domain::Tag.create(name: tag_name, version: @consumer_version)
set_created_at_if_set params[:created_at], :tags, { name: @tag.name, version_id: @tag.version_id }
self
end
|
#create_consumer_webhook(parameters = {}) ⇒ Object
289
290
291
|
# File 'lib/pact_broker/test/test_data_builder.rb', line 289
def create_consumer_webhook parameters = {}
create_webhook(parameters.merge(provider: nil))
end
|
#create_contract_email_service ⇒ Object
66
67
68
69
|
# File 'lib/pact_broker/test/test_data_builder.rb', line 66
def create_contract_email_service
create_consumer("Contract Email Service", :repository_url => '[email protected]:business-systems/contract-email-service')
self
end
|
#create_contract_proposal_service ⇒ Object
61
62
63
64
|
# File 'lib/pact_broker/test/test_data_builder.rb', line 61
def create_contract_proposal_service
create_provider("Contract Proposal Service", :repository_url => '[email protected]:business-systems/contract-proposal-service')
self
end
|
#create_everything_for_an_integration ⇒ Object
345
346
347
348
349
350
351
352
353
|
# File 'lib/pact_broker/test/test_data_builder.rb', line 345
def create_everything_for_an_integration
create_pact_with_verification("Foo", "1", "Bar", "2")
.create_label("label")
.create_consumer_version_tag("master")
.create_provider_version_tag("master")
.create_webhook
.create_triggered_webhook
.create_webhook_execution
end
|
#create_global_contract_content_changed_webhook(parameters = {}) ⇒ Object
269
270
271
|
# File 'lib/pact_broker/test/test_data_builder.rb', line 269
def create_global_contract_content_changed_webhook parameters = {}
create_webhook(parameters.merge(consumer: nil, provider: nil, event_names: [PactBroker::Webhooks::WebhookEvent::CONTRACT_CONTENT_CHANGED]))
end
|
#create_global_contract_published_webhook(parameters = {}) ⇒ Object
265
266
267
|
# File 'lib/pact_broker/test/test_data_builder.rb', line 265
def create_global_contract_published_webhook parameters = {}
create_webhook(parameters.merge(consumer: nil, provider: nil, event_names: [PactBroker::Webhooks::WebhookEvent::CONTRACT_PUBLISHED]))
end
|
#create_global_verification_failed_webhook(parameters = {}) ⇒ Object
281
282
283
|
# File 'lib/pact_broker/test/test_data_builder.rb', line 281
def create_global_verification_failed_webhook parameters = {}
create_webhook(parameters.merge(consumer: nil, provider: nil, event_names: [PactBroker::Webhooks::WebhookEvent::VERIFICATION_FAILED]))
end
|
#create_global_verification_succeeded_webhook(parameters = {}) ⇒ Object
277
278
279
|
# File 'lib/pact_broker/test/test_data_builder.rb', line 277
def create_global_verification_succeeded_webhook parameters = {}
create_webhook(parameters.merge(consumer: nil, provider: nil, event_names: [PactBroker::Webhooks::WebhookEvent::VERIFICATION_SUCCEEDED]))
end
|
#create_global_verification_webhook(parameters = {}) ⇒ Object
273
274
275
|
# File 'lib/pact_broker/test/test_data_builder.rb', line 273
def create_global_verification_webhook parameters = {}
create_webhook(parameters.merge(consumer: nil, provider: nil, event_names: [PactBroker::Webhooks::WebhookEvent::VERIFICATION_PUBLISHED]))
end
|
#create_global_webhook(parameters = {}) ⇒ Object
261
262
263
|
# File 'lib/pact_broker/test/test_data_builder.rb', line 261
def create_global_webhook parameters = {}
create_webhook(parameters.merge(consumer: nil, provider: nil))
end
|
#create_label(label_name) ⇒ Object
198
199
200
201
|
# File 'lib/pact_broker/test/test_data_builder.rb', line 198
def create_label label_name
@label = PactBroker::Domain::Label.create(name: label_name, pacticipant: @pacticipant)
self
end
|
#create_pact(params = {}) ⇒ Object
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
|
# File 'lib/pact_broker/test/test_data_builder.rb', line 203
def create_pact params = {}
params.delete(:comment)
json_content = params[:json_content] || default_json_content
pact_version_sha = params[:pact_version_sha] || generate_pact_version_sha(json_content)
pact_versions_count_before = PactBroker::Pacts::PactVersion.count
@pact = PactBroker::Pacts::Repository.new.create(
version_id: @consumer_version.id,
consumer_id: @consumer.id,
provider_id: @provider.id,
pact_version_sha: pact_version_sha,
json_content: prepare_json_content(json_content),
)
pact_versions_count_after = PactBroker::Pacts::PactVersion.count
set_created_at_if_set(params[:created_at], :pact_publications, id: @pact.id)
set_created_at_if_set(params[:created_at], :pact_versions, sha: @pact.pact_version_sha) if pact_versions_count_after > pact_versions_count_before
set_created_at_if_set(params[:created_at], :latest_pact_publication_ids_for_consumer_versions, consumer_version_id: @consumer_version.id)
@pact = PactBroker::Pacts::PactPublication.find(id: @pact.id).to_domain
self
end
|
#create_pact_with_consumer_version_tag(consumer_name, consumer_version_number, consumer_version_tag_name, provider_name) ⇒ Object
87
88
89
90
91
|
# File 'lib/pact_broker/test/test_data_builder.rb', line 87
def create_pact_with_consumer_version_tag consumer_name, consumer_version_number, consumer_version_tag_name, provider_name
create_pact_with_hierarchy(consumer_name, consumer_version_number, provider_name)
create_consumer_version_tag(consumer_version_tag_name)
self
end
|
#create_pact_with_hierarchy(consumer_name = "Consumer", consumer_version_number = "1.2.3", provider_name = "Provider", json_content = nil) ⇒ Object
76
77
78
79
80
81
82
83
84
85
|
# File 'lib/pact_broker/test/test_data_builder.rb', line 76
def create_pact_with_hierarchy consumer_name = "Consumer", consumer_version_number = "1.2.3", provider_name = "Provider", json_content = nil
use_consumer(consumer_name)
create_consumer(consumer_name) if !consumer
use_provider(provider_name)
create_provider provider_name if !provider
use_consumer_version(consumer_version_number)
create_consumer_version(consumer_version_number) if !consumer_version
create_pact json_content: json_content || default_json_content
self
end
|
#create_pact_with_verification(consumer_name = "Consumer", consumer_version = "1.0.#{model_counter}", provider_name = "Provider", provider_version = "1.0.#{model_counter}") ⇒ Object
93
94
95
96
97
|
# File 'lib/pact_broker/test/test_data_builder.rb', line 93
def create_pact_with_verification consumer_name = "Consumer", consumer_version = "1.0.#{model_counter}", provider_name = "Provider", provider_version = "1.0.#{model_counter}"
create_pact_with_hierarchy(consumer_name, consumer_version, provider_name)
create_verification(number: model_counter, provider_version: provider_version)
self
end
|
#create_pacticipant(pacticipant_name, params = {}) ⇒ Object
112
113
114
115
116
|
# File 'lib/pact_broker/test/test_data_builder.rb', line 112
def create_pacticipant pacticipant_name, params = {}
params.delete(:comment)
@pacticipant = PactBroker::Domain::Pacticipant.create({ :name => pacticipant_name, repository_url: "https://github.com/example-organization/#{pacticipant_name}" }.merge(params))
self
end
|
#create_pricing_service ⇒ Object
56
57
58
59
|
# File 'lib/pact_broker/test/test_data_builder.rb', line 56
def create_pricing_service
create_provider("Pricing Service", :repository_url => '[email protected]:business-systems/pricing-service')
self
end
|
#create_provider(provider_name = "Provider #{model_counter}", params = {}) ⇒ Object
131
132
133
134
135
136
|
# File 'lib/pact_broker/test/test_data_builder.rb', line 131
def create_provider provider_name = "Provider #{model_counter}", params = {}
params.delete(:comment)
create_pacticipant provider_name, params
@provider = @pacticipant
self
end
|
#create_provider_version(version_number = "1.0.#{model_counter}", params = {}) ⇒ Object
160
161
162
163
164
165
|
# File 'lib/pact_broker/test/test_data_builder.rb', line 160
def create_provider_version version_number = "1.0.#{model_counter}", params = {}
params.delete(:comment)
@version = PactBroker::Domain::Version.create(:number => version_number, :pacticipant => @provider)
@provider_version = @version
self
end
|
#create_provider_version_tag(tag_name, params = {}) ⇒ Object
191
192
193
194
195
196
|
# File 'lib/pact_broker/test/test_data_builder.rb', line 191
def create_provider_version_tag tag_name, params = {}
params.delete(:comment)
@tag = PactBroker::Domain::Tag.create(name: tag_name, version: @provider_version)
set_created_at_if_set params[:created_at], :tags, { name: @tag.name, version_id: @tag.version_id }
self
end
|
#create_provider_webhook(parameters = {}) ⇒ Object
285
286
287
|
# File 'lib/pact_broker/test/test_data_builder.rb', line 285
def create_provider_webhook parameters = {}
create_webhook(parameters.merge(consumer: nil))
end
|
#create_tag(tag_name, params = {}) ⇒ Object
177
178
179
180
181
182
|
# File 'lib/pact_broker/test/test_data_builder.rb', line 177
def create_tag tag_name, params = {}
params.delete(:comment)
@tag = PactBroker::Domain::Tag.create(name: tag_name, version: @version)
set_created_at_if_set params[:created_at], :tags, { name: @tag.name, version_id: @tag.version_id }
self
end
|
#create_tag_with_hierarchy(pacticipant_name, pacticipant_version, tag_name) ⇒ Object
106
107
108
109
110
|
# File 'lib/pact_broker/test/test_data_builder.rb', line 106
def create_tag_with_hierarchy pacticipant_name, pacticipant_version, tag_name
create_version_with_hierarchy pacticipant_name, pacticipant_version
PactBroker::Domain::Tag.create(name: tag_name, version: @version)
self
end
|
#create_triggered_webhook(params = {}) ⇒ Object
293
294
295
296
297
298
299
300
301
|
# File 'lib/pact_broker/test/test_data_builder.rb', line 293
def create_triggered_webhook params = {}
params.delete(:comment)
trigger_uuid = params[:trigger_uuid] || webhook_service.next_uuid
verification = @webhook.trigger_on_provider_verification_published? ? @verification : nil
@triggered_webhook = webhook_repository.create_triggered_webhook trigger_uuid, @webhook, @pact, verification, PactBroker::Webhooks::Service::RESOURCE_CREATION
@triggered_webhook.update(status: params[:status]) if params[:status]
set_created_at_if_set params[:created_at], :triggered_webhooks, {id: @triggered_webhook.id}
self
end
|
#create_verification(parameters = {}) ⇒ Object
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
|
# File 'lib/pact_broker/test/test_data_builder.rb', line 314
def create_verification parameters = {}
parameters.delete(:comment)
tag_names = [parameters.delete(:tag_names), parameters.delete(:tag_name)].flatten.compact
provider_version_number = parameters[:provider_version] || '4.5.6'
default_parameters = {success: true, number: 1, test_results: {some: 'results'}}
default_parameters[:execution_date] = @now if @now
parameters = default_parameters.merge(parameters)
parameters.delete(:provider_version)
verification = PactBroker::Domain::Verification.new(parameters)
@verification = PactBroker::Verifications::Repository.new.create(verification, provider_version_number, @pact)
@provider_version = PactBroker::Domain::Version.where(pacticipant_id: @provider.id, number: provider_version_number).single_record
set_created_at_if_set(parameters[:created_at], :verifications, id: @verification.id)
set_created_at_if_set(parameters[:created_at], :versions, id: @provider_version.id)
set_created_at_if_set(parameters[:created_at], :latest_verification_id_for_pact_version_and_provider_version, pact_version_id: pact_version_id, provider_version_id: @provider_version.id)
if tag_names.any?
tag_names.each do | tag_name |
PactBroker::Domain::Tag.create(name: tag_name, version: @provider_version)
set_created_at_if_set(parameters[:created_at], :tags, version_id: @provider_version.id, name: tag_name)
end
end
self
end
|
#create_verification_webhook(parameters = {}) ⇒ Object
#create_version(version_number = "1.0.#{model_counter}", params = {}) ⇒ Object
143
144
145
146
147
|
# File 'lib/pact_broker/test/test_data_builder.rb', line 143
def create_version version_number = "1.0.#{model_counter}", params = {}
params.delete(:comment)
@version = PactBroker::Domain::Version.create(:number => version_number, :pacticipant => @pacticipant)
self
end
|
#create_version_with_hierarchy(pacticipant_name, pacticipant_version) ⇒ Object
99
100
101
102
103
104
|
# File 'lib/pact_broker/test/test_data_builder.rb', line 99
def create_version_with_hierarchy pacticipant_name, pacticipant_version
pacticipant = pacticipant_service.create(:name => pacticipant_name)
version = PactBroker::Domain::Version.create(:number => pacticipant_version, :pacticipant => pacticipant)
@version = PactBroker::Domain::Version.find(id: version.id) self
end
|
#create_webhook(parameters = {}) ⇒ Object
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
|
# File 'lib/pact_broker/test/test_data_builder.rb', line 240
def create_webhook parameters = {}
params = parameters.dup
consumer = params.key?(:consumer) ? params.delete(:consumer) : @consumer
provider = params.key?(:provider) ? params.delete(:provider) : @provider
uuid = params[:uuid] || PactBroker::Webhooks::Service.next_uuid
event_params = if params[:event_names]
params[:event_names].collect{ |event_name| {name: event_name} }
else
params[:events] || [{ name: PactBroker::Webhooks::WebhookEvent::DEFAULT_EVENT_NAME }]
end
events = event_params.collect{ |e| PactBroker::Webhooks::WebhookEvent.new(e) }
template_params = { method: 'POST', url: 'http://example.org', headers: {'Content-Type' => 'application/json'}, username: params[:username], password: params[:password]}
request = PactBroker::Webhooks::WebhookRequestTemplate.new(template_params.merge(params))
@webhook = PactBroker::Webhooks::Repository.new.create uuid, PactBroker::Domain::Webhook.new(request: request, events: events, description: params[:description]), consumer, provider
self
end
|
#create_webhook_execution(params = {}) ⇒ Object
303
304
305
306
307
308
309
310
311
312
|
# File 'lib/pact_broker/test/test_data_builder.rb', line 303
def create_webhook_execution params = {}
params.delete(:comment)
logs = params[:logs] || "logs"
webhook_execution_result = PactBroker::Webhooks::WebhookExecutionResult.new(nil, OpenStruct.new(code: "200"), logs, nil)
@webhook_execution = PactBroker::Webhooks::Repository.new.create_execution @triggered_webhook, webhook_execution_result
created_at = params[:created_at] || @pact.created_at + Rational(1, 86400)
set_created_at_if_set created_at, :webhook_executions, {id: @webhook_execution.id}
@webhook_execution = PactBroker::Webhooks::Execution.find(id: @webhook_execution.id)
self
end
|
#in_utc ⇒ Object
400
401
402
403
404
405
406
407
408
|
# File 'lib/pact_broker/test/test_data_builder.rb', line 400
def in_utc
original_tz = ENV['TZ']
begin
ENV['TZ'] = 'UTC'
yield
ensure
ENV['TZ'] = original_tz
end
end
|
#model_counter ⇒ Object
355
356
357
358
359
|
# File 'lib/pact_broker/test/test_data_builder.rb', line 355
def model_counter
@@model_counter ||= 0
@@model_counter += 1
@@model_counter
end
|
#republish_same_pact(params = {}) ⇒ Object
223
224
225
226
227
228
|
# File 'lib/pact_broker/test/test_data_builder.rb', line 223
def republish_same_pact params = {}
params.delete(:comment)
last_pact_version = PactBroker::Pacts::PactVersion.order(:id).last
create_pact pact_version_sha: last_pact_version.sha, json_content: last_pact_version.content, created_at: params[:created_at]
self
end
|
#revise_pact(json_content = nil) ⇒ Object
230
231
232
233
234
235
236
237
238
|
# File 'lib/pact_broker/test/test_data_builder.rb', line 230
def revise_pact json_content = nil
json_content = json_content ? json_content : {random: rand}.to_json
pact_version_sha = generate_pact_version_sha(json_content)
@pact = PactBroker::Pacts::Repository.new.update(@pact.id,
json_content: prepare_json_content(json_content),
pact_version_sha: pact_version_sha
)
self
end
|
#set_now(date) ⇒ Object
365
366
367
368
|
# File 'lib/pact_broker/test/test_data_builder.rb', line 365
def set_now date
@now = date.to_date
self
end
|
#subtract_day ⇒ Object
380
381
382
383
|
# File 'lib/pact_broker/test/test_data_builder.rb', line 380
def subtract_day
@now = @now - 1
self
end
|
#subtract_days(days = 1) ⇒ Object
385
386
387
388
|
# File 'lib/pact_broker/test/test_data_builder.rb', line 385
def subtract_days(days = 1)
@now = @now - days
self
end
|
#use_consumer(consumer_name, params = {}) ⇒ Object
125
126
127
128
129
|
# File 'lib/pact_broker/test/test_data_builder.rb', line 125
def use_consumer consumer_name, params = {}
params.delete(:comment)
@consumer = PactBroker::Domain::Pacticipant.find(:name => consumer_name)
self
end
|
#use_consumer_version(version_number) ⇒ Object
167
168
169
170
|
# File 'lib/pact_broker/test/test_data_builder.rb', line 167
def use_consumer_version version_number
@consumer_version = PactBroker::Domain::Version.where(pacticipant_id: @consumer.id, number: version_number).single_record
self
end
|
#use_provider(provider_name) ⇒ Object
138
139
140
141
|
# File 'lib/pact_broker/test/test_data_builder.rb', line 138
def use_provider provider_name
@provider = PactBroker::Domain::Pacticipant.find(:name => provider_name)
self
end
|
#use_provider_version(version_number) ⇒ Object
172
173
174
175
|
# File 'lib/pact_broker/test/test_data_builder.rb', line 172
def use_provider_version version_number
@provider_version = PactBroker::Domain::Version.where(pacticipant_id: @provider.id, number: version_number).single_record
self
end
|