Подтвердите ответ OpenAPI с помощью dredd - PullRequest
1 голос
/ 19 марта 2019

У меня есть файл спецификации OpenAPI v3 со следующим (показаны только фрагменты):

paths:
  /global/name:
    get:
    description: Some description
    tags:
      - Global settings
    operationId: getGlobalSettingsName
    responses:
      # Response code
      '200':
        description: Successful response
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/globalSettingsName'

components:
  schemas:
    globalSettingsName:
      type: object
      properties:
        name:
          type: integer
          description: 'ID'
          example: 1
      required:
        - name

, но ответ сервера:

{
  "name": "somestring"
}

Обратите внимание, что тип свойства name - integer и в ответе сервера это string (специально), но dredd запрос проходит (успешно).

Не dredd не проверяет типы свойств ответа?

Я переопределил ответ следующим образом: string (не JSON):

responses:
    # Response code
    '200':
      description: Successful response
      content:
        application/json:
          schema:
            type: string

и dredd тоже не жалуются.

Я даже изменил свойство схемы:

    globalSettingsName:
      type: object
      properties:
        www:
          type: string
          description: 'some description'
          example: 'somestring'
      required:
        - www

И такой же (успешный) результат, когда ожидается сбой.

Разве эти проверки не поддерживаются dredd?Я неправильно использую спецификации?

1 Ответ

1 голос
/ 19 марта 2019

В результате текущая версия (8.0.5) поддерживает только пример значения в содержимом: https://github.com/apiaryio/dredd/issues/1281

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...