pact_broker 1.0.0.alpha1 → 1.0.0.alpha2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,10 @@
1
+ 1,Media Projects,1,3158419,0,1,0,0,0,0,0,0,0,0,0
2
+ 2,Billee,1,3158419,0,2,0,0,0,0,0,0,0,0,0
3
+ 3,Media Billee Orchestrator,1,3158419,0,3,2,1,0,0,0,0,0,0,0
4
+ 4,Media Bill to Contact Sync,1,3158419,0,4,5,2,1,0,0,0,0,0,0
5
+ 5,Media Bill to Contact Changes,1,3158419,0,5,0,0,0,0,0,0,0,0,0
6
+ 6,Media Billing Account Sync,1,3158419,0,6,7,2,1,0,0,0,0,0,0
7
+ 7,Media Billing Account Changes,1,3158419,0,7,0,0,0,0,0,0,0,0,0
8
+ 8,Billee notifications,1,3158419,0,8,2,0,0,0,0,0,0,0,0
9
+ 9,Billee name notifications,1,3158419,0,9,10,0,0,0,0,0,0,0,0
10
+ 10,Media Project Changes,1,3158419,0,10,0,0,0,0,0,0,0,0,0
@@ -19,17 +19,17 @@ module PactBroker::Api
19
19
  let(:json_content) { 'json_content' }
20
20
  let(:pact) { double("pact", json_content: json_content)}
21
21
  let(:html) { 'html' }
22
- let(:pact_id_params) { {:provider_name=>"provider_name", :consumer_name=>"consumer_name", :consumer_version_number=>"latest"} }
22
+ let(:pact_id_params) { {:provider_name=>"provider_name", :consumer_name=>"consumer_name"} }
23
23
 
24
24
  before do
25
- allow(PactBroker::Services::PactService).to receive(:find_pact).and_return(pact)
25
+ allow(PactBroker::Services::PactService).to receive(:find_latest_pact).and_return(pact)
26
26
  allow(PactBroker.configuration.html_pact_renderer).to receive(:call).and_return(html)
27
27
  end
28
28
 
29
- subject { get "/pact/provider/provider_name/consumer/consumer_name/latest",{}, {'HTTP_ACCEPT' => "text/html"} }
29
+ subject { get "/pacts/provider/provider_name/consumer/consumer_name/latest",{}, {'HTTP_ACCEPT' => "text/html"} }
30
30
 
31
31
  it "find the pact" do
32
- expect(PactBroker::Services::PactService).to receive(:find_pact).with(pact_id_params)
32
+ expect(PactBroker::Services::PactService).to receive(:find_latest_pact).with(pact_id_params)
33
33
  subject
34
34
  end
35
35
 
@@ -4,15 +4,41 @@ require 'spec/support/provider_state_builder'
4
4
  module PactBroker
5
5
  module Repositories
6
6
  describe PactRepository do
7
+
8
+ describe "find_latest_pact" do
9
+
10
+ context "with a tag" do
11
+ context "when a version with a pact exists with the given tag" do
12
+ before do
13
+ ProviderStateBuilder.new
14
+ .create_consumer("Consumer")
15
+ .create_consumer_version("2.3.4")
16
+ .create_provider("Provider")
17
+ .create_pact
18
+ .create_consumer_version("1.2.3")
19
+ .create_consumer_version_tag("prod")
20
+ .create_pact
21
+ end
22
+
23
+ let(:latest_prod_pact) { PactRepository.new.find_latest_pact("Consumer", "Provider", "prod") }
24
+
25
+ it "returns the pact for the latest tagged version" do
26
+ expect(latest_prod_pact.consumer_version.number).to eq("1.2.3")
27
+ end
28
+ end
29
+
30
+ end
31
+ end
32
+
7
33
  describe "find_latest_pacts" do
8
34
  before do
9
35
  ProviderStateBuilder.new
10
36
  .create_condor
11
37
  .create_condor_version('1.3.0')
12
38
  .create_pricing_service
13
- .create_pact
39
+ .create_condor_pricing_service_pact
14
40
  .create_condor_version('1.4.0')
15
- .create_pact
41
+ .create_condor_pricing_service_pact
16
42
  .create_contract_email_service
17
43
  .create_contract_email_service_version('2.6.0')
