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