Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Response schema validation message is not clear for arrays #128

Open
ashpekvs opened this issue Apr 8, 2019 · 1 comment
Open

Response schema validation message is not clear for arrays #128

ashpekvs opened this issue Apr 8, 2019 · 1 comment
Labels
area/schema Indicates an issue on schema area kind/bug/confirmed

Comments

@ashpekvs
Copy link

ashpekvs commented Apr 8, 2019

Use case description.
Inside my schema yaml file I've specified that response from some URL handler would be an array of objects, e.g.:

      responses:
        "200":
          description: An array of provisioned Resource Records
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ResourceRecord'

I've also described what is ResourceRecord inside the same yaml file

For some reason the code returns an object, not an array
in this case the exception message from OpenAPI framework is a bit strange:

SchemaValidationError: Mimetype invalid: Value id is not of type SchemaType.OBJECT

id from error is the 1st attribute of my object (specified in yaml spec)

What is expected.
The expected error message is to complain that no array specified, array is missed, etc

@p1c2u p1c2u added area/schema Indicates an issue on schema area kind/bug/confirmed labels Oct 21, 2019
@michalmiesiak
Copy link

Hello!
I have a similar issue, but it occurs only on the newest version of openapi-core (0.13.3). I can't seem to validate any array of objects. Currently I must stick to the 0.12.0, which works perfectly but DOES NOT show errors (when a test fails) which is a bit problematic.
I would like to know if there is any horizon to fix this bug or maybe a workaround exists?

I remember that versions between 0.12.0 and 0.13.3 did not work for me neither (I can reinstall them and detail the information if needed, but first I wanted to focus on the most recent 0.13.3).

Use case description.
The object I'm trying to validate is defined as follows:

    TruckGroupsGet:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/TruckGroup'

And then:

    TruckGroup:
      allOf:
      - $ref: '#/components/schemas/TruckGroupShort'
      - type: object
        properties:
          truck_ids:
            type: array
            items:
              type: integer
          description:
            type: string
            nullable: true
          last_modified:
            type: string

And finally:

    TruckGroupShort:
      type: object
      properties:
        truck_group_id:
          type: integer
        name:
          type: string
      required:
        - name
        - truck_group_id

I had also tried removing the allOf and merging all into one object, but it did not help.

What is expected.
The object is validated correctly, just like in 0.12 and previous versions.

What is obtained
The error I get when trying to validate my array of objects says that "your array is not of type object".

openapi_core.unmarshalling.schemas.exceptions.InvalidSchemaValue: Value {'data': [{'truck_group_id': 1, 'name': 'default', 'truck_ids': [1, 3, 4, 2], 'description': None, 'last_modified': '2020-04-20T17:56:55.820577+02:00'}]} not valid for schema of type SchemaType.OBJECT: (<ValidationError: "[{'truck_group_id': 1, 'name': 'default', 'truck_ids': [1, 3, 4, 2], 'description': None, 'last_modified': '2020-04-20T17:56:55.820577+02:00'}] is not of type object">,)

I would be glad for any help! 🙏

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/schema Indicates an issue on schema area kind/bug/confirmed
Projects
None yet
Development

No branches or pull requests

3 participants