mockserver-client 5.3.0 → 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 -5
- data/README.md +88 -96
- 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 +5 -0
- data/lib/mockserver/websocket_client.rb +353 -0
- data/lib/mockserver-client.rb +8 -64
- data/mockserver-client.gemspec +35 -44
- metadata +37 -256
- data/Gemfile.lock +0 -79
- data/Rakefile +0 -10
- data/docs/Body.md +0 -7
- data/docs/BodyWithContentType.md +0 -7
- data/docs/ConnectionOptions.md +0 -12
- data/docs/ControlApi.md +0 -269
- data/docs/Delay.md +0 -9
- data/docs/Expectation.md +0 -7
- data/docs/ExpectationApi.md +0 -51
- data/docs/Expectations.md +0 -7
- data/docs/HttpClassCallback.md +0 -8
- data/docs/HttpError.md +0 -10
- data/docs/HttpForward.md +0 -11
- data/docs/HttpObjectCallback.md +0 -8
- data/docs/HttpOverrideForwardedRequest.md +0 -9
- data/docs/HttpRequest.md +0 -15
- data/docs/HttpResponse.md +0 -14
- data/docs/HttpTemplate.md +0 -10
- data/docs/KeyToMultiValue.md +0 -7
- data/docs/KeyToValue.md +0 -7
- data/docs/Ports.md +0 -8
- data/docs/TimeToLive.md +0 -10
- data/docs/Times.md +0 -9
- data/docs/Verification.md +0 -9
- data/docs/VerificationSequence.md +0 -8
- data/docs/VerificationTimes.md +0 -9
- data/docs/VerifyApi.md +0 -94
- data/lib/mockserver-client/api/control_api.rb +0 -316
- data/lib/mockserver-client/api/expectation_api.rb +0 -73
- data/lib/mockserver-client/api/verify_api.rb +0 -127
- data/lib/mockserver-client/api_client.rb +0 -388
- data/lib/mockserver-client/api_error.rb +0 -38
- data/lib/mockserver-client/configuration.rb +0 -202
- data/lib/mockserver-client/models/body.rb +0 -174
- data/lib/mockserver-client/models/body_with_content_type.rb +0 -174
- data/lib/mockserver-client/models/connection_options.rb +0 -219
- data/lib/mockserver-client/models/delay.rb +0 -192
- data/lib/mockserver-client/models/expectation.rb +0 -174
- data/lib/mockserver-client/models/expectations.rb +0 -174
- data/lib/mockserver-client/models/http_class_callback.rb +0 -183
- data/lib/mockserver-client/models/http_error.rb +0 -201
- data/lib/mockserver-client/models/http_forward.rb +0 -244
- data/lib/mockserver-client/models/http_object_callback.rb +0 -183
- data/lib/mockserver-client/models/http_override_forwarded_request.rb +0 -192
- data/lib/mockserver-client/models/http_request.rb +0 -246
- data/lib/mockserver-client/models/http_response.rb +0 -237
- data/lib/mockserver-client/models/http_template.rb +0 -235
- data/lib/mockserver-client/models/key_to_multi_value.rb +0 -174
- data/lib/mockserver-client/models/key_to_value.rb +0 -174
- data/lib/mockserver-client/models/ports.rb +0 -185
- data/lib/mockserver-client/models/time_to_live.rb +0 -235
- data/lib/mockserver-client/models/times.rb +0 -192
- data/lib/mockserver-client/models/verification.rb +0 -192
- data/lib/mockserver-client/models/verification_sequence.rb +0 -185
- data/lib/mockserver-client/models/verification_times.rb +0 -192
- data/lib/mockserver-client/version.rb +0 -15
- data/spec/api/control_api_spec.rb +0 -102
- data/spec/api/expectation_api_spec.rb +0 -46
- data/spec/api/verify_api_spec.rb +0 -57
- data/spec/api_client_spec.rb +0 -226
- data/spec/configuration_spec.rb +0 -42
- data/spec/models/body_spec.rb +0 -35
- data/spec/models/body_with_content_type_spec.rb +0 -35
- data/spec/models/connection_options_spec.rb +0 -65
- data/spec/models/delay_spec.rb +0 -47
- data/spec/models/expectation_spec.rb +0 -35
- data/spec/models/expectations_spec.rb +0 -35
- data/spec/models/http_class_callback_spec.rb +0 -41
- data/spec/models/http_error_spec.rb +0 -53
- data/spec/models/http_forward_spec.rb +0 -63
- data/spec/models/http_object_callback_spec.rb +0 -41
- data/spec/models/http_override_forwarded_request_spec.rb +0 -47
- data/spec/models/http_request_spec.rb +0 -83
- data/spec/models/http_response_spec.rb +0 -77
- data/spec/models/http_template_spec.rb +0 -57
- data/spec/models/key_to_multi_value_spec.rb +0 -35
- data/spec/models/key_to_value_spec.rb +0 -35
- data/spec/models/ports_spec.rb +0 -41
- data/spec/models/time_to_live_spec.rb +0 -57
- data/spec/models/times_spec.rb +0 -47
- data/spec/models/verification_sequence_spec.rb +0 -41
- data/spec/models/verification_spec.rb +0 -47
- data/spec/models/verification_times_spec.rb +0 -47
- data/spec/spec_helper.rb +0 -111
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
2
|
+
SHA256:
|
|
3
|
+
metadata.gz: 52c92809897fcdfe317afdab740419e5bef114b46482df4a9756821916bd4a73
|
|
4
|
+
data.tar.gz: 8b8ee1a6a5c341edecbe70a90ccb1dda4c481162eca2f30e83ee121beaa656d5
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 476994411a429882a93e0fe6852527b14ac9ce60ffc2ac328f0536eef2adee69f7c2ce8061bc8dfda7cc32869fe0e227ed3f5e979a3a1e1513c1ae3540be2f27
|
|
7
|
+
data.tar.gz: 94828363b6159101e0288c15b604e7e9acf19716f67efb5edf56f591a79946aaf987ed2c32f079f421d3ad74045d61fa0aac62b93820d162df3299b284108cd7
|
data/Gemfile
CHANGED
data/README.md
CHANGED
|
@@ -1,120 +1,112 @@
|
|
|
1
|
-
#
|
|
1
|
+
# MockServer Ruby Client
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
MockServer enables easy mocking of any system you integrate with via HTTP or HTTPS with clients written in Java, JavaScript and Ruby and a simple REST API (as shown below).
|
|
6
|
-
|
|
7
|
-
MockServer Proxy is a proxy that introspects all proxied traffic including encrypted SSL traffic and supports Port Forwarding, Web Proxying (i.e. HTTP proxy), HTTPS Tunneling Proxying (using HTTP CONNECT) and SOCKS Proxying (i.e. dynamic port forwarding).
|
|
8
|
-
|
|
9
|
-
Both MockServer and the MockServer Proxy record all received requests so that it is possible to verify exactly what requests have been sent by the system under test.
|
|
10
|
-
|
|
11
|
-
This SDK is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
|
12
|
-
|
|
13
|
-
- API version: 5.3.0
|
|
14
|
-
- Package version: 5.3.0
|
|
15
|
-
- Build package: org.openapitools.codegen.languages.RubyClientCodegen
|
|
3
|
+
Hand-written Ruby client for [MockServer](https://www.mock-server.com) with full REST API, fluent builder DSL, and WebSocket callback support.
|
|
16
4
|
|
|
17
5
|
## Installation
|
|
18
6
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
To build the Ruby code into a gem:
|
|
7
|
+
Add to your Gemfile:
|
|
22
8
|
|
|
23
|
-
```
|
|
24
|
-
gem
|
|
9
|
+
```ruby
|
|
10
|
+
gem 'mockserver-client', '~> 5.16'
|
|
25
11
|
```
|
|
26
12
|
|
|
27
|
-
|
|
13
|
+
Or install directly:
|
|
28
14
|
|
|
29
|
-
```
|
|
30
|
-
gem install
|
|
15
|
+
```bash
|
|
16
|
+
gem install mockserver-client
|
|
31
17
|
```
|
|
32
|
-
(for development, run `gem install --dev ./mockserver-client-5.3.0.gem` to install the development dependencies)
|
|
33
|
-
|
|
34
|
-
or publish the gem to a gem hosting service, e.g. [RubyGems](https://rubygems.org/).
|
|
35
|
-
|
|
36
|
-
Finally add this to the Gemfile:
|
|
37
18
|
|
|
38
|
-
|
|
19
|
+
## Quick Start
|
|
39
20
|
|
|
40
|
-
|
|
21
|
+
```ruby
|
|
22
|
+
require 'mockserver-client'
|
|
41
23
|
|
|
42
|
-
|
|
24
|
+
# Create a client
|
|
25
|
+
client = MockServer::Client.new('localhost', 1080)
|
|
26
|
+
|
|
27
|
+
# Set up an expectation using the fluent API
|
|
28
|
+
client.when(
|
|
29
|
+
MockServer::HttpRequest.request(path: '/hello')
|
|
30
|
+
.with_method('GET')
|
|
31
|
+
).respond(
|
|
32
|
+
MockServer::HttpResponse.response(body: 'world', status_code: 200)
|
|
33
|
+
)
|
|
34
|
+
|
|
35
|
+
# Verify a request was received
|
|
36
|
+
client.verify(
|
|
37
|
+
MockServer::HttpRequest.request(path: '/hello'),
|
|
38
|
+
times: MockServer::VerificationTimes.at_least(1)
|
|
39
|
+
)
|
|
40
|
+
|
|
41
|
+
# Clean up
|
|
42
|
+
client.reset
|
|
43
|
+
client.close
|
|
44
|
+
```
|
|
43
45
|
|
|
44
|
-
|
|
46
|
+
## Block Form
|
|
45
47
|
|
|
46
|
-
|
|
48
|
+
```ruby
|
|
49
|
+
MockServer::Client.new('localhost', 1080) do |client|
|
|
50
|
+
client.when(
|
|
51
|
+
MockServer::HttpRequest.request(path: '/api/test')
|
|
52
|
+
).respond(
|
|
53
|
+
MockServer::HttpResponse.response(body: '{"status":"ok"}', status_code: 200)
|
|
54
|
+
)
|
|
55
|
+
end
|
|
56
|
+
# Client is automatically closed when the block exits
|
|
57
|
+
```
|
|
47
58
|
|
|
48
|
-
|
|
59
|
+
## WebSocket Callbacks
|
|
49
60
|
|
|
50
|
-
```
|
|
51
|
-
|
|
61
|
+
```ruby
|
|
62
|
+
client = MockServer::Client.new('localhost', 1080)
|
|
63
|
+
|
|
64
|
+
# Response callback - dynamically generate responses
|
|
65
|
+
client.mock_with_callback(
|
|
66
|
+
MockServer::HttpRequest.request(path: '/dynamic'),
|
|
67
|
+
->(request) {
|
|
68
|
+
MockServer::HttpResponse.new(
|
|
69
|
+
status_code: 200,
|
|
70
|
+
body: "Echo: #{request.path}"
|
|
71
|
+
)
|
|
72
|
+
}
|
|
73
|
+
)
|
|
74
|
+
|
|
75
|
+
# Forward callback - modify requests before forwarding
|
|
76
|
+
client.mock_with_forward_callback(
|
|
77
|
+
MockServer::HttpRequest.request(path: '/proxy'),
|
|
78
|
+
->(request) {
|
|
79
|
+
request.with_header('X-Proxied', 'true')
|
|
80
|
+
}
|
|
81
|
+
)
|
|
82
|
+
|
|
83
|
+
client.close
|
|
52
84
|
```
|
|
53
85
|
|
|
54
|
-
##
|
|
86
|
+
## Models
|
|
55
87
|
|
|
56
|
-
|
|
57
|
-
```ruby
|
|
58
|
-
# Load the gem
|
|
59
|
-
require 'mockserver-client'
|
|
88
|
+
All 25 domain model classes are available under the `MockServer` module:
|
|
60
89
|
|
|
61
|
-
|
|
62
|
-
|
|
90
|
+
- `Delay`, `Times`, `TimeToLive`
|
|
91
|
+
- `KeyToMultiValue`, `Body`, `SocketAddress`
|
|
92
|
+
- `HttpRequest`, `HttpResponse`, `HttpForward`, `HttpTemplate`
|
|
93
|
+
- `HttpClassCallback`, `HttpObjectCallback`, `HttpError`
|
|
94
|
+
- `HttpOverrideForwardedRequest`, `HttpRequestAndHttpResponse`
|
|
95
|
+
- `ConnectionOptions`
|
|
96
|
+
- `Expectation`, `ExpectationId`
|
|
97
|
+
- `OpenAPIDefinition`, `OpenAPIExpectation`
|
|
98
|
+
- `Verification`, `VerificationSequence`, `VerificationTimes`
|
|
99
|
+
- `Ports`
|
|
100
|
+
- `RequestDefinition` (alias for `HttpRequest`)
|
|
63
101
|
|
|
64
|
-
|
|
65
|
-
#bind additional listening ports
|
|
66
|
-
result = api_instance.bind_put(ports)
|
|
67
|
-
p result
|
|
68
|
-
rescue MockServer::ApiError => e
|
|
69
|
-
puts "Exception when calling ControlApi->bind_put: #{e}"
|
|
70
|
-
end
|
|
102
|
+
## License
|
|
71
103
|
|
|
72
|
-
|
|
104
|
+
Apache-2.0
|
|
105
|
+
|
|
106
|
+
## AI Assistant Integration
|
|
73
107
|
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
All URIs are relative to *http://localhost:1080*
|
|
77
|
-
|
|
78
|
-
Class | Method | HTTP request | Description
|
|
79
|
-
------------ | ------------- | ------------- | -------------
|
|
80
|
-
*MockServer::ControlApi* | [**bind_put**](docs/ControlApi.md#bind_put) | **PUT** /bind | bind additional listening ports
|
|
81
|
-
*MockServer::ControlApi* | [**clear_put**](docs/ControlApi.md#clear_put) | **PUT** /clear | clears expectations and recorded requests that match the request matcher
|
|
82
|
-
*MockServer::ControlApi* | [**reset_put**](docs/ControlApi.md#reset_put) | **PUT** /reset | clears all expectations and recorded requests
|
|
83
|
-
*MockServer::ControlApi* | [**retrieve_put**](docs/ControlApi.md#retrieve_put) | **PUT** /retrieve | retrieve recorded requests, active expectations, recorded expectations or log messages
|
|
84
|
-
*MockServer::ControlApi* | [**status_put**](docs/ControlApi.md#status_put) | **PUT** /status | return listening ports
|
|
85
|
-
*MockServer::ControlApi* | [**stop_put**](docs/ControlApi.md#stop_put) | **PUT** /stop | stop running process
|
|
86
|
-
*MockServer::ExpectationApi* | [**expectation_put**](docs/ExpectationApi.md#expectation_put) | **PUT** /expectation | create expectation
|
|
87
|
-
*MockServer::VerifyApi* | [**verify_put**](docs/VerifyApi.md#verify_put) | **PUT** /verify | verify a request has been received a specific number of times
|
|
88
|
-
*MockServer::VerifyApi* | [**verify_sequence_put**](docs/VerifyApi.md#verify_sequence_put) | **PUT** /verifySequence | verify a sequence of request has been received in the specific order
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
## Documentation for Models
|
|
92
|
-
|
|
93
|
-
- [MockServer::Body](docs/Body.md)
|
|
94
|
-
- [MockServer::BodyWithContentType](docs/BodyWithContentType.md)
|
|
95
|
-
- [MockServer::ConnectionOptions](docs/ConnectionOptions.md)
|
|
96
|
-
- [MockServer::Delay](docs/Delay.md)
|
|
97
|
-
- [MockServer::Expectation](docs/Expectation.md)
|
|
98
|
-
- [MockServer::Expectations](docs/Expectations.md)
|
|
99
|
-
- [MockServer::HttpClassCallback](docs/HttpClassCallback.md)
|
|
100
|
-
- [MockServer::HttpError](docs/HttpError.md)
|
|
101
|
-
- [MockServer::HttpForward](docs/HttpForward.md)
|
|
102
|
-
- [MockServer::HttpObjectCallback](docs/HttpObjectCallback.md)
|
|
103
|
-
- [MockServer::HttpOverrideForwardedRequest](docs/HttpOverrideForwardedRequest.md)
|
|
104
|
-
- [MockServer::HttpRequest](docs/HttpRequest.md)
|
|
105
|
-
- [MockServer::HttpResponse](docs/HttpResponse.md)
|
|
106
|
-
- [MockServer::HttpTemplate](docs/HttpTemplate.md)
|
|
107
|
-
- [MockServer::KeyToMultiValue](docs/KeyToMultiValue.md)
|
|
108
|
-
- [MockServer::KeyToValue](docs/KeyToValue.md)
|
|
109
|
-
- [MockServer::Ports](docs/Ports.md)
|
|
110
|
-
- [MockServer::TimeToLive](docs/TimeToLive.md)
|
|
111
|
-
- [MockServer::Times](docs/Times.md)
|
|
112
|
-
- [MockServer::Verification](docs/Verification.md)
|
|
113
|
-
- [MockServer::VerificationSequence](docs/VerificationSequence.md)
|
|
114
|
-
- [MockServer::VerificationTimes](docs/VerificationTimes.md)
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
## Documentation for Authorization
|
|
118
|
-
|
|
119
|
-
All endpoints do not require authorization.
|
|
108
|
+
MockServer includes a built-in [MCP](https://modelcontextprotocol.io) (Model Context Protocol) server that enables AI coding assistants to create expectations, verify requests, and debug HTTP traffic programmatically.
|
|
120
109
|
|
|
110
|
+
- **MCP Endpoint:** `http://localhost:1080/mockserver/mcp`
|
|
111
|
+
- **AI Documentation:** [llms.txt](https://www.mock-server.com/llms.txt)
|
|
112
|
+
- **Setup Guide:** [AI Integration](https://www.mock-server.com/mock_server/ai_mcp_setup.html)
|