pact-support 0.0.3 → 0.0.4
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +11 -7
- data/Gemfile.lock +1 -1
- data/lib/pact/configuration.rb +11 -0
- data/lib/pact/consumer_contract/request.rb +3 -3
- data/lib/pact/shared/form_differ.rb +21 -0
- data/lib/pact/support/version.rb +1 -1
- data/spec/lib/pact/configuration_spec.rb +24 -0
- data/spec/lib/pact/shared/form_differ_spec.rb +32 -0
- metadata +7 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9c27327d015a0d365e6fb40d46bfaf51988a54bf
|
4
|
+
data.tar.gz: 8f8c448fd177b5aca19761c205cc3c94d8ceecdb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 216d7e4778f28365ef8c22a3916a9bfc9d54bcc885e9f0c997938afbaf9a63b5d853f8d1a458caef2973c8874558551fa8fe923edb6ac789fe2bac0202a89e6a
|
7
|
+
data.tar.gz: a5cab6e546286061eabbd519163ed7ced91683ac4d2c9e5192e60cc15c8e3583349a595b32237bcbde4a8076e3fdded6b969e33adbe630261343aca29c85492e
|
data/CHANGELOG.md
CHANGED
@@ -2,16 +2,20 @@ Do this to generate your change history
|
|
2
2
|
|
3
3
|
git log --pretty=format:' * %h - %s (%an, %ad)'
|
4
4
|
|
5
|
+
### 0.0.4 (20 October 2014)
|
6
|
+
|
7
|
+
* ebe5e32 - Added differ for application/x-www-form-urlencoded bodies. (bethesque, Mon Oct 20 20:26:13 2014 +1100)
|
8
|
+
|
5
9
|
### 0.0.3 (17 October 2014)
|
6
10
|
|
7
11
|
* bab0b34 - Added possibility to provide queries as Hash. Then order of parameters in the query is not longer relevant. (André Allavena, Tue Oct 14 00:24:38 2014 +1000)
|
8
12
|
|
9
13
|
### 0.0.2 (12 October 2014)
|
10
14
|
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
15
|
+
* e7080fe - Added a QueryString class in preparation for a QueryHash class (Beth, Sun Oct 12 14:32:15 2014 +1100)
|
16
|
+
* 8839151 - Added Travis config (Beth, Sun Oct 12 12:31:44 2014 +1100)
|
17
|
+
* 81ade54 - Removed CLI (Beth, Sun Oct 12 12:29:22 2014 +1100)
|
18
|
+
* 3bdde98 - Removing unused files (Beth, Sun Oct 12 12:11:48 2014 +1100)
|
19
|
+
* ef95717 - Made it build (Beth, Sat Oct 11 13:24:35 2014 +1100)
|
20
|
+
* 1e78b62 - Removed pact-test.rake (Beth, Sat Oct 11 13:20:49 2014 +1100)
|
21
|
+
* 3389b5e - Initial commit (Beth, Sat Oct 11 13:13:23 2014 +1100)
|
data/Gemfile.lock
CHANGED
data/lib/pact/configuration.rb
CHANGED
@@ -3,6 +3,7 @@ require 'pact/matchers/unix_diff_formatter'
|
|
3
3
|
require 'pact/matchers/list_diff_formatter'
|
4
4
|
require 'pact/shared/json_differ'
|
5
5
|
require 'pact/shared/text_differ'
|
6
|
+
require 'pact/shared/form_differ'
|
6
7
|
|
7
8
|
|
8
9
|
module Pact
|
@@ -29,6 +30,7 @@ module Pact
|
|
29
30
|
|
30
31
|
DIFFERS = [
|
31
32
|
[/json/, Pact::JsonDiffer],
|
33
|
+
[/application\/x\-www\-form\-urlencoded/, Pact::FormDiffer],
|
32
34
|
[NilMatcher, Pact::TextDiffer],
|
33
35
|
[/.*/, Pact::TextDiffer]
|
34
36
|
]
|
@@ -95,6 +97,15 @@ module Pact
|
|
95
97
|
log_dir + "/pact.log"
|
96
98
|
end
|
97
99
|
|
100
|
+
def color_enabled
|
101
|
+
# Can't use ||= when the variable might be false, it will execute the expression if it's false
|
102
|
+
defined?(@color_enabled) ? @color_enabled : true
|
103
|
+
end
|
104
|
+
|
105
|
+
def color_enabled= color_enabled
|
106
|
+
@color_enabled = color_enabled
|
107
|
+
end
|
108
|
+
|
98
109
|
private
|
99
110
|
|
100
111
|
def diff_formatter_for input
|
@@ -67,10 +67,10 @@ module Pact
|
|
67
67
|
|
68
68
|
def body_diff(actual_body)
|
69
69
|
if specified?(:body)
|
70
|
-
body_differ.call(
|
71
|
-
|
72
|
-
{}
|
70
|
+
body_difference = body_differ.call(body, actual_body, allow_unexpected_keys: runtime_options[:allow_unexpected_keys_in_body])
|
71
|
+
return { body: body_difference } if body_difference.any?
|
73
72
|
end
|
73
|
+
{}
|
74
74
|
end
|
75
75
|
|
76
76
|
def body_differ
|
@@ -0,0 +1,21 @@
|
|
1
|
+
require 'pact/matchers/matchers'
|
2
|
+
require 'uri'
|
3
|
+
|
4
|
+
module Pact
|
5
|
+
class FormDiffer
|
6
|
+
|
7
|
+
extend Matchers
|
8
|
+
|
9
|
+
def self.call expected, actual, options = {}
|
10
|
+
diff to_hash(expected), to_hash(actual), options
|
11
|
+
end
|
12
|
+
|
13
|
+
def self.to_hash form_body
|
14
|
+
URI.decode_www_form(form_body).each_with_object({}) do | pair, hash |
|
15
|
+
hash[pair.first] ||= []
|
16
|
+
hash[pair.first] << pair.last
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
end
|
21
|
+
end
|
data/lib/pact/support/version.rb
CHANGED
@@ -0,0 +1,24 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'pact/configuration'
|
3
|
+
|
4
|
+
module Pact
|
5
|
+
|
6
|
+
describe Configuration do
|
7
|
+
|
8
|
+
subject { Configuration.default_configuration }
|
9
|
+
|
10
|
+
describe "#color_enabled" do
|
11
|
+
|
12
|
+
it "sets color_enabled to be true by default" do
|
13
|
+
expect(subject.color_enabled).to be true
|
14
|
+
end
|
15
|
+
|
16
|
+
it "allows configuration of colour_enabled" do
|
17
|
+
subject.color_enabled = false
|
18
|
+
expect(subject.color_enabled).to be false
|
19
|
+
end
|
20
|
+
|
21
|
+
end
|
22
|
+
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'pact/shared/form_differ'
|
3
|
+
require 'pact/matchers/difference'
|
4
|
+
require 'pact/matchers/unix_diff_formatter'
|
5
|
+
|
6
|
+
module Pact
|
7
|
+
describe FormDiffer do
|
8
|
+
|
9
|
+
describe ".call" do
|
10
|
+
|
11
|
+
let(:expected) { "param1=foo¶m2=bar¶m2=foobar" }
|
12
|
+
let(:actual) { "param1=wiffle¶m2=foobar¶m2=bar" }
|
13
|
+
|
14
|
+
let(:difference) do
|
15
|
+
{
|
16
|
+
"param1" => [Pact::Matchers::Difference.new("foo", "wiffle")],
|
17
|
+
"param2" => [Pact::Matchers::Difference.new("bar", "foobar"), Pact::Matchers::Difference.new("foobar", "bar")]
|
18
|
+
}
|
19
|
+
end
|
20
|
+
|
21
|
+
subject { FormDiffer.call(expected, actual) }
|
22
|
+
|
23
|
+
context "when there is a diff" do
|
24
|
+
it "returns the diff" do
|
25
|
+
expect(subject).to eq difference
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
end
|
30
|
+
|
31
|
+
end
|
32
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pact-support
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- James Fraser
|
@@ -12,7 +12,7 @@ authors:
|
|
12
12
|
autorequire:
|
13
13
|
bindir: bin
|
14
14
|
cert_chain: []
|
15
|
-
date: 2014-10-
|
15
|
+
date: 2014-10-20 00:00:00.000000000 Z
|
16
16
|
dependencies:
|
17
17
|
- !ruby/object:Gem::Dependency
|
18
18
|
name: randexp
|
@@ -267,6 +267,7 @@ files:
|
|
267
267
|
- lib/pact/rspec.rb
|
268
268
|
- lib/pact/shared/active_support_support.rb
|
269
269
|
- lib/pact/shared/dsl.rb
|
270
|
+
- lib/pact/shared/form_differ.rb
|
270
271
|
- lib/pact/shared/jruby_support.rb
|
271
272
|
- lib/pact/shared/json_differ.rb
|
272
273
|
- lib/pact/shared/key_not_found.rb
|
@@ -280,6 +281,7 @@ files:
|
|
280
281
|
- lib/pact/term.rb
|
281
282
|
- lib/tasks/pact.rake
|
282
283
|
- pact-support.gemspec
|
284
|
+
- spec/lib/pact/configuration_spec.rb
|
283
285
|
- spec/lib/pact/consumer/request_spec.rb
|
284
286
|
- spec/lib/pact/consumer_contract/active_support_support_spec.rb
|
285
287
|
- spec/lib/pact/consumer_contract/consumer_contract_spec.rb
|
@@ -301,6 +303,7 @@ files:
|
|
301
303
|
- spec/lib/pact/matchers/unix_diff_formatter_spec.rb
|
302
304
|
- spec/lib/pact/reification_spec.rb
|
303
305
|
- spec/lib/pact/shared/dsl_spec.rb
|
306
|
+
- spec/lib/pact/shared/form_differ_spec.rb
|
304
307
|
- spec/lib/pact/shared/json_differ_spec.rb
|
305
308
|
- spec/lib/pact/shared/key_not_found_spec.rb
|
306
309
|
- spec/lib/pact/shared/request_spec.rb
|
@@ -355,6 +358,7 @@ signing_key:
|
|
355
358
|
specification_version: 4
|
356
359
|
summary: Shared code for Pact gems
|
357
360
|
test_files:
|
361
|
+
- spec/lib/pact/configuration_spec.rb
|
358
362
|
- spec/lib/pact/consumer/request_spec.rb
|
359
363
|
- spec/lib/pact/consumer_contract/active_support_support_spec.rb
|
360
364
|
- spec/lib/pact/consumer_contract/consumer_contract_spec.rb
|
@@ -376,6 +380,7 @@ test_files:
|
|
376
380
|
- spec/lib/pact/matchers/unix_diff_formatter_spec.rb
|
377
381
|
- spec/lib/pact/reification_spec.rb
|
378
382
|
- spec/lib/pact/shared/dsl_spec.rb
|
383
|
+
- spec/lib/pact/shared/form_differ_spec.rb
|
379
384
|
- spec/lib/pact/shared/json_differ_spec.rb
|
380
385
|
- spec/lib/pact/shared/key_not_found_spec.rb
|
381
386
|
- spec/lib/pact/shared/request_spec.rb
|