mockserver-client 1.0.8.pre → 6.0.0
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 +5 -5
- data/Gemfile +2 -1
- data/README.md +79 -227
- data/lib/mockserver/client.rb +518 -0
- data/lib/mockserver/errors.rb +18 -0
- data/lib/mockserver/forward_chain_expectation.rb +117 -0
- data/lib/mockserver/models.rb +1507 -0
- data/lib/mockserver/version.rb +3 -3
- data/lib/mockserver/websocket_client.rb +353 -0
- data/lib/mockserver-client.rb +7 -16
- data/mockserver-client.gemspec +26 -27
- metadata +54 -206
- data/.gitignore +0 -21
- data/.rubocop.yml +0 -7
- data/Rakefile +0 -10
- data/bin/mockserver +0 -9
- data/lib/cli.rb +0 -146
- data/lib/mockserver/abstract_client.rb +0 -111
- data/lib/mockserver/mock_server_client.rb +0 -46
- data/lib/mockserver/model/array_of.rb +0 -85
- data/lib/mockserver/model/body.rb +0 -56
- data/lib/mockserver/model/cookie.rb +0 -36
- data/lib/mockserver/model/delay.rb +0 -34
- data/lib/mockserver/model/enum.rb +0 -47
- data/lib/mockserver/model/expectation.rb +0 -139
- data/lib/mockserver/model/forward.rb +0 -41
- data/lib/mockserver/model/header.rb +0 -43
- data/lib/mockserver/model/parameter.rb +0 -43
- data/lib/mockserver/model/request.rb +0 -81
- data/lib/mockserver/model/response.rb +0 -45
- data/lib/mockserver/model/times.rb +0 -61
- data/lib/mockserver/proxy_client.rb +0 -9
- data/lib/mockserver/utility_methods.rb +0 -59
- data/pom.xml +0 -118
- data/spec/fixtures/forward_mockserver.json +0 -7
- data/spec/fixtures/incorrect_login_response.json +0 -20
- data/spec/fixtures/post_login_request.json +0 -22
- data/spec/fixtures/register_expectation.json +0 -50
- data/spec/fixtures/retrieved_request.json +0 -22
- data/spec/fixtures/search_request.json +0 -6
- data/spec/fixtures/times_once.json +0 -6
- data/spec/integration/mock_client_integration_spec.rb +0 -82
- data/spec/mockserver/builder_spec.rb +0 -90
- data/spec/mockserver/mock_client_spec.rb +0 -80
- data/spec/mockserver/proxy_client_spec.rb +0 -38
- data/spec/spec_helper.rb +0 -61
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
# encoding: UTF-8
|
|
2
|
-
require_relative '../spec_helper'
|
|
3
|
-
|
|
4
|
-
describe MockServer::ProxyClient do
|
|
5
|
-
|
|
6
|
-
let(:client) { MockServer::ProxyClient.new('localhost', 8080) }
|
|
7
|
-
let(:retrieved_request) { FIXTURES.read('retrieved_request.json') }
|
|
8
|
-
let(:retrieved_request_json) { retrieved_request.to_json }
|
|
9
|
-
let(:search_request_json) { FIXTURES.read('search_request.json').to_json }
|
|
10
|
-
|
|
11
|
-
before do
|
|
12
|
-
# To suppress logging output to standard output, write to a temporary file
|
|
13
|
-
client.logger = LoggingFactory::DEFAULT_FACTORY.log('test', output: 'tmp.log', truncate: true)
|
|
14
|
-
|
|
15
|
-
# Stub requests
|
|
16
|
-
stub_request(:put, /.+\/retrieve/).with(body: search_request_json).to_return(
|
|
17
|
-
body: "[#{retrieved_request_json}, #{retrieved_request_json}]",
|
|
18
|
-
status: 200
|
|
19
|
-
)
|
|
20
|
-
stub_request(:put, /.+\/dumpToLog$/).to_return(status: 202).once
|
|
21
|
-
stub_request(:put, /.+\/dumpToLog\?type=java$/).to_return(status: 202).once
|
|
22
|
-
end
|
|
23
|
-
|
|
24
|
-
it 'verifies requests correctly' do
|
|
25
|
-
response = client.verify(request(:POST, '/login'), exactly(2))
|
|
26
|
-
response = response.map { |mock| to_camelized_hash(mock.to_hash) }
|
|
27
|
-
expect(response).to eq([retrieved_request, retrieved_request])
|
|
28
|
-
end
|
|
29
|
-
|
|
30
|
-
it 'raises an error when verification fails' do
|
|
31
|
-
expect { client.verify(request(:POST, '/login')) }.to raise_error(RuntimeError, 'Expected request to be present: [1] (exactly). But found: [2]')
|
|
32
|
-
end
|
|
33
|
-
|
|
34
|
-
it 'dumps to logs correctly do' do
|
|
35
|
-
expect(client.dump_log.code).to eq(202)
|
|
36
|
-
expect(client.dump_log({}, true).code).to eq(202)
|
|
37
|
-
end
|
|
38
|
-
end
|
data/spec/spec_helper.rb
DELETED
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
# encoding: UTF-8
|
|
2
|
-
require 'simplecov'
|
|
3
|
-
|
|
4
|
-
SimpleCov.start do
|
|
5
|
-
add_filter 'spec/'
|
|
6
|
-
add_filter 'rdoc/'
|
|
7
|
-
add_filter 'results/'
|
|
8
|
-
add_filter 'coverage/'
|
|
9
|
-
end
|
|
10
|
-
|
|
11
|
-
require 'rspec'
|
|
12
|
-
require 'webmock/rspec'
|
|
13
|
-
require_relative '../lib/mockserver-client'
|
|
14
|
-
|
|
15
|
-
# Helper methods used by tests
|
|
16
|
-
module HelperMethods
|
|
17
|
-
# A class to allow easy reference of files with a given base path
|
|
18
|
-
class FileAccessor
|
|
19
|
-
attr_accessor :base_path
|
|
20
|
-
|
|
21
|
-
# Options should have a list of parts which will be appended together to give the base path
|
|
22
|
-
def initialize(*options)
|
|
23
|
-
@base_path = File.join(options.map { |f| f.to_s })
|
|
24
|
-
end
|
|
25
|
-
|
|
26
|
-
# Access specific file in the base path
|
|
27
|
-
def [](file_name)
|
|
28
|
-
File.join(@base_path, file_name)
|
|
29
|
-
end
|
|
30
|
-
|
|
31
|
-
# Read the given file
|
|
32
|
-
def read(file_name)
|
|
33
|
-
YAML.load_file(File.join(@base_path, file_name))
|
|
34
|
-
end
|
|
35
|
-
|
|
36
|
-
# Delete all files in the directory
|
|
37
|
-
def delete_files(pattern = '*.log')
|
|
38
|
-
FileUtils.rm_rf Dir.glob(File.join(base_path, pattern))
|
|
39
|
-
end
|
|
40
|
-
end
|
|
41
|
-
|
|
42
|
-
# Reparse hash from json to make keys strings and ensure consistency of keys for tests
|
|
43
|
-
def to_camelized_hash(hash)
|
|
44
|
-
JSON.parse(camelized_hash(hash).to_json)
|
|
45
|
-
end
|
|
46
|
-
|
|
47
|
-
FIXTURES = FileAccessor.new(:spec, :fixtures)
|
|
48
|
-
end
|
|
49
|
-
|
|
50
|
-
RSpec.configure do |config|
|
|
51
|
-
include HelperMethods
|
|
52
|
-
include WebMock::API
|
|
53
|
-
include MockServer
|
|
54
|
-
include MockServer::UtilityMethods
|
|
55
|
-
include MockServer::Model::DSL
|
|
56
|
-
|
|
57
|
-
# Only accept expect syntax do not allow old should syntax
|
|
58
|
-
config.expect_with :rspec do |c|
|
|
59
|
-
c.syntax = :expect
|
|
60
|
-
end
|
|
61
|
-
end
|