18
44
  .create_contract_proposal_service
@@ -26,7 +26,8 @@ module PactBroker
26
26
 
27
27
  it "does something" do
28
28
  get "/"
29
- puts last_response.body
29
+ expect(last_response.body).to include("Relationships")
30
+ expect(last_response.status).to eq(200)
30
31
  end
31
32
 
32
33
  end
@@ -14,7 +14,7 @@ module PactBroker
14
14
 
15
15
  its(:consumer_name) { should eq 'consumer_name'}
16
16
  its(:provider_name) { should eq 'provider_name'}
17
- its(:latest_pact_url) { should eq "/pact/provider/provider_name/consumer/consumer_name/latest" }
17
+ its(:latest_pact_url) { should eq "/pacts/provider/provider_name/consumer/consumer_name/latest" }
18
18
 
19
19
  describe "<=>" do
20
20
 
@@ -21,7 +21,7 @@ Pact.service_provider "Pact Broker" do
21
21
  end
22
22
 
23
23
  # honours_pact_with "Pact Broker Client", :ref => :head do
24
- # pact_uri URI.encode("http://rea-pact-broker.biq.vpc.realestate.com.au/pact/provider/Pact Broker/consumer/Pact Broker Client/latest")
24
+ # pact_uri URI.encode("http://rea-pact-broker.biq.vpc.realestate.com.au/pacts/provider/Pact Broker/consumer/Pact Broker Client/latest")
25
25
  # end
26
26
 
27
27
  end
@@ -24,7 +24,7 @@ Pact.provider_states_for "Pact Broker Client" do
24
24
  .create_condor
25
25
  .create_condor_version('1.3.0')
26
26
  .create_pricing_service
27
- .create_pact
27
+ .create_condor_pricing_service_pact
28
28
  end
29
29
  end
30
30
 
@@ -38,7 +38,7 @@ Pact.provider_states_for "Pact Broker Client" do
38
38
  .create_condor
39
39
  .create_condor_version('1.3.0')
40
40
  .create_pricing_service
41
- .create_pact
41
+ .create_condor_pricing_service_pact
42
42
  end
43
43
  end
44
44
 
@@ -69,17 +69,22 @@ Pact.provider_states_for "Pact Broker Client" do
69
69
 
70
70
  provider_state "a pact between Condor and the Pricing Service exists for the production version of Condor" do
71
71
  set_up do
72
- # Your set up code goes here
72
+ ProviderStateBuilder.new
73
+ .create_consumer("Condor")
74
+ .create_consumer_version('1.3.0')
75
+ .create_consumer_version_tag('prod')
76
+ .create_provider("Pricing Service")
77
+ .create_pact
73
78
  end
74
79
  end
75
80
 
76
- provider_state "a version with production details exists for the Pricing Service" do
81
+ provider_state "a pacticipant version with production details exists for the Pricing Service" do
77
82
  set_up do
78
83
  # Your set up code goes here
79
84
  end
80
85
  end
81
86
 
82
- provider_state "no version exists for the Pricing Service" do
87
+ provider_state "no pacticipant version exists for the Pricing Service" do
83
88
  no_op
84
89
  end
85
90
  end
@@ -9,6 +9,9 @@ require './spec/support/provider_state_builder'
9
9
  require 'pact_broker/api'
10
10
  require 'rspec/fire'
11
11
 
12
+ YAML::ENGINE.yamler = 'psych'
13
+ I18n.config.enforce_available_locales = false
14
+
12
15
  def load_fixture(file_name)
13
16
  File.read(File.expand_path(File.join(File.dirname(__FILE__), 'fixtures', file_name)))
14
17
  end
@@ -50,7 +50,7 @@ class ProviderStateBuilder
50
50
  self
51
51
  end
52
52
 
53
- def create_pact
53
+ def create_condor_pricing_service_pact
54
54
  @pact_id = pact_repository.create(version_id: @condor_version_id, provider_id: @pricing_service_id, json_content: json_content).id
55
55
  self
56
56
  end
@@ -77,16 +77,43 @@ class ProviderStateBuilder
77
77
  self
78
78
  end
79
79
 
