MockServer verify API
Verify requests (both MockServer & MockServer Proxy)
Documentation
Documentation
https://www.mock-server.com/
GettingStarted
https://www.mock-server.com/mock_server/getting_started.html
Verify requests (both MockServer & MockServer Proxy)
openapi: 3.0.0
info:
title: MockServer control verify API
version: 5.15.x
description: '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).
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).
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.'
license:
url: https://github.com/mock-server/mockserver/blob/master/LICENSE.md
name: Apache 2.0
servers:
- url: http://localhost:1080/
- url: https://localhost:1080/
tags:
- name: verify
description: Verify requests (both MockServer & MockServer Proxy)
paths:
/mockserver/verify:
put:
tags:
- verify
summary: verify a request has been received a specific number of times
responses:
'202':
description: matching request has been received specified number of times
'400':
description: incorrect request format
'406':
description: request has not been received specified numbers of times
content:
text/plain:
schema:
type: string
description: JUnit expected:<...> but was:<...> format
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Verification'
description: request matcher and the number of times to match
required: true
/mockserver/verifySequence:
put:
tags:
- verify
summary: verify a sequence of request has been received in the specific order
responses:
'202':
description: request sequence has been received in specified order
'400':
description: incorrect request format
'406':
description: request sequence has not been received in specified order
content:
text/plain:
schema:
type: string
description: JUnit expected:<...> but was:<...> format
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/VerificationSequence'
description: the sequence of requests matchers
required: true
components:
schemas:
OpenAPIDefinition:
description: open api or swagger request matcher
type: object
additionalProperties: false
properties:
specUrlOrPayload:
type: string
operationId:
type: string
ExpectationId:
description: pointer to existing expectation
type: object
additionalProperties: false
properties:
id:
type: string
required:
- id
SocketAddress:
description: remote address to send request to, only used for request overrides
type: object
additionalProperties: false
properties:
host:
type: string
port:
type: integer
scheme:
enum:
- HTTP
- HTTPS
KeyToMultiValue:
oneOf:
- type: array
additionalProperties: false
items:
type: object
additionalProperties: false
properties:
name:
type: string
values:
type: array
additionalProperties: false
items:
type: string
- type: object
additionalProperties: true
properties:
keyMatchStyle:
type: string
enum:
- MATCHING_KEY
- SUB_SET
default: SUB_SET
KeyToValue:
oneOf:
- type: array
additionalProperties: false
items:
type: object
properties:
name:
type: string
value:
type: string
- type: object
additionalProperties: true
StringOrJsonSchema:
description: string value that can be support nottable, optional or a json schema
oneOf:
- type: string
- type: object
additionalProperties: false
properties:
not:
type: boolean
optional:
type: boolean
value:
type: string
schema:
$ref: http://json-schema.org/draft-04/schema
parameterStyle:
type: string
enum:
- SIMPLE
- SIMPLE_EXPLODED
- LABEL
- LABEL_EXPLODED
- MATRIX
- MATRIX_EXPLODED
- FORM_EXPLODED
- FORM
- SPACE_DELIMITED_EXPLODED
- SPACE_DELIMITED
- PIPE_DELIMITED_EXPLODED
- PIPE_DELIMITED
- DEEP_OBJECT
VerificationTimes:
description: number of request to verify
type: object
additionalProperties: false
properties:
atLeast:
type: integer
atMost:
type: integer
VerificationSequence:
description: verification sequence
type: object
additionalProperties: false
properties:
expectationIds:
type: array
additionalProperties: false
items:
$ref: '#/components/schemas/ExpectationId'
httpRequests:
type: array
items:
$ref: '#/components/schemas/RequestDefinition'
maximumNumberOfRequestToReturnInVerificationFailure:
type: integer
oneOf:
- required:
- expectationIds
- required:
- httpRequests
RequestDefinition:
description: request definition
oneOf:
- $ref: '#/components/schemas/HttpRequest'
- $ref: '#/components/schemas/OpenAPIDefinition'
Verification:
description: verification
type: object
additionalProperties: false
properties:
expectationId:
$ref: '#/components/schemas/ExpectationId'
httpRequest:
$ref: '#/components/schemas/RequestDefinition'
times:
$ref: '#/components/schemas/VerificationTimes'
maximumNumberOfRequestToReturnInVerificationFailure:
type: integer
oneOf:
- required:
- expectationId
- required:
- httpRequest
HttpRequest:
description: request properties matcher
type: object
additionalProperties: false
properties:
secure:
type: boolean
keepAlive:
type: boolean
method:
$ref: '#/components/schemas/StringOrJsonSchema'
path:
$ref: '#/components/schemas/StringOrJsonSchema'
pathParameters:
$ref: '#/components/schemas/KeyToMultiValue'
queryStringParameters:
$ref: '#/components/schemas/KeyToMultiValue'
body:
$ref: '#/components/schemas/Body'
headers:
$ref: '#/components/schemas/KeyToMultiValue'
cookies:
$ref: '#/components/schemas/KeyToValue'
socketAddress:
$ref: '#/components/schemas/SocketAddress'
protocol:
$ref: '#/components/schemas/Protocol'
Protocol:
description: protocol matcher
enum:
- HTTP_1_1
- HTTP_2
Body:
description: request body matcher
anyOf:
- type: object
description: binary body matcher
additionalProperties: false
properties:
not:
type: boolean
type:
enum:
- BINARY
base64Bytes:
type: string
contentType:
type: string
- type: object
description: json body matcher
additionalProperties: false
properties:
not:
type: boolean
type:
enum:
- JSON
json:
type: string
contentType:
type: string
matchType:
enum:
- STRICT
- ONLY_MATCHING_FIELDS
- type: object
description: json matching fields body matcher
additionalProperties: true
- type: object
description: json schema body matcher
additionalProperties: false
properties:
not:
type: boolean
type:
enum:
- JSON_SCHEMA
jsonSchema:
$ref: http://json-schema.org/draft-04/schema
- type: object
description: JSON path body matcher
additionalProperties: false
properties:
not:
type: boolean
type:
enum:
- JSON_PATH
jsonPath:
type: string
- type: object
description: parameter body matcher
additionalProperties: false
properties:
not:
type: boolean
type:
enum:
- PARAMETERS
parameters:
$ref: '#/components/schemas/KeyToMultiValue'
- type: object
description: regex body matcher
additionalProperties: false
properties:
not:
type: boolean
type:
enum:
- REGEX
regex:
type: string
- type: object
description: string body matcher
additionalProperties: false
properties:
not:
type: boolean
type:
enum:
- STRING
string:
type: string
contentType:
type: string
subString:
type: boolean
- type: string
description: substring body matcher
- type: object
description: xml body matcher
additionalProperties: false
properties:
not:
type: boolean
type:
enum:
- XML
xml:
type: string
contentType:
type: string
- type: object
description: xml schema body matcher
additionalProperties: false
properties:
not:
type: boolean
type:
enum:
- XML_SCHEMA
xmlSchema:
type: string
- type: object
description: xpath body matcher
additionalProperties: false
properties:
not:
type: boolean
type:
enum:
- XPATH
xpath:
type: string