Module: MockServer::Spec::Helpers

Includes:
MockServer::Store
Defined in:
lib/mock_server/spec/helpers.rb

Instance Method Summary collapse

Methods included from MockServer::Store

#mock_server_options_merge, #mock_server_options_read, #mock_server_options_write

Instance Method Details

#mock_server_add_record(*arguments) ⇒ Object

Public: Add fixtures to the list of fixtures

*arguments - Filename…

Examples

mock_server_add_record(:users, :comments)


38
39
40
41
# File 'lib/mock_server/spec/helpers.rb', line 38

def mock_server_add_record(*arguments)
  config = (mock_server_options_fetch(:record_filenames, []) + arguments)
  mock_server_options_set(:record_filenames, config)
end

#mock_server_clear_matchers!Object

Public: Clear all the matchers



155
156
157
# File 'lib/mock_server/spec/helpers.rb', line 155

def mock_server_clear_matchers!
  mock_server_options_set(:matchers, [])
end

#mock_server_delete(path, &block) ⇒ Object

Public: Register a matcher on a DELETE request for a given route.

path - Relative HTTP path to match &block - Optional block for complex matching on the request

Examples

mock_server_delete('/api/2/account')

mock_server_delete('/api/2/account') { |request, recorded_request| request.body == recorded_request.body }


149
150
151
# File 'lib/mock_server/spec/helpers.rb', line 149

def mock_server_delete(path, &block)
  mock_server_request :delete, path, block
end

#mock_server_disable_all_routes!Object

Public: Disable all routes being server by MockServer

Examples

mock_server_disable_all_routes!


89
90
91
# File 'lib/mock_server/spec/helpers.rb', line 89

def mock_server_disable_all_routes!
  mock_server_options_set(:routes, [])
end

#mock_server_disable_path(*paths) ⇒ Object

Public: Disable MockServer on a given routes.

*paths - Sting of the fixtures path

Examples

mock_server_disable_path('/api/2/**', '/api/verify')


77
78
79
80
# File 'lib/mock_server/spec/helpers.rb', line 77

def mock_server_disable_path(*paths)
  routes = mock_server_options_fetch(:routes, []) - paths
  mock_server_options_set(:routes, routes.flatten)
end

#mock_server_enable_routes(*paths) ⇒ Object