80
+ def create_consumer consumer_name
81
+ create_pacticipant consumer_name
82
+ @consumer = @pacticipant
83
+ self
84
+ end
85
+
86
+ def create_provider provider_name
87
+ create_pacticipant provider_name
88
+ @provider = @pacticipant
89
+ self
90
+ end
91
+
80
92
  def create_version version_number
81
93
  @version = PactBroker::Models::Version.create(:number => version_number, :pacticipant => @pacticipant)
82
94
  self
83
95
  end
84
96
 
97
+ def create_consumer_version version_number
98
+ @consumer_version = PactBroker::Models::Version.create(:number => version_number, :pacticipant => @consumer)
99
+ self
100
+ end
101
+
85
102
  def create_tag tag_name
86
103
  @tag = PactBroker::Models::Tag.create(name: tag_name, version: @version)
87
104
  self
88
105
  end
89
106
 
107
+ def create_consumer_version_tag tag_name
108
+ @tag = PactBroker::Models::Tag.create(name: tag_name, version: @consumer_version)
109
+ self
110
+ end
111
+
112
+ def create_pact
113
+ @pact = PactBroker::Models::Pact.create(consumer_version: @consumer_version, provider: @provider, json_content: json_content)
114
+ self
115
+ end
116
+
90
117
  private
91
118
 
92
119
  # def create_pacticipant name
@@ -97,7 +124,7 @@ class ProviderStateBuilder
97
124
  # version_repository.create(number: number, pacticipant: pacticipant)
98
125
  # end
99
126
 
100
- # def create_pact version, provider
127
+ # def create_condor_pricing_service_pact version, provider
101
128
  # pact_repository.create(consumer_version: version, provider: provider, json_content: json_content)
102
129
  # end
103
130
 
@@ -5,7 +5,7 @@ Pact::VerificationTask.new(:dev) do | pact |
5
5
  end
6
6
 
7
7
  namespace :pact do
8
- #task :prepare => [:overwrite_rack_env, 'db:recreate']
8
+ task :prepare => ['db:set_test_env', 'db:prepare:test']
9
9
  task :verify => :prepare
10
10
  task 'verify:at' => :prepare
11
11
  task 'verify:dev' => :prepare
metadata CHANGED
@@ -1,8 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pact_broker
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0.alpha1
5
- prerelease: 6
4
+ version: 1.0.0.alpha2
6
5
  platform: ruby
7
6
  authors:
8
7
  - Bethany Skurrie
@@ -11,140 +10,123 @@ authors:
11
10
  autorequire:
12
11
  bindir: bin
13
12
  cert_chain: []
14
- date: 2014-05-09 00:00:00.000000000 Z
13
+ date: 2014-05-19 00:00:00.000000000 Z
15
14
  dependencies:
16
15
  - !ruby/object:Gem::Dependency
17
16
  name: httparty
18
17
  requirement: !ruby/object:Gem::Requirement
19
- none: false
20
18
  requirements:
21
- - - ! '>='
19
+ - - '>='
22
20
  - !ruby/object:Gem::Version
23
21
  version: '0'
24
22
  type: :runtime
25
23
  prerelease: false
26
24
  version_requirements: !ruby/object:Gem::Requirement
27
- none: false
28
25
  requirements:
29
- - - ! '>='
26
+ - - '>='
30
27
  - !ruby/object:Gem::Version
31
28
  version: '0'
32
29
  - !ruby/object:Gem::Dependency
33
30
  name: json
34
31
  requirement: !ruby/object:Gem::Requirement
35
- none: false
36
32
  requirements:
37
- - - ! '>='
33
+ - - '>='
38
34
  - !ruby/object:Gem::Version
39
35
  version: '0'
40
36
  type: :runtime
41
37
  prerelease: false
42
38
  version_requirements: !ruby/object:Gem::Requirement
43
- none: false
44
39
  requirements:
45
- - - ! '>='
40
+ - - '>='
46
41
  - !ruby/object:Gem::Version
47
42
  version: '0'
48
43
  - !ruby/object:Gem::Dependency
49
44
  name: roar
50
45
  requirement: !ruby/object:Gem::Requirement
51
- none: false
52
46
  requirements:
53
- - - ! '>='
47
+ - - '>='
54
48
  - !ruby/object:Gem::Version
55
49
  version: '0'
