1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
//! A WireMock server container for stubbing HTTP dependencies in integration tests.
//!
//! ### Readiness — verified against a real 3.13.2 boot
//!
//! WireMock 3.x ships a dedicated `/__admin/health` endpoint (unlike some older 2.x
//! builds, where `/__admin/mappings` was the only reliable 200). Verified directly
//! against a real container:
//!
//! ```text
//! $ curl http://127.0.0.1:<port>/__admin/health
//! {"status":"healthy","message":"Wiremock is ok","version":"3.13.2","uptimeInSeconds":9,...}
//! ```
//!
//! so this module waits on that endpoint rather than falling back to
//! `/__admin/mappings`.
//!
//! No control characters were found in the image's baked env (checked via
//! `docker image inspect`), and no `with_memory_limit` override was
//! needed — the JVM boots comfortably on msb's default ~450M microVM RAM (observed
//! ~5.5s IT round-trip on msb; a small embedded-Jetty app, not a JVM-heavy cluster
//! like Pinot — no memory-ladder escalation was needed).
//!
//! This is the Rust ecosystem's missing piece too: there is no first-class
//! in-process WireMock story for Rust integration tests, so this module fills a
//! real gap.
use ;
const PORT: u16 = 8080;
/// A WireMock stub-server container.
;
/// The running guard for a [`WireMockContainer`].
;