Public: Enabled MockServer on a given routes. Accept unix-directory like /* catch all.

*arguments - Sting of the fixtures path

Examples

mock_server_enable_routes('/api/2/**', '/api/verify')


64
65
66
67
# File 'lib/mock_server/spec/helpers.rb', line 64

def mock_server_enable_routes(*paths)
  routes = mock_server_options_fetch(:routes, []) + paths
  mock_server_options_set(:routes, routes)
end

#mock_server_errors_stackObject

Public: Retrive the MockServer request stack.

Return array of request path.



174
175
176
# File 'lib/mock_server/spec/helpers.rb', line 174

def mock_server_errors_stack
  mock_server_options_fetch(:errors_stack, [])
end

#mock_server_errors_stack_clear!Object

Public: Retrive the MockServer errors request stack. i.e.: path being register for being serve by MockServer, but no suitable matcher was found to serve the request will be added to the error stack

Return array of errors.



184
185
186
# File 'lib/mock_server/spec/helpers.rb', line 184

def mock_server_errors_stack_clear!
  mock_server_options_set(:errors_stack, [])
end

#mock_server_get(path, &block) ⇒ Object

Public: Register a matcher on a GET request for a given route.

path - Relative HTTP path to match &block - Optional block for complex matching on the request

Examples

mock_server_get('/api/2/account')

mock_server_get('/api/2/account') { |request, recorded_request| request.body == recorded_request.body }


104
105
106
# File 'lib/mock_server/spec/helpers.rb', line 104

def mock_server_get(path, &block)
  mock_server_request :get, path, block
end

#mock_server_inspectObject

Public: Inspect mock server options

Returns a String.



14
15
16
# File 'lib/mock_server/spec/helpers.rb', line 14

def mock_server_inspect
  mock_server_options.inspect
end

#mock_server_post(path, &block) ⇒ Object

Public: Register a matcher on a POST request for a given route.

path - Relative HTTP path to match &block - Optional block for complex matching on the request

Examples

mock_server_post('/api/2/account')

mock_server_post('/api/2/account') { |request, recorded_request| request.body == recorded_request.body }


119
120
121
# File 'lib/mock_server/spec/helpers.rb', line 119

def mock_server_post(path, &block)
  mock_server_request :post, path, block
end

#mock_server_put(path, &block) ⇒ Object

Public: Register a matcher on a PUT request for a given route.

path - Relative HTTP path to match &block - Optional block for complex matching on the request

Examples

mock_server_put('/api/2/account')

mock_server_put('/api/2/account') { |request, recorded_request| request.body == recorded_request.body }


134
135
136
# File 'lib/mock_server/spec/helpers.rb', line 134

def mock_server_put(path, &block)
  mock_server_request :put, path, block
end

#mock_server_requests_stackObject

Public: Retrive the MockServer request stack.

Return array of request path.



162
163
164
# File 'lib/mock_server/spec/helpers.rb', line 162

def mock_server_requests_stack
  mock_server_options_fetch(:requests_stack, [])
end

#mock_server_requests_stack_clear!Object

Public: Clear the MockServer request stack.



167
168
169
# File 'lib/mock_server/spec/helpers.rb', line 167

def mock_server_requests_stack_clear!
   mock_server_options_set(:requests_stack, [])
end

#mock_server_reraise_matcher_exceptionsObject

Public: Utility helper to reraise errors catch inside the matchers block



230
231
232
233
234
# File 'lib/mock_server/spec/helpers.rb', line 230

def mock_server_reraise_matcher_exceptions
  mock_server_options_fetch(:matcher_exceptions, []).each do |exception|
    raise exception
  end
end

#mock_server_reset!Object

Public: Clear the MockServer state.

alias:

mock_server_response_stack_clear!
mock_server_clear_matchers!
mock_server_disable_all_routes!


222
223
224
225
226
# File 'lib/mock_server/spec/helpers.rb', line 222

def mock_server_reset!
  mock_server_response_stack_clear!
  mock_server_clear_matchers!
  mock_server_disable_all_routes!
end

#mock_server_response_stack_clear!Object

Public: Clear the MockServer response stack.

alias:

mock_server_requests_stack_clear!
mock_server_success_stack_clear!
mock_server_errors_stack_clear!


208
209
210
211
212
# File 'lib/mock_server/spec/helpers.rb', line 208

def mock_server_response_stack_clear!
  mock_server_requests_stack_clear!
  mock_server_success_stack_clear!
  mock_server_errors_stack_clear!
end

#mock_server_set_fixture_path(path) ⇒ Object

Public: Set the path of fixtures files

path - Sting of the fixtures path

Examples

mock_server_set_fixture_path('fixtures/records/')


51
52
53
# File 'lib/mock_server/spec/helpers.rb', line 51

def mock_server_set_fixture_path(path)
  mock_server_options_set(:path, path)
end

#mock_server_success_stackObject

Public: Retrive the MockServer successful request stack.

Return array of successful response stack.



191
192
193
# File 'lib/mock_server/spec/helpers.rb', line 191

def mock_server_success_stack
  mock_server_options_fetch(:success_stack, [])
end

#mock_server_success_stack_clear!Object

Public: Clear the MockServer successful request stack.



196
197
198
# File 'lib/mock_server/spec/helpers.rb', line 196

def mock_server_success_stack_clear!
  mock_server_options_set(:success_stack, [])
end

#mock_server_use_record(*arguments) ⇒ Object

Public: Overwrite or initialize the list of fixtures

*arguments - Filename…

Examples

mock_server_use_record(:users, :comments)


26
27
28
# File 'lib/mock_server/spec/helpers.rb', line 26

def mock_server_use_record(*arguments)
  mock_server_options_set(:record_filenames, arguments)
end