56
50
  type: :runtime
57
51
  prerelease: false
58
52
  version_requirements: !ruby/object:Gem::Requirement
59
- none: false
60
53
  requirements:
61
- - - ! '>='
54
+ - - '>='
62
55
  - !ruby/object:Gem::Version
63
56
  version: '0'
64
57
  - !ruby/object:Gem::Dependency
65
58
  name: sequel
66
59
  requirement: !ruby/object:Gem::Requirement
67
- none: false
68
60
  requirements:
69
- - - ! '>='
61
+ - - '>='
70
62
  - !ruby/object:Gem::Version
71
63
  version: '0'
72
64
  type: :runtime
73
65
  prerelease: false
74
66
  version_requirements: !ruby/object:Gem::Requirement
75
- none: false
76
67
  requirements:
77
- - - ! '>='
68
+ - - '>='
78
69
  - !ruby/object:Gem::Version
79
70
  version: '0'
80
71
  - !ruby/object:Gem::Dependency
81
72
  name: sqlite3
82
73
  requirement: !ruby/object:Gem::Requirement
83
- none: false
84
74
  requirements:
85
- - - ! '>='
75
+ - - '>='
86
76
  - !ruby/object:Gem::Version
87
77
  version: '0'
88
78
  type: :runtime
89
79
  prerelease: false
90
80
  version_requirements: !ruby/object:Gem::Requirement
91
- none: false
92
81
  requirements:
93
- - - ! '>='
82
+ - - '>='
94
83
  - !ruby/object:Gem::Version
95
84
  version: '0'
96
85
  - !ruby/object:Gem::Dependency
97
86
  name: webmachine
98
87
  requirement: !ruby/object:Gem::Requirement
99
- none: false
100
88
  requirements:
101
- - - ! '>='
89
+ - - '>='
102
90
  - !ruby/object:Gem::Version
103
91
  version: '0'
104
92
  type: :runtime
105
93
  prerelease: false
106
94
  version_requirements: !ruby/object:Gem::Requirement
107
- none: false
108
95
  requirements:
109
- - - ! '>='
96
+ - - '>='
110
97
  - !ruby/object:Gem::Version
111
98
  version: '0'
112
99
  - !ruby/object:Gem::Dependency
113
100
  name: versionomy
114
101
  requirement: !ruby/object:Gem::Requirement
115
- none: false
116
102
  requirements:
117
- - - ! '>='
103
+ - - '>='
118
104
  - !ruby/object:Gem::Version
119
105
  version: '0'
120
106
  type: :runtime
121
107
  prerelease: false
122
108
  version_requirements: !ruby/object:Gem::Requirement
123
- none: false
124
109
  requirements:
125
- - - ! '>='
110
+ - - '>='
126
111
  - !ruby/object:Gem::Version
127
112
  version: '0'
128
113
  - !ruby/object:Gem::Dependency
129
114
  name: rack
130
115
  requirement: !ruby/object:Gem::Requirement
131
- none: false
132
116
  requirements:
133
- - - ! '>='
117
+ - - '>='
134
118
  - !ruby/object:Gem::Version
135
119
  version: '0'
136
120
  type: :runtime
137
121
  prerelease: false
138
122
  version_requirements: !ruby/object:Gem::Requirement
139
- none: false
140
123
  requirements:
141
- - - ! '>='
124
+ - - '>='
142
125
  - !ruby/object:Gem::Version
143
126
  version: '0'
144
127
  - !ruby/object:Gem::Dependency
145
128
  name: redcarpet
146
129
  requirement: !ruby/object:Gem::Requirement
147
- none: false
148
130
  requirements:
149
131
  - - ~>
150
132
  - !ruby/object:Gem::Version
@@ -152,7 +134,6 @@ dependencies:
152
134
  type: :runtime
153
135
  prerelease: false
154
136
  version_requirements: !ruby/object:Gem::Requirement
155
- none: false
156
137
  requirements:
157
138
  - - ~>
158
139
  - !ruby/object:Gem::Version
@@ -160,7 +141,6 @@ dependencies:
160
141
  - !ruby/object:Gem::Dependency
161
142
  name: pact
162
143
  requirement: !ruby/object:Gem::Requirement
163
- none: false
164
144
  requirements:
