pact-support 1.15.5 → 1.16.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +35 -0
- data/lib/pact/consumer_contract/query.rb +18 -2
- data/lib/pact/consumer_contract/query_hash.rb +1 -1
- data/lib/pact/rspec.rb +2 -4
- data/lib/pact/shared/request.rb +1 -4
- data/lib/pact/support/version.rb +1 -1
- metadata +22 -16
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c13a4b7ad88f078970d7e0991fc8e7406a20267b038d67b3c583003b3b18814e
|
4
|
+
data.tar.gz: f72c487f5e7f11a5d6db48812028130487d0a0d4a9ac1f8c2726bf5d8d487d4c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 985481757b4ec8880946efceb5929aceb818defcd80233ef908ed0cb8f55ed4e8ceb6c9f6e89cee4856dd581fd42dca4b6dc1d244dc9dece6a51fffe456c6915
|
7
|
+
data.tar.gz: 8c5bfdc029b6461fb80a64089ef1d003f3dc0f93d2677020c37f9bd733423e1e976058f14199b2d8dcc36e5a648450d786d91a6fb215dbef0aab1e453c56d52a
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,38 @@
|
|
1
|
+
<a name="v1.16.4"></a>
|
2
|
+
### v1.16.4 (2020-11-13)
|
3
|
+
|
4
|
+
#### Bug Fixes
|
5
|
+
|
6
|
+
* ensure expected and actual query strings are parsed consistently ([4e9ca9c](/../../commit/4e9ca9c))
|
7
|
+
|
8
|
+
<a name="v1.16.3"></a>
|
9
|
+
### v1.16.3 (2020-11-10)
|
10
|
+
|
11
|
+
#### Bug Fixes
|
12
|
+
|
13
|
+
* add missing params_hash_has_key ([700efa7](/../../commit/700efa7))
|
14
|
+
|
15
|
+
<a name="v1.16.2"></a>
|
16
|
+
### v1.16.2 (2020-11-07)
|
17
|
+
|
18
|
+
#### Bug Fixes
|
19
|
+
|
20
|
+
* removed undefined depth from query ([53a373d](/../../commit/53a373d))
|
21
|
+
|
22
|
+
<a name="v1.16.1"></a>
|
23
|
+
### v1.16.1 (2020-11-06)
|
24
|
+
|
25
|
+
#### Bug Fixes
|
26
|
+
|
27
|
+
* add missing params_hash_type? from Rack ([3195b0a](/../../commit/3195b0a))
|
28
|
+
|
29
|
+
<a name="v1.16.0"></a>
|
30
|
+
### v1.16.0 (2020-11-04)
|
31
|
+
|
32
|
+
#### Features
|
33
|
+
|
34
|
+
* remove runtime dependency on rspec ([aca30e2](/../../commit/aca30e2))
|
35
|
+
|
1
36
|
<a name="v1.15.5"></a>
|
2
37
|
### v1.15.5 (2020-11-04)
|
3
38
|
|
@@ -18,7 +18,7 @@ module Pact
|
|
18
18
|
parsed_query = parse_query(query_string)
|
19
19
|
|
20
20
|
# If Rails nested params...
|
21
|
-
if parsed_query.keys.any?{ | key| key
|
21
|
+
if parsed_query.keys.any?{ | key| key =~ /\[.*\]/ }
|
22
22
|
parse_nested_query(query_string)
|
23
23
|
else
|
24
24
|
parsed_query.each_with_object({}) do | (key, value), new_hash |
|
@@ -99,12 +99,28 @@ module Pact
|
|
99
99
|
else
|
100
100
|
params[k] ||= {}
|
101
101
|
raise ParameterTypeError, "expected Hash (got #{params[k].class.name}) for param `#{k}'" unless params_hash_type?(params[k])
|
102
|
-
params[k] = normalize_params(params[k], after, v
|
102
|
+
params[k] = normalize_params(params[k], after, v)
|
103
103
|
end
|
104
104
|
|
105
105
|
params
|
106
106
|
end
|
107
107
|
|
108
|
+
def self.params_hash_type?(obj)
|
109
|
+
obj.is_a?(Hash)
|
110
|
+
end
|
111
|
+
|
112
|
+
def self.params_hash_has_key?(hash, key)
|
113
|
+
return false if key =~ /\[\]/
|
114
|
+
|
115
|
+
key.split(/[\[\]]+/).inject(hash) do |h, part|
|
116
|
+
next h if part == ''
|
117
|
+
return false unless params_hash_type?(h) && h.key?(part)
|
118
|
+
h[part]
|
119
|
+
end
|
120
|
+
|
121
|
+
true
|
122
|
+
end
|
123
|
+
|
108
124
|
def self.unescape(s, encoding = Encoding::UTF_8)
|
109
125
|
URI.decode_www_form_component(s, encoding)
|
110
126
|
end
|
@@ -32,7 +32,7 @@ module Pact
|
|
32
32
|
# from the actual query string.
|
33
33
|
def difference(other)
|
34
34
|
require 'pact/matchers' # avoid recursive loop between this file, pact/reification and pact/matchers
|
35
|
-
Pact::Matchers.diff(query, symbolize_keys(
|
35
|
+
Pact::Matchers.diff(query, symbolize_keys(convert_to_hash_of_arrays(Query.parse_string(other.query))), allow_unexpected_keys: false)
|
36
36
|
end
|
37
37
|
|
38
38
|
def query
|
data/lib/pact/rspec.rb
CHANGED
@@ -1,4 +1,3 @@
|
|
1
|
-
require 'rspec'
|
2
1
|
# This is horrible, must work out a better way of doing this
|
3
2
|
module Pact
|
4
3
|
module RSpec
|
@@ -19,7 +18,6 @@ module Pact
|
|
19
18
|
require 'pact/provider/rspec/formatter_rspec_2'
|
20
19
|
Pact::Provider::RSpec::Formatter2
|
21
20
|
end
|
22
|
-
|
23
21
|
end
|
24
22
|
|
25
23
|
def self.full_description example
|
@@ -31,11 +29,11 @@ module Pact
|
|
31
29
|
end
|
32
30
|
|
33
31
|
def self.is_rspec_3
|
34
|
-
::RSpec::Core::Formatters.respond_to?(:register)
|
32
|
+
defined?(::RSpec) && ::RSpec::Core::Formatters.respond_to?(:register)
|
35
33
|
end
|
36
34
|
|
37
35
|
def self.is_rspec_2
|
38
|
-
!is_rspec_3
|
36
|
+
defined?(::RSpec) && !is_rspec_3
|
39
37
|
end
|
40
38
|
|
41
39
|
def self.with_rspec_3
|
data/lib/pact/shared/request.rb
CHANGED
@@ -3,9 +3,7 @@ require 'pact/consumer_contract/headers'
|
|
3
3
|
require 'pact/consumer_contract/query'
|
4
4
|
|
5
5
|
module Pact
|
6
|
-
|
7
6
|
module Request
|
8
|
-
|
9
7
|
class Base
|
10
8
|
include Pact::SymbolizeKeys
|
11
9
|
|
@@ -91,7 +89,6 @@ module Pact
|
|
91
89
|
def display_query
|
92
90
|
(query.nil? || query.empty?) ? '' : "?#{Pact::Reification.from_term(query)}"
|
93
91
|
end
|
94
|
-
|
95
92
|
end
|
96
93
|
end
|
97
|
-
end
|
94
|
+
end
|
data/lib/pact/support/version.rb
CHANGED
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: 1.
|
4
|
+
version: 1.16.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: 2020-11-
|
15
|
+
date: 2020-11-12 00:00:00.000000000 Z
|
16
16
|
dependencies:
|
17
17
|
- !ruby/object:Gem::Dependency
|
18
18
|
name: randexp
|
@@ -28,20 +28,6 @@ dependencies:
|
|
28
28
|
- - "~>"
|
29
29
|
- !ruby/object:Gem::Version
|
30
30
|
version: 0.1.7
|
31
|
-
- !ruby/object:Gem::Dependency
|
32
|
-
name: rspec
|
33
|
-
requirement: !ruby/object:Gem::Requirement
|
34
|
-
requirements:
|
35
|
-
- - ">="
|
36
|
-
- !ruby/object:Gem::Version
|
37
|
-
version: '2.14'
|
38
|
-
type: :runtime
|
39
|
-
prerelease: false
|
40
|
-
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
requirements:
|
42
|
-
- - ">="
|
43
|
-
- !ruby/object:Gem::Version
|
44
|
-
version: '2.14'
|
45
31
|
- !ruby/object:Gem::Dependency
|
46
32
|
name: term-ansicolor
|
47
33
|
requirement: !ruby/object:Gem::Requirement
|
@@ -84,6 +70,26 @@ dependencies:
|
|
84
70
|
- - "~>"
|
85
71
|
- !ruby/object:Gem::Version
|
86
72
|
version: '1.4'
|
73
|
+
- !ruby/object:Gem::Dependency
|
74
|
+
name: rspec
|
75
|
+
requirement: !ruby/object:Gem::Requirement
|
76
|
+
requirements:
|
77
|
+
- - ">="
|
78
|
+
- !ruby/object:Gem::Version
|
79
|
+
version: '2.14'
|
80
|
+
- - "<"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '4.0'
|
83
|
+
type: :development
|
84
|
+
prerelease: false
|
85
|
+
version_requirements: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '2.14'
|
90
|
+
- - "<"
|
91
|
+
- !ruby/object:Gem::Version
|
92
|
+
version: '4.0'
|
87
93
|
- !ruby/object:Gem::Dependency
|
88
94
|
name: rake
|
89
95
|
requirement: !ruby/object:Gem::Requirement
|