holoserve 0.3.1 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: holoserve
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.4.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-02-10 00:00:00.000000000 Z
12
+ date: 2012-03-13 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
- name: rack
16
- requirement: &70159532631360 !ruby/object:Gem::Requirement
15
+ name: goliath
16
+ requirement: &70166500305240 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,43 +21,32 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70159532631360
24
+ version_requirements: *70166500305240
25
25
  - !ruby/object:Gem::Dependency
26
- name: sinatra
27
- requirement: &70159532629620 !ruby/object:Gem::Requirement
26
+ name: rake
27
+ requirement: &70166500304380 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
31
31
  - !ruby/object:Gem::Version
32
32
  version: '0'
33
- type: :runtime
34
- prerelease: false
35
- version_requirements: *70159532629620
36
- - !ruby/object:Gem::Dependency
37
- name: unicorn
38
- requirement: &70159532627220 !ruby/object:Gem::Requirement
39
- none: false
40
- requirements:
41
- - - ! '>='
42
- - !ruby/object:Gem::Version
43
- version: '0'
44
- type: :runtime
33
+ type: :development
45
34
  prerelease: false
46
- version_requirements: *70159532627220
35
+ version_requirements: *70166500304380
47
36
  - !ruby/object:Gem::Dependency
48
- name: transport
49
- requirement: &70159532638140 !ruby/object:Gem::Requirement
37
+ name: rdoc
38
+ requirement: &70166500303920 !ruby/object:Gem::Requirement
50
39
  none: false
51
40
  requirements:
52
41
  - - ! '>='
53
42
  - !ruby/object:Gem::Version
54
43
  version: '0'
55
- type: :runtime
44
+ type: :development
56
45
  prerelease: false
57
- version_requirements: *70159532638140
46
+ version_requirements: *70166500303920
58
47
  - !ruby/object:Gem::Dependency
59
48
  name: cucumber
60
- requirement: &70159532632680 !ruby/object:Gem::Requirement
49
+ requirement: &70166500303360 !ruby/object:Gem::Requirement
61
50
  none: false
62
51
  requirements:
63
52
  - - ! '>='
@@ -65,10 +54,10 @@ dependencies:
65
54
  version: '0'
66
55
  type: :development
67
56
  prerelease: false
68
- version_requirements: *70159532632680
57
+ version_requirements: *70166500303360
69
58
  - !ruby/object:Gem::Dependency
70
59
  name: rspec
71
- requirement: &70159532646160 !ruby/object:Gem::Requirement
60
+ requirement: &70166500302680 !ruby/object:Gem::Requirement
72
61
  none: false
73
62
  requirements:
74
63
  - - ! '>='
@@ -76,10 +65,10 @@ dependencies:
76
65
  version: '0'
77
66
  type: :development
78
67
  prerelease: false
79
- version_requirements: *70159532646160
68
+ version_requirements: *70166500302680
80
69
  - !ruby/object:Gem::Dependency
81
70
  name: transport
82
- requirement: &70159532643660 !ruby/object:Gem::Requirement
71
+ requirement: &70166500294600 !ruby/object:Gem::Requirement
83
72
  none: false
84
73
  requirements:
85
74
  - - ! '>='
@@ -87,10 +76,10 @@ dependencies:
87
76
  version: '0'
88
77
  type: :development
89
78
  prerelease: false
90
- version_requirements: *70159532643660
79
+ version_requirements: *70166500294600
91
80
  - !ruby/object:Gem::Dependency
92
81
  name: oauth
93
- requirement: &70159532640540 !ruby/object:Gem::Requirement
82
+ requirement: &70166500293740 !ruby/object:Gem::Requirement
94
83
  none: false
95
84
  requirements:
96
85
  - - ! '>='
@@ -98,7 +87,7 @@ dependencies:
98
87
  version: '0'
99
88
  type: :development
100
89
  prerelease: false
101
- version_requirements: *70159532640540
90
+ version_requirements: *70166500293740
102
91
  description: This tool can be used to fake webservice APIs for testing proposals.
103
92
  email: philipp.bruell@skrill.com
104
93
  executables:
@@ -113,18 +102,25 @@ files:
113
102
  - bin/holoserve
114
103
  - lib/holoserve/fixture/importer.rb
115
104
  - lib/holoserve/fixture.rb
105
+ - lib/holoserve/interface/control/bucket.rb
106
+ - lib/holoserve/interface/control/history.rb
107
+ - lib/holoserve/interface/control/pair.rb
108
+ - lib/holoserve/interface/control/state.rb
116
109
  - lib/holoserve/interface/control.rb
117
110
  - lib/holoserve/interface/fake.rb
118
111
  - lib/holoserve/interface.rb
119
112
  - lib/holoserve/pair/finder.rb
