mockserver-client 7.0.0__tar.gz → 7.2.0__tar.gz
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.
- {mockserver_client-7.0.0 → mockserver_client-7.2.0}/PKG-INFO +113 -1
- {mockserver_client-7.0.0 → mockserver_client-7.2.0}/README.md +112 -0
- {mockserver_client-7.0.0 → mockserver_client-7.2.0}/mockserver/__init__.py +102 -0
- mockserver_client-7.2.0/mockserver/async_client.py +1083 -0
- {mockserver_client-7.0.0 → mockserver_client-7.2.0}/mockserver/client.py +212 -5
- {mockserver_client-7.0.0 → mockserver_client-7.2.0}/mockserver/fluent.py +31 -3
- mockserver_client-7.2.0/mockserver/launcher.py +598 -0
- mockserver_client-7.2.0/mockserver/llm.py +1021 -0
- mockserver_client-7.2.0/mockserver/mcp.py +434 -0
- {mockserver_client-7.0.0 → mockserver_client-7.2.0}/mockserver/models.py +391 -7
- {mockserver_client-7.0.0 → mockserver_client-7.2.0}/mockserver/websocket_client.py +192 -16
- {mockserver_client-7.0.0 → mockserver_client-7.2.0}/mockserver_client.egg-info/PKG-INFO +113 -1
- {mockserver_client-7.0.0 → mockserver_client-7.2.0}/mockserver_client.egg-info/SOURCES.txt +8 -0
- {mockserver_client-7.0.0 → mockserver_client-7.2.0}/pyproject.toml +2 -2
- mockserver_client-7.2.0/tests/test_async_client.py +882 -0
- mockserver_client-7.2.0/tests/test_auth_tls.py +205 -0
- mockserver_client-7.2.0/tests/test_breakpoint.py +481 -0
- mockserver_client-7.2.0/tests/test_client.py +839 -0
- {mockserver_client-7.0.0 → mockserver_client-7.2.0}/tests/test_fluent.py +37 -2
- mockserver_client-7.2.0/tests/test_launcher.py +845 -0
- mockserver_client-7.2.0/tests/test_llm.py +579 -0
- mockserver_client-7.2.0/tests/test_mcp.py +257 -0
- {mockserver_client-7.0.0 → mockserver_client-7.2.0}/tests/test_models.py +484 -1
- mockserver_client-7.0.0/mockserver/async_client.py +0 -541
- mockserver_client-7.0.0/tests/test_async_client.py +0 -437
- mockserver_client-7.0.0/tests/test_client.py +0 -443
- {mockserver_client-7.0.0 → mockserver_client-7.2.0}/mockserver/exceptions.py +0 -0
- {mockserver_client-7.0.0 → mockserver_client-7.2.0}/mockserver_client.egg-info/dependency_links.txt +0 -0
- {mockserver_client-7.0.0 → mockserver_client-7.2.0}/mockserver_client.egg-info/requires.txt +0 -0
- {mockserver_client-7.0.0 → mockserver_client-7.2.0}/mockserver_client.egg-info/top_level.txt +0 -0
- {mockserver_client-7.0.0 → mockserver_client-7.2.0}/setup.cfg +0 -0
- {mockserver_client-7.0.0 → mockserver_client-7.2.0}/tests/test_exceptions.py +0 -0
- {mockserver_client-7.0.0 → mockserver_client-7.2.0}/tests/test_init.py +0 -0
- {mockserver_client-7.0.0 → mockserver_client-7.2.0}/tests/test_integration.py +0 -0
- {mockserver_client-7.0.0 → mockserver_client-7.2.0}/tests/test_websocket_client.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: mockserver-client
|
|
3
|
-
Version: 7.
|
|
3
|
+
Version: 7.2.0
|
|
4
4
|
Summary: Official Python client for MockServer — create expectations, verify requests, and register dynamic callbacks via WebSocket
|
|
5
5
|
Author-email: James Bloom <jamesdbloom@gmail.com>
|
|
6
6
|
License-Expression: Apache-2.0
|
|
@@ -273,6 +273,118 @@ response = (
|
|
|
273
273
|
)
|
|
274
274
|
```
|
|
275
275
|
|
|
276
|
+
## Interactive Breakpoints
|
|
277
|
+
|
|
278
|
+
The client supports matcher-driven interactive breakpoints over the callback WebSocket. Register a breakpoint matcher to pause forwarded/proxied exchanges at specific phases and inspect/modify/continue them via callback handlers.
|
|
279
|
+
|
|
280
|
+
### Register a breakpoint (sync client)
|
|
281
|
+
|
|
282
|
+
```python
|
|
283
|
+
from mockserver import MockServerClient, HttpRequest, HttpResponse
|
|
284
|
+
|
|
285
|
+
client = MockServerClient("localhost", 1080)
|
|
286
|
+
|
|
287
|
+
# REQUEST phase only
|
|
288
|
+
bp_id = client.add_request_breakpoint(
|
|
289
|
+
HttpRequest(path="/api/.*"),
|
|
290
|
+
lambda request: request, # continue unchanged (or return HttpResponse to abort)
|
|
291
|
+
)
|
|
292
|
+
|
|
293
|
+
# REQUEST + RESPONSE
|
|
294
|
+
bp_id = client.add_request_and_response_breakpoint(
|
|
295
|
+
HttpRequest(path="/api/.*"),
|
|
296
|
+
lambda request: request, # REQUEST handler
|
|
297
|
+
lambda request, response: response, # RESPONSE handler
|
|
298
|
+
)
|
|
299
|
+
|
|
300
|
+
# All phases with stream frame handler
|
|
301
|
+
bp_id = client.add_breakpoint(
|
|
302
|
+
HttpRequest(path="/stream/.*"),
|
|
303
|
+
["REQUEST", "RESPONSE", "RESPONSE_STREAM", "INBOUND_STREAM"],
|
|
304
|
+
request_handler=lambda request: request,
|
|
305
|
+
response_handler=lambda request, response: response,
|
|
306
|
+
stream_frame_handler=lambda frame: {"action": "CONTINUE"},
|
|
307
|
+
# Other actions: MODIFY (with body), DROP, INJECT (with body), CLOSE
|
|
308
|
+
)
|
|
309
|
+
```
|
|
310
|
+
|
|
311
|
+
### Manage breakpoints
|
|
312
|
+
|
|
313
|
+
```python
|
|
314
|
+
# List all matchers
|
|
315
|
+
matchers = client.list_breakpoint_matchers() # {"matchers": [...]}
|
|
316
|
+
|
|
317
|
+
# Remove a specific matcher
|
|
318
|
+
client.remove_breakpoint_matcher(bp_id)
|
|
319
|
+
|
|
320
|
+
# Clear all matchers
|
|
321
|
+
client.clear_breakpoint_matchers()
|
|
322
|
+
```
|
|
323
|
+
|
|
324
|
+
The async client (`AsyncMockServerClient`) exposes the same methods as coroutines.
|
|
325
|
+
|
|
326
|
+
## Start / Launch MockServer
|
|
327
|
+
|
|
328
|
+
The Python client can download and launch a local MockServer instance directly -- no Java installation and no Docker required. The launcher downloads a self-contained platform bundle (`mockserver-<version>-<os>-<arch>`) from the GitHub Release, verifies its SHA-256, caches it per-user, and starts it.
|
|
329
|
+
|
|
330
|
+
### Quick start
|
|
331
|
+
|
|
332
|
+
```python
|
|
333
|
+
from mockserver.launcher import start, MockServerProcess
|
|
334
|
+
|
|
335
|
+
# Download (first run) and start MockServer on port 1080
|
|
336
|
+
with start(port=1080) as server:
|
|
337
|
+
print(f"MockServer running on port {server.port}, PID {server.pid}")
|
|
338
|
+
# ... use MockServer ...
|
|
339
|
+
# Server is stopped automatically when the context manager exits
|
|
340
|
+
```
|
|
341
|
+
|
|
342
|
+
### Just ensure the binary is present
|
|
343
|
+
|
|
344
|
+
```python
|
|
345
|
+
from mockserver.launcher import ensure_binary
|
|
346
|
+
|
|
347
|
+
launcher_path = ensure_binary() # returns Path to the launcher executable
|
|
348
|
+
```
|
|
349
|
+
|
|
350
|
+
### Specify a version
|
|
351
|
+
|
|
352
|
+
```python
|
|
353
|
+
from mockserver.launcher import start
|
|
354
|
+
|
|
355
|
+
server = start(port=1080, version="7.2.0")
|
|
356
|
+
# ...
|
|
357
|
+
server.stop()
|
|
358
|
+
```
|
|
359
|
+
|
|
360
|
+
### API reference
|
|
361
|
+
|
|
362
|
+
| Function / Class | Description |
|
|
363
|
+
|---|---|
|
|
364
|
+
| `ensure_binary(version=None, *, log=True)` | Download, verify, cache, and return the launcher `Path`. Defaults to the client's own version. |
|
|
365
|
+
| `start(port, version=None, *, extra_args=None, log=True)` | Ensure the binary and start MockServer. Returns a `MockServerProcess`. |
|
|
366
|
+
| `MockServerProcess` | Handle to the running process. Properties: `port`, `pid`, `launcher`, `returncode`. Methods: `stop(timeout=10.0)`. Supports `with` statement. |
|
|
367
|
+
|
|
368
|
+
### Supported platforms
|
|
369
|
+
|
|
370
|
+
| OS | Architecture |
|
|
371
|
+
|---|---|
|
|
372
|
+
| Linux | x86_64, aarch64 |
|
|
373
|
+
| macOS (darwin) | x86_64, aarch64 |
|
|
374
|
+
| Windows | x86_64, aarch64 |
|
|
375
|
+
|
|
376
|
+
### Environment variables
|
|
377
|
+
|
|
378
|
+
| Variable | Purpose |
|
|
379
|
+
|---|---|
|
|
380
|
+
| `MOCKSERVER_BINARY_BASE_URL` | Mirror host for the release assets (corporate / air-gapped networks) |
|
|
381
|
+
| `MOCKSERVER_BINARY_CACHE` | Override the cache directory (default: `~/.cache/mockserver/binaries` on Unix) |
|
|
382
|
+
| `MOCKSERVER_SKIP_BINARY_DOWNLOAD` | Fail instead of downloading (use with a pre-seeded cache in CI) |
|
|
383
|
+
|
|
384
|
+
### Version
|
|
385
|
+
|
|
386
|
+
By default the launcher downloads the MockServer version matching this client package (currently the version set in `pyproject.toml`). Pass an explicit `version` argument to override.
|
|
387
|
+
|
|
276
388
|
## Requirements
|
|
277
389
|
|
|
278
390
|
- Python 3.9+
|
|
@@ -243,6 +243,118 @@ response = (
|
|
|
243
243
|
)
|
|
244
244
|
```
|
|
245
245
|
|
|
246
|
+
## Interactive Breakpoints
|
|
247
|
+
|
|
248
|
+
The client supports matcher-driven interactive breakpoints over the callback WebSocket. Register a breakpoint matcher to pause forwarded/proxied exchanges at specific phases and inspect/modify/continue them via callback handlers.
|
|
249
|
+
|
|
250
|
+
### Register a breakpoint (sync client)
|
|
251
|
+
|
|
252
|
+
```python
|
|
253
|
+
from mockserver import MockServerClient, HttpRequest, HttpResponse
|
|
254
|
+
|
|
255
|
+
client = MockServerClient("localhost", 1080)
|
|
256
|
+
|
|
257
|
+
# REQUEST phase only
|
|
258
|
+
bp_id = client.add_request_breakpoint(
|
|
259
|
+
HttpRequest(path="/api/.*"),
|
|
260
|
+
lambda request: request, # continue unchanged (or return HttpResponse to abort)
|
|
261
|
+
)
|
|
262
|
+
|
|
263
|
+
# REQUEST + RESPONSE
|
|
264
|
+
bp_id = client.add_request_and_response_breakpoint(
|
|
265
|
+
HttpRequest(path="/api/.*"),
|
|
266
|
+
lambda request: request, # REQUEST handler
|
|
267
|
+
lambda request, response: response, # RESPONSE handler
|
|
268
|
+
)
|
|
269
|
+
|
|
270
|
+
# All phases with stream frame handler
|
|
271
|
+
bp_id = client.add_breakpoint(
|
|
272
|
+
HttpRequest(path="/stream/.*"),
|
|
273
|
+
["REQUEST", "RESPONSE", "RESPONSE_STREAM", "INBOUND_STREAM"],
|
|
274
|
+
request_handler=lambda request: request,
|
|
275
|
+
response_handler=lambda request, response: response,
|
|
276
|
+
stream_frame_handler=lambda frame: {"action": "CONTINUE"},
|
|
277
|
+
# Other actions: MODIFY (with body), DROP, INJECT (with body), CLOSE
|
|
278
|
+
)
|
|
279
|
+
```
|
|
280
|
+
|
|
281
|
+
### Manage breakpoints
|
|
282
|
+
|
|
283
|
+
```python
|
|
284
|
+
# List all matchers
|
|
285
|
+
matchers = client.list_breakpoint_matchers() # {"matchers": [...]}
|
|
286
|
+
|
|
287
|
+
# Remove a specific matcher
|
|
288
|
+
client.remove_breakpoint_matcher(bp_id)
|
|
289
|
+
|
|
290
|
+
# Clear all matchers
|
|
291
|
+
client.clear_breakpoint_matchers()
|
|
292
|
+
```
|
|
293
|
+
|
|
294
|
+
The async client (`AsyncMockServerClient`) exposes the same methods as coroutines.
|
|
295
|
+
|
|
296
|
+
## Start / Launch MockServer
|
|
297
|
+
|
|
298
|
+
The Python client can download and launch a local MockServer instance directly -- no Java installation and no Docker required. The launcher downloads a self-contained platform bundle (`mockserver-<version>-<os>-<arch>`) from the GitHub Release, verifies its SHA-256, caches it per-user, and starts it.
|
|
299
|
+
|
|
300
|
+
### Quick start
|
|
301
|
+
|
|
302
|
+
```python
|
|
303
|
+
from mockserver.launcher import start, MockServerProcess
|
|
304
|
+
|
|
305
|
+
# Download (first run) and start MockServer on port 1080
|
|
306
|
+
with start(port=1080) as server:
|
|
307
|
+
print(f"MockServer running on port {server.port}, PID {server.pid}")
|
|
308
|
+
# ... use MockServer ...
|
|
309
|
+
# Server is stopped automatically when the context manager exits
|
|
310
|
+
```
|
|
311
|
+
|
|
312
|
+
### Just ensure the binary is present
|
|
313
|
+
|
|
314
|
+
```python
|
|
315
|
+
from mockserver.launcher import ensure_binary
|
|
316
|
+
|
|
317
|
+
launcher_path = ensure_binary() # returns Path to the launcher executable
|
|
318
|
+
```
|
|
319
|
+
|
|
320
|
+
### Specify a version
|
|
321
|
+
|
|
322
|
+
```python
|
|
323
|
+
from mockserver.launcher import start
|
|
324
|
+
|
|
325
|
+
server = start(port=1080, version="7.2.0")
|
|
326
|
+
# ...
|
|
327
|
+
server.stop()
|
|
328
|
+
```
|
|
329
|
+
|
|
330
|
+
### API reference
|
|
331
|
+
|
|
332
|
+
| Function / Class | Description |
|
|
333
|
+
|---|---|
|
|
334
|
+
| `ensure_binary(version=None, *, log=True)` | Download, verify, cache, and return the launcher `Path`. Defaults to the client's own version. |
|
|
335
|
+
| `start(port, version=None, *, extra_args=None, log=True)` | Ensure the binary and start MockServer. Returns a `MockServerProcess`. |
|
|
336
|
+
| `MockServerProcess` | Handle to the running process. Properties: `port`, `pid`, `launcher`, `returncode`. Methods: `stop(timeout=10.0)`. Supports `with` statement. |
|
|
337
|
+
|
|
338
|
+
### Supported platforms
|
|
339
|
+
|
|
340
|
+
| OS | Architecture |
|
|
341
|
+
|---|---|
|
|
342
|
+
| Linux | x86_64, aarch64 |
|
|
343
|
+
| macOS (darwin) | x86_64, aarch64 |
|
|
344
|
+
| Windows | x86_64, aarch64 |
|
|
345
|
+
|
|
346
|
+
### Environment variables
|
|
347
|
+
|
|
348
|
+
| Variable | Purpose |
|
|
349
|
+
|---|---|
|
|
350
|
+
| `MOCKSERVER_BINARY_BASE_URL` | Mirror host for the release assets (corporate / air-gapped networks) |
|
|
351
|
+
| `MOCKSERVER_BINARY_CACHE` | Override the cache directory (default: `~/.cache/mockserver/binaries` on Unix) |
|
|
352
|
+
| `MOCKSERVER_SKIP_BINARY_DOWNLOAD` | Fail instead of downloading (use with a pre-seeded cache in CI) |
|
|
353
|
+
|
|
354
|
+
### Version
|
|
355
|
+
|
|
356
|
+
By default the launcher downloads the MockServer version matching this client package (currently the version set in `pyproject.toml`). Pass an explicit `version` argument to override.
|
|
357
|
+
|
|
246
358
|
## Requirements
|
|
247
359
|
|
|
248
360
|
- Python 3.9+
|
|
@@ -3,6 +3,8 @@ from mockserver.models import (
|
|
|
3
3
|
BinaryResponse,
|
|
4
4
|
Body,
|
|
5
5
|
ConnectionOptions,
|
|
6
|
+
CrossProtocolScenario,
|
|
7
|
+
CrossProtocolTrigger,
|
|
6
8
|
Delay,
|
|
7
9
|
DelayDistribution,
|
|
8
10
|
DnsRecord,
|
|
@@ -26,12 +28,18 @@ from mockserver.models import (
|
|
|
26
28
|
HttpSseResponse,
|
|
27
29
|
HttpTemplate,
|
|
28
30
|
HttpWebSocketResponse,
|
|
31
|
+
JsonPathBody,
|
|
29
32
|
JsonRpcBody,
|
|
30
33
|
KeyToMultiValue,
|
|
34
|
+
LoadProfile,
|
|
35
|
+
LoadScenario,
|
|
36
|
+
LoadStage,
|
|
37
|
+
LoadStep,
|
|
31
38
|
OpenAPIDefinition,
|
|
32
39
|
OpenAPIExpectation,
|
|
33
40
|
Ports,
|
|
34
41
|
RequestDefinition,
|
|
42
|
+
ResponseMode,
|
|
35
43
|
SocketAddress,
|
|
36
44
|
SseEvent,
|
|
37
45
|
TimeToLive,
|
|
@@ -41,6 +49,37 @@ from mockserver.models import (
|
|
|
41
49
|
VerificationTimes,
|
|
42
50
|
WebSocketMessage,
|
|
43
51
|
)
|
|
52
|
+
from mockserver.llm import (
|
|
53
|
+
Completion,
|
|
54
|
+
ConversationPredicates,
|
|
55
|
+
EmbeddingResponse,
|
|
56
|
+
HttpLlmResponse,
|
|
57
|
+
IsolationSource,
|
|
58
|
+
LlmChaosProfile,
|
|
59
|
+
LlmConversationBuilder,
|
|
60
|
+
LlmFailoverBuilder,
|
|
61
|
+
LlmMockBuilder,
|
|
62
|
+
NormalizationOptions,
|
|
63
|
+
Provider,
|
|
64
|
+
Role,
|
|
65
|
+
StreamingPhysics,
|
|
66
|
+
ToolUse,
|
|
67
|
+
TurnBuilder,
|
|
68
|
+
Usage,
|
|
69
|
+
completion,
|
|
70
|
+
conversation,
|
|
71
|
+
cookie,
|
|
72
|
+
embedding,
|
|
73
|
+
header,
|
|
74
|
+
llm_failover,
|
|
75
|
+
llm_mock,
|
|
76
|
+
llm_response,
|
|
77
|
+
query_parameter,
|
|
78
|
+
streaming_physics,
|
|
79
|
+
time_to_first_token,
|
|
80
|
+
tool_use,
|
|
81
|
+
usage,
|
|
82
|
+
)
|
|
44
83
|
from mockserver.exceptions import (
|
|
45
84
|
MockServerCallbackError,
|
|
46
85
|
MockServerConnectionError,
|
|
@@ -49,7 +88,22 @@ from mockserver.exceptions import (
|
|
|
49
88
|
MockServerWebSocketError,
|
|
50
89
|
)
|
|
51
90
|
from mockserver.client import MockServerClient
|
|
91
|
+
from mockserver.mcp import (
|
|
92
|
+
McpMockBuilder,
|
|
93
|
+
McpPromptBuilder,
|
|
94
|
+
McpResourceBuilder,
|
|
95
|
+
McpToolBuilder,
|
|
96
|
+
mcp_mock,
|
|
97
|
+
)
|
|
52
98
|
from mockserver.async_client import AsyncMockServerClient
|
|
99
|
+
from mockserver.launcher import (
|
|
100
|
+
MockServerProcess,
|
|
101
|
+
bundle_base_name,
|
|
102
|
+
cache_dir,
|
|
103
|
+
ensure_binary,
|
|
104
|
+
resolve_platform,
|
|
105
|
+
start as start_server,
|
|
106
|
+
)
|
|
53
107
|
|
|
54
108
|
__all__ = [
|
|
55
109
|
"AfterAction",
|
|
@@ -57,6 +111,8 @@ __all__ = [
|
|
|
57
111
|
"BinaryResponse",
|
|
58
112
|
"Body",
|
|
59
113
|
"ConnectionOptions",
|
|
114
|
+
"CrossProtocolScenario",
|
|
115
|
+
"CrossProtocolTrigger",
|
|
60
116
|
"Delay",
|
|
61
117
|
"DelayDistribution",
|
|
62
118
|
"DnsRecord",
|
|
@@ -80,8 +136,47 @@ __all__ = [
|
|
|
80
136
|
"HttpSseResponse",
|
|
81
137
|
"HttpTemplate",
|
|
82
138
|
"HttpWebSocketResponse",
|
|
139
|
+
"JsonPathBody",
|
|
83
140
|
"JsonRpcBody",
|
|
84
141
|
"KeyToMultiValue",
|
|
142
|
+
"LoadProfile",
|
|
143
|
+
"LoadScenario",
|
|
144
|
+
"LoadStage",
|
|
145
|
+
"LoadStep",
|
|
146
|
+
"Completion",
|
|
147
|
+
"ConversationPredicates",
|
|
148
|
+
"EmbeddingResponse",
|
|
149
|
+
"HttpLlmResponse",
|
|
150
|
+
"IsolationSource",
|
|
151
|
+
"LlmChaosProfile",
|
|
152
|
+
"LlmConversationBuilder",
|
|
153
|
+
"LlmFailoverBuilder",
|
|
154
|
+
"LlmMockBuilder",
|
|
155
|
+
"NormalizationOptions",
|
|
156
|
+
"Provider",
|
|
157
|
+
"Role",
|
|
158
|
+
"StreamingPhysics",
|
|
159
|
+
"ToolUse",
|
|
160
|
+
"TurnBuilder",
|
|
161
|
+
"Usage",
|
|
162
|
+
"completion",
|
|
163
|
+
"conversation",
|
|
164
|
+
"cookie",
|
|
165
|
+
"embedding",
|
|
166
|
+
"header",
|
|
167
|
+
"llm_failover",
|
|
168
|
+
"llm_mock",
|
|
169
|
+
"llm_response",
|
|
170
|
+
"query_parameter",
|
|
171
|
+
"streaming_physics",
|
|
172
|
+
"time_to_first_token",
|
|
173
|
+
"tool_use",
|
|
174
|
+
"usage",
|
|
175
|
+
"McpMockBuilder",
|
|
176
|
+
"McpPromptBuilder",
|
|
177
|
+
"McpResourceBuilder",
|
|
178
|
+
"McpToolBuilder",
|
|
179
|
+
"mcp_mock",
|
|
85
180
|
"MockServerCallbackError",
|
|
86
181
|
"MockServerClient",
|
|
87
182
|
"MockServerConnectionError",
|
|
@@ -92,6 +187,7 @@ __all__ = [
|
|
|
92
187
|
"OpenAPIExpectation",
|
|
93
188
|
"Ports",
|
|
94
189
|
"RequestDefinition",
|
|
190
|
+
"ResponseMode",
|
|
95
191
|
"SocketAddress",
|
|
96
192
|
"SseEvent",
|
|
97
193
|
"TimeToLive",
|
|
@@ -100,4 +196,10 @@ __all__ = [
|
|
|
100
196
|
"VerificationSequence",
|
|
101
197
|
"VerificationTimes",
|
|
102
198
|
"WebSocketMessage",
|
|
199
|
+
"MockServerProcess",
|
|
200
|
+
"bundle_base_name",
|
|
201
|
+
"cache_dir",
|
|
202
|
+
"ensure_binary",
|
|
203
|
+
"resolve_platform",
|
|
204
|
+
"start_server",
|
|
103
205
|
]
|