mockserver-client 7.1.0 → 7.3.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 +4 -4
- data/README.md +173 -1
- data/lib/mockserver/a2a.rb +529 -0
- data/lib/mockserver/binary_launcher.rb +31 -1
- data/lib/mockserver/client.rb +815 -7
- data/lib/mockserver/forward_chain_expectation.rb +16 -6
- data/lib/mockserver/llm.rb +855 -0
- data/lib/mockserver/mcp.rb +453 -0
- data/lib/mockserver/models.rb +681 -11
- data/lib/mockserver/rspec.rb +56 -0
- data/lib/mockserver/version.rb +1 -1
- data/lib/mockserver-client.rb +3 -0
- metadata +6 -2
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require_relative 'client'
|
|
4
|
+
|
|
5
|
+
module MockServer
|
|
6
|
+
# RSpec integration helpers for MockServer.
|
|
7
|
+
#
|
|
8
|
+
# Require this file from your `spec_helper.rb` to get a shared context that
|
|
9
|
+
# provides a fresh {MockServer::Client} per example and automatically resets
|
|
10
|
+
# the server between examples, so recorded requests, expectations and logs
|
|
11
|
+
# never leak from one example to the next:
|
|
12
|
+
#
|
|
13
|
+
# require 'mockserver/rspec'
|
|
14
|
+
#
|
|
15
|
+
# RSpec.describe 'my integration', :mockserver do
|
|
16
|
+
# it 'records the request' do
|
|
17
|
+
# # `mockserver` is the shared, reset client
|
|
18
|
+
# mockserver.when(MockServer::HttpRequest.request(path: '/hello'))
|
|
19
|
+
# .respond(MockServer::HttpResponse.response(body: 'world'))
|
|
20
|
+
# end
|
|
21
|
+
# end
|
|
22
|
+
#
|
|
23
|
+
# The host and port default to `127.0.0.1:1080` and can be overridden with the
|
|
24
|
+
# `MOCKSERVER_HOST` / `MOCKSERVER_PORT` environment variables, or by defining a
|
|
25
|
+
# `mockserver_host` / `mockserver_port` `let` in your example group.
|
|
26
|
+
module RSpec
|
|
27
|
+
SHARED_CONTEXT_NAME = 'mockserver client'
|
|
28
|
+
|
|
29
|
+
if defined?(::RSpec)
|
|
30
|
+
::RSpec.shared_context SHARED_CONTEXT_NAME do
|
|
31
|
+
let(:mockserver_host) { ENV.fetch('MOCKSERVER_HOST', '127.0.0.1') }
|
|
32
|
+
let(:mockserver_port) { Integer(ENV.fetch('MOCKSERVER_PORT', '1080')) }
|
|
33
|
+
|
|
34
|
+
# A fresh client per example. Memoised so the same instance is returned
|
|
35
|
+
# within a single example, but rebuilt for the next one.
|
|
36
|
+
let(:mockserver) { MockServer::Client.new(mockserver_host, mockserver_port) }
|
|
37
|
+
|
|
38
|
+
# Start each example from a clean server and tear down again afterwards,
|
|
39
|
+
# closing any websocket connections opened by the client.
|
|
40
|
+
before do
|
|
41
|
+
mockserver.reset
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
after do
|
|
45
|
+
mockserver.reset
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
# Make the shared context available to any example group tagged
|
|
50
|
+
# `:mockserver` without an explicit `include_context`.
|
|
51
|
+
::RSpec.configure do |config|
|
|
52
|
+
config.include_context SHARED_CONTEXT_NAME, :mockserver
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
end
|
|
56
|
+
end
|
data/lib/mockserver/version.rb
CHANGED
data/lib/mockserver-client.rb
CHANGED
|
@@ -6,4 +6,7 @@ require_relative 'mockserver/models'
|
|
|
6
6
|
require_relative 'mockserver/websocket_client'
|
|
7
7
|
require_relative 'mockserver/forward_chain_expectation'
|
|
8
8
|
require_relative 'mockserver/client'
|
|
9
|
+
require_relative 'mockserver/llm'
|
|
10
|
+
require_relative 'mockserver/mcp'
|
|
11
|
+
require_relative 'mockserver/a2a'
|
|
9
12
|
require_relative 'mockserver/binary_launcher'
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: mockserver-client
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 7.
|
|
4
|
+
version: 7.3.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- James Bloom
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-
|
|
11
|
+
date: 2026-07-01 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: logger
|
|
@@ -91,11 +91,15 @@ files:
|
|
|
91
91
|
- Gemfile
|
|
92
92
|
- README.md
|
|
93
93
|
- lib/mockserver-client.rb
|
|
94
|
+
- lib/mockserver/a2a.rb
|
|
94
95
|
- lib/mockserver/binary_launcher.rb
|
|
95
96
|
- lib/mockserver/client.rb
|
|
96
97
|
- lib/mockserver/errors.rb
|
|
97
98
|
- lib/mockserver/forward_chain_expectation.rb
|
|
99
|
+
- lib/mockserver/llm.rb
|
|
100
|
+
- lib/mockserver/mcp.rb
|
|
98
101
|
- lib/mockserver/models.rb
|
|
102
|
+
- lib/mockserver/rspec.rb
|
|
99
103
|
- lib/mockserver/version.rb
|
|
100
104
|
- lib/mockserver/websocket_client.rb
|
|
101
105
|
- mockserver-client.gemspec
|