soaspec 0.0.59 → 0.0.60
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 +4 -0
- data/lib/soaspec/exchange.rb +38 -5
- data/lib/soaspec/version.rb +1 -1
- data/soaspec.gemspec +1 -0
- metadata +15 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fe90eccaa27081467b713989671f3553fbd14d53
|
4
|
+
data.tar.gz: 606284e2168e643b95a987c26ed3a41dbd9262e9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6763d18c950cb1e532490c8ba10206c8e2ae4f0fdadab865492d25f2a25410fa0dbfb8127599fd3dfe14ddf7ae5acb2fe4a96376c6fd776b627f5bfd36f894b8
|
7
|
+
data.tar.gz: 19fae2c4feb323ab3bbccae2f1f86df9d32c89ea07ceab1c6a857767ef52dbda129374af8b61116a83e564f202da0d32206e2ca99269f0000682160adf91438f
|
data/ChangeLog
CHANGED
data/lib/soaspec/exchange.rb
CHANGED
@@ -9,6 +9,8 @@ class Exchange
|
|
9
9
|
attr_accessor :retry_count
|
10
10
|
# Params used when making a request
|
11
11
|
attr_accessor :default_params
|
12
|
+
# Name used for displaying class
|
13
|
+
attr_accessor :test_name
|
12
14
|
|
13
15
|
# Set retry for success variable to true so that request will be retried
|
14
16
|
# for retry_count until it's true
|
@@ -24,9 +26,9 @@ class Exchange
|
|
24
26
|
|
25
27
|
# @param [Symbol, String] name Name shown in RSpec run
|
26
28
|
# @param [Hash] override_parameters Parameters to override for default params
|
27
|
-
def initialize(name, override_parameters = {})
|
28
|
-
|
29
|
-
@api_class
|
29
|
+
def initialize(name = self.class.to_s, override_parameters = {})
|
30
|
+
self.test_name ||= name.to_s
|
31
|
+
@api_class ||= Soaspec.api_handler # This uses the global parameter. The handler should be set straight before an exchange is made
|
30
32
|
@override_parameters = override_parameters
|
31
33
|
@retry_for_success = false
|
32
34
|
self.retry_count = 3
|
@@ -51,7 +53,7 @@ class Exchange
|
|
51
53
|
# Will retry until success code reached if retry_for_success? is set
|
52
54
|
# @return [Response] Response from Api handler
|
53
55
|
def make_request
|
54
|
-
Soaspec::SpecLogger.add_to 'Example ' +
|
56
|
+
Soaspec::SpecLogger.add_to 'Example ' + test_name
|
55
57
|
request_params = default_params ? merge_request_body : @override_parameters
|
56
58
|
retry_count.times do
|
57
59
|
response = @api_class.make_request(request_params)
|
@@ -81,7 +83,7 @@ class Exchange
|
|
81
83
|
# This will make the request and store the response
|
82
84
|
# @return [String] Name given when initializing
|
83
85
|
def to_s
|
84
|
-
|
86
|
+
test_name
|
85
87
|
end
|
86
88
|
|
87
89
|
# Returns response object from Api. Will make the request if not made and then cache it for later on
|
@@ -126,4 +128,35 @@ class Exchange
|
|
126
128
|
default_params[:body][key] = value
|
127
129
|
end
|
128
130
|
|
131
|
+
# Implement undefined setter with []= for FactoryBot to use without needing to define params to set
|
132
|
+
# @param [Object] method_name
|
133
|
+
# @param [Object] args
|
134
|
+
# @param [Object] block
|
135
|
+
def method_missing(method_name, *args, &block)
|
136
|
+
if method_name[-1] == '='
|
137
|
+
if args.first.class < Exchange # This would be prerequisite exchange
|
138
|
+
define_singleton_method(method_name[0..-2]) do
|
139
|
+
args.first
|
140
|
+
end
|
141
|
+
else
|
142
|
+
self[method_name[0..-2]] = args.first
|
143
|
+
end
|
144
|
+
else
|
145
|
+
super
|
146
|
+
end
|
147
|
+
end
|
148
|
+
|
149
|
+
# Used for setters that are not defined
|
150
|
+
def respond_to_missing?(method_name, *args)
|
151
|
+
method_name[-1] == '=' || super
|
152
|
+
end
|
153
|
+
|
154
|
+
# Makes request, caching the response and returning self
|
155
|
+
# Used by FactoryBot
|
156
|
+
# @return [Self]
|
157
|
+
def save!
|
158
|
+
call
|
159
|
+
self
|
160
|
+
end
|
161
|
+
|
129
162
|
end
|
data/lib/soaspec/version.rb
CHANGED
data/soaspec.gemspec
CHANGED
@@ -25,6 +25,7 @@ the same configuration "
|
|
25
25
|
spec.add_development_dependency 'bundler', '~> 1.16'
|
26
26
|
spec.add_development_dependency 'cucumber'
|
27
27
|
spec.add_development_dependency 'data_magic'
|
28
|
+
spec.add_development_dependency 'factory_bot'
|
28
29
|
spec.add_development_dependency 'rake', '~> 12.0'
|
29
30
|
spec.add_development_dependency 'require_all'
|
30
31
|
spec.add_development_dependency 'rspec', '~> 3.0'
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: soaspec
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.60
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- SamuelGarrattIQA
|
@@ -52,6 +52,20 @@ dependencies:
|
|
52
52
|
- - ">="
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: factory_bot
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
55
69
|
- !ruby/object:Gem::Dependency
|
56
70
|
name: rake
|
57
71
|
requirement: !ruby/object:Gem::Requirement
|