@@ -0,0 +1,1020 @@
1+openapi: 3.0.0
2+servers:
3+ - url: 'http://localhost:1080/'
4+ - url: 'https://localhost:1080/'
5+info:
6+ title: MockServer API
7+ version: 5.13.x
8+ description: >-
9+ 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).
10+
11+
12+ 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).
13+
14+
15+ 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.
16+ license:
17+ url: 'https://github.com/mock-server/mockserver/blob/master/LICENSE.md'
18+ name: Apache 2.0
19+tags:
20+ - name: expectation
21+ description: Create or update expectations - updates if the id matches an existing expecations (only supported by MockServer)
22+ - name: verify
23+ description: Verify requests (both MockServer & MockServer Proxy)
24+ - name: control
25+ description: Manage state or process (both MockServer & MockServer Proxy)
26+
27+paths:
28+ /mockserver/expectation:
29+ put:
30+ tags:
31+ - expectation
32+ summary: create expectation
33+ responses:
34+ '201':
35+ description: expectations created
36+ content:
37+ application/json:
38+ schema:
39+ description: "list of upserted expectations"
40+ type: array
41+ additionalProperties: false
42+ items:
43+ $ref: "#/components/schemas/Expectation"
44+ '400':
45+ description: incorrect request format
46+ '406':
47+ description: invalid expectation
48+ requestBody:
49+ content:
50+ application/json:
51+ schema:
52+ $ref: "#/components/schemas/Expectations"
53+ description: expectation(s) to create
54+ required: true
55+ /mockserver/openapi:
56+ put:
57+ tags:
58+ - expectation
59+ summary: create expectations from OpenAPI or Swagger
60+ responses:
61+ '201':
62+ description: expectations created
63+ content:
64+ application/json:
65+ schema:
66+ description: "list of upserted expectations"
67+ type: array
68+ additionalProperties: false
69+ items:
70+ $ref: "#/components/schemas/Expectation"
71+ '400':
72+ description: incorrect request format
73+ '406':
74+ description: invalid expectation
75+ requestBody:
76+ content:
77+ application/json:
78+ schema:
79+ $ref: "#/components/schemas/OpenAPIExpectations"
80+ description: expectation(s) to create
81+ required: true
82+ /mockserver/clear:
83+ put:
84+ tags:
85+ - control
86+ summary: clears expectations and recorded requests that match the request matcher
87+ responses:
88+ '200':
89+ description: expectations and recorded requests cleared
90+ '400':
91+ description: incorrect request format
92+ parameters:
93+ - in: query
94+ name: type
95+ schema:
96+ type: string
97+ enum: ["all", "log", "expectations"]
98+ default: "all"
99+ required: false
100+ description: specifies the type of information to clear, default if not specified is "all", supported values are "all", "log", "expectations"
101+ requestBody:
102+ content:
103+ application/json:
104+ schema:
105+ oneOf:
106+ - $ref: "#/components/schemas/RequestDefinition"
107+ - $ref: "#/components/schemas/ExpectationId"
108+ description: request used to match expectations and recored requests to clear
109+ /mockserver/reset:
110+ put:
111+ tags:
112+ - control
113+ summary: clears all expectations and recorded requests
114+ responses:
115+ '200':
116+ description: expectations and recorded requests cleared
117+ /mockserver/retrieve:
118+ put:
119+ tags:
120+ - control
121+ summary: retrieve recorded requests, active expectations, recorded expectations or log messages
122+ parameters:
123+ - in: query
124+ name: format
125+ schema:
126+ type: string
127+ enum: [ "java", "json", "log_entries" ]
128+ required: false
129+ description: changes response format, default if not specificed is "json", supported values are "java", "json", "log_entries"
130+ - in: query
131+ name: type
132+ schema:
133+ type: string
134+ enum: [ "logs", "requests", "request_responses", "recorded_expectations", "active_expectations" ]
135+ required: false
136+ description: specifies the type of object that is retrieve, default if not specified is "requests", supported values are "logs", "requests", "recorded_expectations", "active_expectations"
137+ responses:
138+ '200':
139+ description: recorded requests or active expectations returned
140+ content:
141+ application/json:
142+ schema:
143+ oneOf:
144+ - type: array
145+ additionalProperties: false
146+ items:
147+ $ref: "#/components/schemas/Expectation"
148+ - type: array
149+ additionalProperties: false
150+ items:
151+ $ref: "#/components/schemas/HttpRequest"
152+ - type: array
153+ additionalProperties: false
154+ items:
155+ $ref: "#/components/schemas/HttpRequestAndHttpResponse"
156+ application/java:
157+ schema:
158+ type: string
159+ description: Java code for the list of either Expectations or HttpResponses
160+ text/plain:
161+ schema:
162+ type: string
163+ description: List of recorded log messages
164+ '400':
165+ description: incorrect request format
166+ requestBody:
167+ content:
168+ application/json:
169+ schema:
170+ $ref: "#/components/schemas/RequestDefinition"
171+ description: >-
172+ request used to match which recorded requests, expectations or log messages to return, an empty body matches all requests, expectations or log messages
173+ /mockserver/verify:
174+ put:
175+ tags:
176+ - verify
177+ summary: verify a request has been received a specific number of times
178+ responses:
179+ '202':
180+ description: matching request has been received specified number of times
181+ '400':
182+ description: incorrect request format
183+ '406':
184+ description: request has not been received specified numbers of times
185+ content:
186+ text/plain:
187+ schema:
188+ type: string
189+ description: 'JUnit expected:<...> but was:<...> format'
190+ requestBody:
191+ content:
192+ application/json:
193+ schema:
194+ $ref: "#/components/schemas/Verification"
195+ description: request matcher and the number of times to match
196+ required: true
197+ /mockserver/verifySequence:
198+ put:
199+ tags:
200+ - verify
201+ summary: verify a sequence of request has been received in the specific order
202+ responses:
203+ '202':
204+ description: request sequence has been received in specified order
205+ '400':
206+ description: incorrect request format
207+ '406':
208+ description: request sequence has not been received in specified order
209+ content:
210+ text/plain:
211+ schema:
212+ type: string
213+ description: 'JUnit expected:<...> but was:<...> format'
214+ requestBody:
215+ content:
216+ application/json:
217+ schema:
218+ $ref: "#/components/schemas/VerificationSequence"
219+ description: the sequence of requests matchers
220+ required: true
221+ /mockserver/status:
222+ put:
223+ tags:
224+ - control
225+ summary: return listening ports
226+ responses:
227+ '200':
228+ description: MockServer is running and listening on the listed ports
229+ content:
230+ application/json:
231+ schema:
232+ $ref: "#/components/schemas/Ports"
233+ /mockserver/bind:
234+ put:
235+ tags:
236+ - control
237+ summary: bind additional listening ports
238+ description: only supported on Netty version
239+ responses:
240+ '200':
241+ description: >-
242+ listening on additional requested ports, note: the response ony
243+ contains ports added for the request, to list all ports use /status
244+ content:
245+ application/json:
246+ schema:
247+ $ref: "#/components/schemas/Ports"
248+ '400':
249+ description: incorrect request format
250+ '406':
251+ description: >-
252+ unable to bind to ports (i.e. already bound or JVM process doesn't
253+ have permission)
254+ requestBody:
255+ content:
256+ application/json:
257+ schema:
258+ $ref: "#/components/schemas/Ports"
259+ description: >-
260+ list of ports to bind to, where 0 indicates dynamically bind to any
261+ available port
262+ required: true
263+ /mockserver/stop:
264+ put:
265+ tags:
266+ - control
267+ summary: stop running process
268+ description: only supported on Netty version
269+ responses:
270+ '200':
271+ description: MockServer process is stopping
272+components:
273+ schemas:
274+ Expectations:
275+ description: "list of expectations"
276+ oneOf:
277+ - $ref: "#/components/schemas/Expectation"
278+ - type: array
279+ additionalProperties: false
280+ items:
281+ $ref: "#/components/schemas/Expectation"
282+ Expectation:
283+ description: "expectation"
284+ type: object
285+ additionalProperties: false
286+ properties:
287+ id:
288+ type: string
289+ priority:
290+ type: integer
291+ httpRequest:
292+ $ref: "#/components/schemas/RequestDefinition"
293+ httpResponse:
294+ $ref: "#/components/schemas/HttpResponse"
295+ httpResponseTemplate:
296+ $ref: "#/components/schemas/HttpTemplate"
297+ httpResponseClassCallback:
298+ $ref: "#/components/schemas/HttpClassCallback"
299+ httpResponseObjectCallback:
300+ $ref: "#/components/schemas/HttpObjectCallback"
301+ httpForward:
302+ $ref: "#/components/schemas/HttpForward"
303+ httpForwardTemplate:
304+ $ref: "#/components/schemas/HttpTemplate"
305+ httpForwardClassCallback:
306+ $ref: "#/components/schemas/HttpClassCallback"
307+ httpForwardObjectCallback:
308+ $ref: "#/components/schemas/HttpObjectCallback"
309+ httpOverrideForwardedRequest:
310+ $ref: "#/components/schemas/HttpOverrideForwardedRequest"
311+ httpError:
312+ $ref: "#/components/schemas/HttpError"
313+ times:
314+ $ref: "#/components/schemas/Times"
315+ timeToLive:
316+ $ref: "#/components/schemas/TimeToLive"
317+ oneOf:
318+ - required:
319+ - httpResponse
320+ - required:
321+ - httpResponseTemplate
322+ - required:
323+ - httpResponseClassCallback
324+ - required:
325+ - httpResponseObjectCallback
326+ - required:
327+ - httpForward
328+ - required:
329+ - httpForwardTemplate
330+ - required:
331+ - httpForwardClassCallback
332+ - required:
333+ - httpForwardObjectCallback
334+ - required:
335+ - httpOverrideForwardedRequest
336+ - required:
337+ - httpError
338+ ExpectationId:
339+ description: "pointer to existing expectation"
340+ type: object
341+ additionalProperties: false
342+ properties:
343+ id:
344+ type: string
345+ required:
346+ - id
347+ OpenAPIExpectations:
348+ description: "list of open api expectations"
349+ oneOf:
350+ - $ref: "#/components/schemas/OpenAPIExpectation"
351+ - type: array
352+ additionalProperties: false
353+ items:
354+ $ref: "#/components/schemas/OpenAPIExpectation"
355+ OpenAPIExpectation:
356+ description: "open api or swagger expectation"
357+ type: object
358+ additionalProperties: false
359+ properties:
360+ specUrlOrPayload:
361+ anyOf:
362+ - type: string
363+ - type: object
364+ operationsAndResponses:
365+ type: object
366+ additionalProperties:
367+ type: string
368+ required:
369+ - specUrlOrPayload
370+ RequestDefinition:
371+ description: "request definition"
372+ oneOf:
373+ - $ref: "#/components/schemas/HttpRequest"
374+ - $ref: "#/components/schemas/OpenAPIDefinition"
375+ HttpRequest:
376+ description: "request properties matcher"
377+ type: object
378+ additionalProperties: false
379+ properties:
380+ secure:
381+ type: boolean
382+ keepAlive:
383+ type: boolean
384+ method:
385+ $ref: "#/components/schemas/StringOrJsonSchema"
386+ path:
387+ $ref: "#/components/schemas/StringOrJsonSchema"
388+ pathParameters:
389+ $ref: "#/components/schemas/KeyToMultiValue"
390+ queryStringParameters:
391+ $ref: "#/components/schemas/KeyToMultiValue"
392+ body:
393+ $ref: "#/components/schemas/Body"
394+ headers:
395+ $ref: "#/components/schemas/KeyToMultiValue"
396+ cookies:
397+ $ref: "#/components/schemas/KeyToValue"
398+ socketAddress:
399+ $ref: "#/components/schemas/SocketAddress"
400+ OpenAPIDefinition:
401+ description: "open api or swagger request matcher"
402+ type: object
403+ additionalProperties: false
404+ properties:
405+ specUrlOrPayload:
406+ type: string
407+ operationId:
408+ type: string
409+ HttpResponse:
410+ description: "response to return"
411+ type: object
412+ additionalProperties: false
413+ properties:
414+ delay:
415+ $ref: "#/components/schemas/Delay"
416+ body:
417+ $ref: "#/components/schemas/BodyWithContentType"
418+ cookies:
419+ $ref: "#/components/schemas/KeyToValue"
420+ connectionOptions:
421+ $ref: "#/components/schemas/ConnectionOptions"
422+ headers:
423+ $ref: "#/components/schemas/KeyToMultiValue"
424+ statusCode:
425+ type: integer
426+ reasonPhrase:
427+ type: string
428+ HttpTemplate:
429+ description: "template to generate response / request"
430+ type: object
431+ additionalProperties: false
432+ properties:
433+ delay:
434+ $ref: "#/components/schemas/Delay"
435+ templateType:
436+ enum:
437+ - VELOCITY
438+ - JAVASCRIPT
439+ - MUSTACHE
440+ template:
441+ type: string
442+ HttpForward:
443+ description: "host and port to forward to"
444+ type: object
445+ additionalProperties: false
446+ properties:
447+ delay:
448+ $ref: "#/components/schemas/Delay"
449+ host:
450+ type: string
451+ port:
452+ type: integer
453+ scheme:
454+ enum:
455+ - HTTP
456+ - HTTPS
457+ HttpClassCallback:
458+ description: "class callback"
459+ type: object
460+ additionalProperties: false
461+ properties:
462+ delay:
463+ $ref: "#/components/schemas/Delay"
464+ callbackClass:
465+ type: string
466+ HttpObjectCallback:
467+ description: "object / method callback"
468+ type: object
469+ additionalProperties: false
470+ properties:
471+ delay:
472+ $ref: "#/components/schemas/Delay"
473+ clientId:
474+ type: string
475+ responseCallback:
476+ type: boolean
477+ HttpOverrideForwardedRequest:
478+ description: "override forwarded request"
479+ oneOf:
480+ - type: object
481+ additionalProperties: false
482+ properties:
483+ delay:
484+ "$ref": "#/components/schemas/Delay"
485+ requestOverride:
486+ "$ref": "#/components/schemas/HttpRequest"
487+ requestModifier:
488+ type: object
489+ additionalProperties: false
490+ properties:
491+ path:
492+ type: object
493+ additionalProperties: false
494+ properties:
495+ regex:
496+ type: string
497+ substitution:
498+ type: string
499+ queryStringParameters:
500+ type: object
501+ additionalProperties: false
502+ properties:
503+ add:
504+ "$ref": "#/components/schemas/KeyToMultiValue"
505+ replace:
506+ "$ref": "#/components/schemas/KeyToMultiValue"
507+ remove:
508+ type: array
509+ additionalProperties: false
510+ items:
511+ type: string
512+ headers:
513+ type: object
514+ additionalProperties: false
515+ properties:
516+ add:
517+ "$ref": "#/components/schemas/KeyToMultiValue"
518+ replace:
519+ "$ref": "#/components/schemas/KeyToMultiValue"
520+ remove:
521+ type: array
522+ additionalProperties: false
523+ items:
524+ type: string
525+ cookies:
526+ type: object
527+ additionalProperties: false
528+ properties:
529+ add:
530+ "$ref": "#/components/schemas/KeyToValue"
531+ replace:
532+ "$ref": "#/components/schemas/KeyToValue"
533+ remove:
534+ type: array
535+ additionalProperties: false
536+ items:
537+ type: string
538+ responseOverride:
539+ "$ref": "#/components/schemas/HttpResponse"
540+ responseModifier:
541+ type: object
542+ additionalProperties: false
543+ properties:
544+ headers:
545+ type: object
546+ additionalProperties: false
547+ properties:
548+ add:
549+ "$ref": "#/components/schemas/KeyToMultiValue"
550+ replace:
551+ "$ref": "#/components/schemas/KeyToMultiValue"
552+ remove:
553+ type: array
554+ additionalProperties: false
555+ items:
556+ type: string
557+ cookies:
558+ type: object
559+ additionalProperties: false
560+ properties:
561+ add:
562+ "$ref": "#/components/schemas/KeyToValue"
563+ replace:
564+ "$ref": "#/components/schemas/KeyToValue"
565+ remove:
566+ type: array
567+ additionalProperties: false
568+ items:
569+ type: string
570+ - type: object
571+ additionalProperties: false
572+ properties:
573+ delay:
574+ "$ref": "#/components/schemas/Delay"
575+ httpRequest:
576+ "$ref": "#/components/schemas/HttpRequest"
577+ httpResponse:
578+ "$ref": "#/components/schemas/HttpResponse"
579+ HttpError:
580+ description: "error behaviour"
581+ type: object
582+ additionalProperties: false
583+ properties:
584+ delay:
585+ $ref: "#/components/schemas/Delay"
586+ dropConnection:
587+ type: boolean
588+ responseBytes:
589+ type: string
590+ Times:
591+ description: "number of responses"
592+ type: object
593+ additionalProperties: false
594+ properties:
595+ remainingTimes:
596+ type: integer
597+ unlimited:
598+ type: boolean
599+ TimeToLive:
600+ description: "time expectation is valid for"
601+ type: object
602+ additionalProperties: false
603+ properties:
604+ timeUnit:
605+ enum:
606+ - DAYS
607+ - HOURS
608+ - MINUTES
609+ - SECONDS
610+ - MILLISECONDS
611+ - MICROSECONDS
612+ - NANOSECONDS
613+ timeToLive:
614+ type: integer
615+ unlimited:
616+ type: boolean
617+ KeyToMultiValue:
618+ oneOf:
619+ - type: array
620+ additionalProperties: false
621+ items:
622+ type: object
623+ additionalProperties: false
624+ properties:
625+ name:
626+ type: string
627+ values:
628+ type: array
629+ additionalProperties: false
630+ items:
631+ type: string
632+ - type: object
633+ additionalProperties: true
634+ properties:
635+ keyMatchStyle:
636+ type: string
637+ enum:
638+ - MATCHING_KEY
639+ - SUB_SET
640+ default: SUB_SET
641+ # patternProperties:
642+ # "^(?!keyMatchStyle)\\S+$":
643+ # oneOf:
644+ # - type: array
645+ # additionalProperties: false
646+ # items:
647+ # $ref: "#/components/schemas/StringOrJsonSchema"
648+ # - type: object
649+ # additionalProperties: false
650+ # properties:
651+ # parameterStyle:
652+ # type: string
653+ # enum:
654+ # - SIMPLE
655+ # - SIMPLE_EXPLODED
656+ # - LABEL
657+ # - LABEL_EXPLODED
658+ # - MATRIX
659+ # - MATRIX_EXPLODED
660+ # - FORM_EXPLODED
661+ # - FORM
662+ # - SPACE_DELIMITED_EXPLODED
663+ # - SPACE_DELIMITED
664+ # - PIPE_DELIMITED_EXPLODED
665+ # - PIPE_DELIMITED
666+ # - DEEP_OBJECT
667+ # default: ''
668+ # values:
669+ # type: array
670+ # additionalProperties: false
671+ # items:
672+ # $ref: "#/components/schemas/StringOrJsonSchema"
673+ KeyToValue:
674+ oneOf:
675+ - type: array
676+ additionalProperties: false
677+ items:
678+ type: object
679+ properties:
680+ name:
681+ type: string
682+ value:
683+ type: string
684+ - type: object
685+ additionalProperties: true
686+ # patternProperties:
687+ # "^\\S+$":
688+ # $ref: "#/components/schemas/StringOrJsonSchema"
689+ StringOrJsonSchema:
690+ description: "string value that can be support nottable, optional or a json schema"
691+ oneOf:
692+ - type: string
693+ - type: object
694+ additionalProperties: false
695+ properties:
696+ not:
697+ type: boolean
698+ optional:
699+ type: boolean
700+ value:
701+ type: string
702+ schema:
703+ $ref: http://json-schema.org/draft-04/schema
704+ parameterStyle:
705+ type: string
706+ enum:
707+ - SIMPLE
708+ - SIMPLE_EXPLODED
709+ - LABEL
710+ - LABEL_EXPLODED
711+ - MATRIX
712+ - MATRIX_EXPLODED
713+ - FORM_EXPLODED
714+ - FORM
715+ - SPACE_DELIMITED_EXPLODED
716+ - SPACE_DELIMITED
717+ - PIPE_DELIMITED_EXPLODED
718+ - PIPE_DELIMITED
719+ - DEEP_OBJECT
720+ SocketAddress:
721+ description: "remote address to send request to, only used for request overrides"
722+ type: object
723+ additionalProperties: false
724+ properties:
725+ host:
726+ type: string
727+ port:
728+ type: integer
729+ scheme:
730+ enum:
731+ - HTTP
732+ - HTTPS
733+ Body:
734+ description: "request body matcher"
735+ anyOf:
736+ - type: object
737+ description: "binary body matcher"
738+ additionalProperties: false
739+ properties:
740+ not:
741+ type: boolean
742+ type:
743+ enum:
744+ - BINARY
745+ base64Bytes:
746+ type: string
747+ contentType:
748+ type: string
749+ - type: object
750+ description: "json body matcher"
751+ additionalProperties: false
752+ properties:
753+ not:
754+ type: boolean
755+ type:
756+ enum:
757+ - JSON
758+ json:
759+ type: string
760+ contentType:
761+ type: string
762+ matchType:
763+ enum:
764+ - STRICT
765+ - ONLY_MATCHING_FIELDS
766+ - type: object
767+ description: "json matching fields body matcher"
768+ additionalProperties: true
769+ - type: object
770+ description: "json schema body matcher"
771+ additionalProperties: false
772+ properties:
773+ not:
774+ type: boolean
775+ type:
776+ enum:
777+ - JSON_SCHEMA
778+ jsonSchema:
779+ $ref: http://json-schema.org/draft-04/schema
780+ - type: object
781+ description: "JSON path body matcher"
782+ additionalProperties: false
783+ properties:
784+ not:
785+ type: boolean
786+ type:
787+ enum:
788+ - JSON_PATH
789+ jsonPath:
790+ type: string
791+ - type: object
792+ description: "parameter body matcher"
793+ additionalProperties: false
794+ properties:
795+ not:
796+ type: boolean
797+ type:
798+ enum:
799+ - PARAMETERS
800+ parameters:
801+ $ref: "#/components/schemas/KeyToMultiValue"
802+ - type: object
803+ description: "regex body matcher"
804+ additionalProperties: false
805+ properties:
806+ not:
807+ type: boolean
808+ type:
809+ enum:
810+ - REGEX
811+ regex:
812+ type: string
813+ - type: object
814+ description: "string body matcher"
815+ additionalProperties: false
816+ properties:
817+ not:
818+ type: boolean
819+ type:
820+ enum:
821+ - STRING
822+ string:
823+ type: string
824+ contentType:
825+ type: string
826+ subString:
827+ type: boolean
828+ - type: string
829+ description: "substring body matcher"
830+ - type: object
831+ description: "xml body matcher"
832+ additionalProperties: false
833+ properties:
834+ not:
835+ type: boolean
836+ type:
837+ enum:
838+ - XML
839+ xml:
840+ type: string
841+ contentType:
842+ type: string
843+ - type: object
844+ description: "xml schema body matcher"
845+ additionalProperties: false
846+ properties:
847+ not:
848+ type: boolean
849+ type:
850+ enum:
851+ - XML_SCHEMA
852+ xmlSchema:
853+ type: string
854+ - type: object
855+ description: "xpath body matcher"
856+ additionalProperties: false
857+ properties:
858+ not:
859+ type: boolean
860+ type:
861+ enum:
862+ - XPATH
863+ xpath:
864+ type: string
865+ BodyWithContentType:
866+ description: "response body"
867+ anyOf:
868+ - type: object
869+ description: "binary response body"
870+ additionalProperties: false
871+ properties:
872+ not:
873+ type: boolean
874+ type:
875+ enum:
876+ - BINARY
877+ base64Bytes:
878+ type: string
879+ contentType:
880+ type: string
881+ - type: object
882+ description: "json response body"
883+ additionalProperties: false
884+ properties:
885+ not:
886+ type: boolean
887+ type:
888+ enum:
889+ - JSON
890+ json:
891+ type: string
892+ contentType:
893+ type: string
894+ - type: object
895+ description: "json response body"
896+ additionalProperties: true
897+ - type: object
898+ description: "string response body"
899+ additionalProperties: false
900+ properties:
901+ not:
902+ type: boolean
903+ type:
904+ enum:
905+ - STRING
906+ string:
907+ type: string
908+ contentType:
909+ type: string
910+ - type: string
911+ description: "string response body"
912+ - type: object
913+ description: "xml response body"
914+ additionalProperties: false
915+ properties:
916+ not:
917+ type: boolean
918+ type:
919+ enum:
920+ - XML
921+ xml:
922+ type: string
923+ contentType:
924+ type: string
925+ Delay:
926+ description: "response delay"
927+ type: object
928+ additionalProperties: false
929+ properties:
930+ timeUnit:
931+ type: string
932+ value:
933+ type: integer
934+ ConnectionOptions:
935+ description: "connection options"
936+ type: object
937+ additionalProperties: false
938+ properties:
939+ suppressContentLengthHeader:
940+ type: boolean
941+ contentLengthHeaderOverride:
942+ type: integer
943+ suppressConnectionHeader:
944+ type: boolean
945+ chunkSize:
946+ type: integer
947+ keepAliveOverride:
948+ type: boolean
949+ closeSocket:
950+ type: boolean
951+ closeSocketDelay:
952+ $ref: "#/components/schemas/Delay"
953+ Verification:
954+ description: "verification"
955+ type: object
956+ additionalProperties: false
957+ properties:
958+ expectationId:
959+ $ref: "#/components/schemas/ExpectationId"
960+ httpRequest:
961+ $ref: "#/components/schemas/RequestDefinition"
962+ times:
963+ $ref: "#/components/schemas/VerificationTimes"
964+ maximumNumberOfRequestToReturnInVerificationFailure:
965+ type: integer
966+ oneOf:
967+ - required:
968+ - expectationId
969+ - required:
970+ - httpRequest
971+ VerificationTimes:
972+ description: "number of request to verify"
973+ type: object
974+ additionalProperties: false
975+ properties:
976+ atLeast:
977+ type: integer
978+ atMost:
979+ type: integer
980+ VerificationSequence:
981+ description: "verification sequence"
982+ type: object
983+ additionalProperties: false
984+ properties:
985+ expectationIds:
986+ type: array
987+ additionalProperties: false
988+ items:
989+ $ref: "#/components/schemas/ExpectationId"
990+ httpRequests:
991+ type: array
992+ items:
993+ $ref: "#/components/schemas/RequestDefinition"
994+ maximumNumberOfRequestToReturnInVerificationFailure:
995+ type: integer
996+ oneOf:
997+ - required:
998+ - expectationIds
999+ - required:
1000+ - httpRequests
1001+ Ports:
1002+ description: "list of ports"
1003+ type: object
1004+ additionalProperties: false
1005+ properties:
1006+ ports:
1007+ items:
1008+ type: number
1009+ type: array
1010+ HttpRequestAndHttpResponse:
1011+ description: "request and response"
1012+ type: object
1013+ additionalProperties: false
1014+ properties:
1015+ httpRequest:
1016+ $ref: "#/components/schemas/HttpRequest"
1017+ httpResponse:
1018+ $ref: "#/components/schemas/HttpResponse"
1019+ timestamp:
1020+ type: string