113
+ - lib/holoserve/pair/loader.rb
120
114
  - lib/holoserve/pair.rb
121
115
  - lib/holoserve/request/decomposer.rb
122
116
  - lib/holoserve/request/matcher.rb
123
117
  - lib/holoserve/request.rb
124
118
  - lib/holoserve/response/combiner.rb
125
119
  - lib/holoserve/response/composer.rb
120
+ - lib/holoserve/response/selector.rb
126
121
  - lib/holoserve/response.rb
127
- - lib/holoserve/runner.rb
122
+ - lib/holoserve/state/updater.rb
123
+ - lib/holoserve/state.rb
128
124
  - lib/holoserve/tool/data_path.rb
129
125
  - lib/holoserve/tool/hash/key_symbolizer.rb
130
126
  - lib/holoserve/tool/hash.rb
@@ -136,6 +132,7 @@ files:
136
132
  - spec/lib/holoserve/fixture/importer_spec.rb
137
133
  - spec/lib/holoserve/tool/data_path_spec.rb
138
134
  - spec/lib/holoserve/tool/merger_spec.rb
135
+ - spec/lib/holoserve_spec.rb
139
136
  homepage: http://github.com/skrill/holoserve
140
137
  licenses: []
141
138
  post_install_message:
@@ -150,7 +147,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
150
147
  version: '0'
151
148
  segments:
152
149
  - 0
153
- hash: -2968421100355071724
150
+ hash: -1981031091455740716
154
151
  required_rubygems_version: !ruby/object:Gem::Requirement
155
152
  none: false
156
153
  requirements:
@@ -159,7 +156,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
159
156
  version: '0'
160
157
  requirements: []
161
158
  rubyforge_project: holoserve
162
- rubygems_version: 1.8.10
159
+ rubygems_version: 1.8.15
163
160
  signing_key:
164
161
  specification_version: 3
165
162
  summary: Tool to fake HTTP APIs.
@@ -167,3 +164,4 @@ test_files:
167
164
  - spec/lib/holoserve/fixture/importer_spec.rb
168
165
  - spec/lib/holoserve/tool/data_path_spec.rb
169
166
  - spec/lib/holoserve/tool/merger_spec.rb
167
+ - spec/lib/holoserve_spec.rb
@@ -1,82 +0,0 @@
1
- require 'unicorn'
2
- require 'transport'
3
-
4
- class Holoserve::Runner
5
-
6
- attr_reader :port
7
-
8
- def initialize(options = { })
9
- @port = options[:port] || 4250
10
- @fixture_file_pattern = options[:fixture_file_pattern]
11
- @pair_file_pattern = options[:pair_file_pattern]
12
- @situation = options[:situation]
13
-
14
- @rackup_options = Unicorn::Configurator::RACKUP
15
- @rackup_options[:port] = @port
16
- @rackup_options[:set_listener] = true
17
- @options = @rackup_options[:options]
18
-
19
- @unicorn = Unicorn::HttpServer.new rack, @options
20
- end
21
-
22
- def start
23
- @unicorn.start
24
- upload_fixtures if @fixture_file_pattern
25
- upload_pairs if @pair_file_pattern
26
- set_situation if @situation
27
- end
28
-
29
- def join
30
- return unless @unicorn
31
- @unicorn.join
32
- end
33
-
34
- def stop
35
- return unless @unicorn
36
- @unicorn.stop
37
- @unicorn = nil
38
- end
39
-
40
- def run
41
- self.start
42
- self.join
43
- end
44
-
45
- private
46
-
47
- def upload_fixtures
48
- Dir[ @fixture_file_pattern ].each do |filename|
49
- upload_file "http://localhost:#{port}/_control/fixtures", filename
50
- end
51
- end
52
-
53
- def upload_pairs
54
- Dir[ @pair_file_pattern ].each do |filename|
55
- upload_file "http://localhost:#{port}/_control/pairs", filename
56
- end
57
- end
58
-
59
- def upload_file(url, filename)
60
- format = File.extname(filename).sub(/^\./, "")
61
- raise ArgumentError, "file extension indicates wrong format '#{format}' (choose yaml or json)" unless [ "yaml", "json" ].include?(format)
62
- Holoserve::Tool::Uploader.new(filename, :post, url, :expected_status_code => 200).upload
63
- nil
64
- end
65
-
66
- def set_situation
67
- Transport::JSON.request :put,
68
- "http://localhost:#{port}/_control/situation",
69
- :parameters => { :name => @situation },
70
- :expected_status_code => 200
71
- nil
72
- end
73
-
74
- def rack
75
- instance.rack
76
- end
77
-
78
- def instance
79
- Holoserve.instance
80
- end
81
-
82
- end