165
145
  - - ~>
166
146
  - !ruby/object:Gem::Version
@@ -168,7 +148,6 @@ dependencies:
168
148
  type: :runtime
169
149
  prerelease: false
170
150
  version_requirements: !ruby/object:Gem::Requirement
171
- none: false
172
151
  requirements:
173
152
  - - ~>
174
153
  - !ruby/object:Gem::Version
@@ -176,55 +155,48 @@ dependencies:
176
155
  - !ruby/object:Gem::Dependency
177
156
  name: padrino
178
157
  requirement: !ruby/object:Gem::Requirement
179
- none: false
180
158
  requirements:
181
159
  - - ~>
182
160
  - !ruby/object:Gem::Version
183
- version: 0.9.29
161
+ version: '0.12'
184
162
  type: :runtime
185
163
  prerelease: false
186
164
  version_requirements: !ruby/object:Gem::Requirement
187
- none: false
188
165
  requirements:
189
166
  - - ~>
190
167
  - !ruby/object:Gem::Version
191
- version: 0.9.29
168
+ version: '0.12'
192
169
  - !ruby/object:Gem::Dependency
193
170
  name: haml
194
171
  requirement: !ruby/object:Gem::Requirement
195
- none: false
196
172
  requirements:
197
- - - ! '>='
173
+ - - '>='
198
174
  - !ruby/object:Gem::Version
199
175
  version: '0'
200
176
  type: :runtime
201
177
  prerelease: false
202
178
  version_requirements: !ruby/object:Gem::Requirement
203
- none: false
204
179
  requirements:
205
- - - ! '>='
180
+ - - '>='
206
181
  - !ruby/object:Gem::Version
207
182
  version: '0'
208
183
  - !ruby/object:Gem::Dependency
209
184
  name: pry
210
185
  requirement: !ruby/object:Gem::Requirement
211
- none: false
212
186
  requirements:
213
- - - ! '>='
187
+ - - '>='
214
188
  - !ruby/object:Gem::Version
215
189
  version: '0'
216
190
  type: :development
217
191
  prerelease: false
218
192
  version_requirements: !ruby/object:Gem::Requirement
219
- none: false
220
193
  requirements:
221
- - - ! '>='
194
+ - - '>='
222
195
  - !ruby/object:Gem::Version
223
196
  version: '0'
224
197
  - !ruby/object:Gem::Dependency
225
198
  name: rake
226
199
  requirement: !ruby/object:Gem::Requirement
227
- none: false
228
200
  requirements:
229
201
  - - ~>
230
202
  - !ruby/object:Gem::Version
@@ -232,7 +204,6 @@ dependencies:
232
204
  type: :development
233
205
  prerelease: false
234
206
  version_requirements: !ruby/object:Gem::Requirement
235
- none: false
236
207
  requirements:
237
208
  - - ~>
238
209
  - !ruby/object:Gem::Version
@@ -240,7 +211,6 @@ dependencies:
240
211
  - !ruby/object:Gem::Dependency
241
212
  name: fakefs
242
213
  requirement: !ruby/object:Gem::Requirement
243
- none: false
244
214
  requirements:
245
215
  - - ~>
246
216
  - !ruby/object:Gem::Version
@@ -248,7 +218,6 @@ dependencies:
248
218
  type: :development
249
219
  prerelease: false
250
220
  version_requirements: !ruby/object:Gem::Requirement
251
- none: false
252
221
  requirements:
253
222
  - - ~>
254
223
  - !ruby/object:Gem::Version
@@ -256,7 +225,6 @@ dependencies:
256
225
  - !ruby/object:Gem::Dependency
257
226
  name: rspec-fire
258
227
  requirement: !ruby/object:Gem::Requirement
259
- none: false
260
228
  requirements:
261
229
  - - ~>
262
230
  - !ruby/object:Gem::Version
@@ -264,7 +232,6 @@ dependencies:
264
232
  type: :development
265
233
  prerelease: false
266
234
  version_requirements: !ruby/object:Gem::Requirement
267
- none: false
268
235
  requirements:
269
236
  - - ~>
270
237
  - !ruby/object:Gem::Version
@@ -272,7 +239,6 @@ dependencies:
272
239
  - !ruby/object:Gem::Dependency
