apirunner 0.3.8 → 0.3.9
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.
- data/VERSION +1 -1
- data/apirunner.gemspec +2 -2
- data/lib/api_configuration.rb +2 -2
- data/lib/api_runner.rb +1 -1
- data/lib/testcase.rb +11 -1
- metadata +4 -4
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.3.
|
1
|
+
0.3.9
|
data/apirunner.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{apirunner}
|
8
|
-
s.version = "0.3.
|
8
|
+
s.version = "0.3.9"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["jan@moviepilot.com"]
|
12
|
-
s.date = %q{2010-10-
|
12
|
+
s.date = %q{2010-10-13}
|
13
13
|
s.description = %q{apirunner is a testsuite to query your RESTful JSON API and match response with your defined expectations}
|
14
14
|
s.email = %q{developers@moviepilot.com}
|
15
15
|
s.extra_rdoc_files = [
|
data/lib/api_configuration.rb
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
class ApiConfiguration
|
2
2
|
|
3
|
-
attr_accessor :protocol, :host, :namespace, :port, :verbosity, :priority
|
3
|
+
attr_accessor :protocol, :host, :namespace, :port, :verbosity, :priority, :substitution
|
4
4
|
|
5
5
|
# initializes a configuration object from given YAML file for given environment
|
6
6
|
def initialize(raw_config, env)
|
7
7
|
raw_config[env.to_s].each { |key, value| self.instance_variable_set("@#{key}", value) }
|
8
8
|
self.verbosity = raw_config['general']['verbosity'].first
|
9
9
|
self.priority = raw_config['general']['priority'] || 0
|
10
|
+
self.substitution = raw_config['general']['substitution']
|
10
11
|
self
|
11
12
|
end
|
12
|
-
|
13
13
|
end
|
14
14
|
|
data/lib/api_runner.rb
CHANGED
data/lib/testcase.rb
CHANGED
@@ -2,12 +2,22 @@ class Testcase
|
|
2
2
|
|
3
3
|
attr_reader :raw, :name, :request, :response_expectation, :wait_before_request
|
4
4
|
|
5
|
-
def initialize(raw)
|
5
|
+
def initialize(raw, substitution)
|
6
6
|
@raw = raw
|
7
7
|
@name = raw['name']
|
8
8
|
@request = @raw['request']
|
9
9
|
@response_expectation = @raw['response_expectation']
|
10
10
|
@wait_before_request = @raw['wait_before_request'].nil? ? 0 : @raw['wait_before_request']
|
11
|
+
create_resource_substitutes(substitution)
|
12
|
+
end
|
13
|
+
|
14
|
+
private
|
15
|
+
# substitutes rersource names cause of race conditions in multiple system scenarios
|
16
|
+
def create_resource_substitutes(substitution)
|
17
|
+
substitution['substitutes'].each do |substitute|
|
18
|
+
@request = JSON.parse(@request.to_json.gsub(substitute, substitution['prefix'] + substitute))
|
19
|
+
@response_expectation = JSON.parse(@response_expectation.to_json.gsub(substitute, substitution['prefix'] + substitute))
|
20
|
+
end unless substitution.nil?
|
11
21
|
end
|
12
22
|
|
13
23
|
end
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 3
|
8
|
-
-
|
9
|
-
version: 0.3.
|
8
|
+
- 9
|
9
|
+
version: 0.3.9
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- jan@moviepilot.com
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2010-10-
|
17
|
+
date: 2010-10-13 00:00:00 +02:00
|
18
18
|
default_executable:
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
@@ -267,7 +267,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
267
267
|
requirements:
|
268
268
|
- - ">="
|
269
269
|
- !ruby/object:Gem::Version
|
270
|
-
hash:
|
270
|
+
hash: -2406206885312499226
|
271
271
|
segments:
|
272
272
|
- 0
|
273
273
|
version: "0"
|