273
240
  name: mysql2
274
241
  requirement: !ruby/object:Gem::Requirement
275
- none: false
276
242
  requirements:
277
243
  - - ~>
278
244
  - !ruby/object:Gem::Version
@@ -280,11 +246,24 @@ dependencies:
280
246
  type: :development
281
247
  prerelease: false
282
248
  version_requirements: !ruby/object:Gem::Requirement
283
- none: false
284
249
  requirements:
285
250
  - - ~>
286
251
  - !ruby/object:Gem::Version
287
252
  version: 0.3.15
253
+ - !ruby/object:Gem::Dependency
254
+ name: pact
255
+ requirement: !ruby/object:Gem::Requirement
256
+ requirements:
257
+ - - ~>
258
+ - !ruby/object:Gem::Version
259
+ version: '1.1'
260
+ type: :development
261
+ prerelease: false
262
+ version_requirements: !ruby/object:Gem::Requirement
263
+ requirements:
264
+ - - ~>
265
+ - !ruby/object:Gem::Version
266
+ version: '1.1'
288
267
  description: A server that stores and returns pact files generated by the pact gem.
289
268
  It enables head/prod cross testing of the consumer and provider projects.
290
269
  email:
@@ -316,6 +295,7 @@ files:
316
295
  - db/migrations/03_create_pacts_table.rb
317
296
  - db/migrations/04_create_tags_table.rb
318
297
  - db/migrations/05_add_order_column_to_version.rb
298
+ - db/migrations/06_make_version_foreign_key_mandatory.rb
319
299
  - db/pact_broker_database.sqlite3
320
300
  - example/Gemfile
321
301
  - example/config.ru
@@ -383,12 +363,16 @@ files:
383
363
  - lib/rack/hal_browser/redirect.rb
384
364
  - pact_broker.gemspec
385
365
  - pact_broker_client-pact_broker.json
366
+ - public/Network Graph REA.html
367
+ - public/Network Graph_files/d3.v3.js
368
+ - public/Network Graph_files/ga.js
386
369
  - public/bootstrap.zip
387
370
  - public/config.json
388
371
  - public/css/bootstrap-theme.css
389
372
  - public/css/bootstrap-theme.min.css
390
373
  - public/css/bootstrap.css
391
374
  - public/css/bootstrap.min.css
375
+ - public/d3.v3.js.pagespeed.ce.dFNRrGTALe.js
392
376
  - public/fonts/glyphicons-halflings-regular.eot
393
377
  - public/fonts/glyphicons-halflings-regular.svg
394
378
  - public/fonts/glyphicons-halflings-regular.ttf
@@ -398,6 +382,7 @@ files:
398
382
  - public/javascripts/jquery.tablesorter.min.js
399
383
  - public/js/bootstrap.js
400
384
  - public/js/bootstrap.min.js
385
+ - public/rea.csv
401
386
  - public/stylesheets/github.css
402
387
  - public/stylesheets/relationships.css
403
388
  - script/update-hal-browser
@@ -466,30 +451,26 @@ files:
466
451
  homepage: https://github.com/DiUS/pact_broker
467
452
  licenses:
468
453
  - MIT
454
+ metadata: {}
469
455
  post_install_message:
470
456
  rdoc_options: []
471
457
  require_paths:
472
458
  - lib
473
459
  required_ruby_version: !ruby/object:Gem::Requirement
474
- none: false
475
460
  requirements:
476
- - - ! '>='
461
+ - - '>='
477
462
  - !ruby/object:Gem::Version
478
463
  version: '0'
479
- segments:
480
- - 0
481
- hash: -3233276074341714439
482
464
  required_rubygems_version: !ruby/object:Gem::Requirement
483
- none: false
484
465
  requirements:
485
- - - ! '>'
466
+ - - '>'
486
467
  - !ruby/object:Gem::Version
487
468
  version: 1.3.1
488
469
  requirements: []
489
470
  rubyforge_project:
490
- rubygems_version: 1.8.23
471
+ rubygems_version: 2.0.14
491
472
  signing_key:
492
- specification_version: 3
473
+ specification_version: 4
493
474
  summary: See description
494
475
  test_files:
495
476
  - spec/fixtures/renderer_pact.json