Skip to content

"schema not type of Schema" error validating object containing a string array #285

Closed
@jwfrankl

Description

@jwfrankl

I am unable to validate a response that contains an object with a property of a string array. I believe the spec is valid, it validates on the Swagger Editor.

JSON being validated
{"myarray": ["val1", "val2"]}

OpenApi Spec
{ "openapi": "3.0.0", "info": { "description": "Test validator against an array of strings", "title": "Array of strings schema", "version": "1.0" }, "servers": [{ "url": "http://localhost/unitTest" } ], "paths": { "/stringarray": { "get": { "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "allOf": [{ "$ref": "#/components/schemas/stringarrayobject" } ] } } } } } } } }, "components": { "schemas": { "stringarrayobject": { "type": "object", "properties": { "myarray": { "allOf": [{ "$ref": "#/components/schemas/stringarray" } ] } } }, "stringarray": { "type": "array", "items": { "allOf": [{ "maxLength": 255, "type": "string", "description": "Mock content filter" } ] } } } } }

Stack Trace
File "/home/franklij/.pyenv/versions/3.7.0/lib/python3.7/site-packages/openapi_core/validation/response/validators.py", line 33, in validate
data, data_errors = self._get_data(response, operation_response)
File "/home/franklij/.pyenv/versions/3.7.0/lib/python3.7/site-packages/openapi_core/validation/response/validators.py", line 93, in _get_data
data = self._unmarshal(media_type, casted)
File "/home/franklij/.pyenv/versions/3.7.0/lib/python3.7/site-packages/openapi_core/validation/response/validators.py", line 115, in _unmarshal
param_or_media_type, value, context=UnmarshalContext.RESPONSE,
File "/home/franklij/.pyenv/versions/3.7.0/lib/python3.7/site-packages/openapi_core/validation/validators.py", line 53, in _unmarshal
return unmarshaller(value)
File "/home/franklij/.pyenv/versions/3.7.0/lib/python3.7/site-packages/openapi_core/unmarshalling/schemas/unmarshallers.py", line 264, in call
return unmarshaller(value)
File "/home/franklij/.pyenv/versions/3.7.0/lib/python3.7/site-packages/openapi_core/unmarshalling/schemas/unmarshallers.py", line 49, in call
return self.unmarshal(value)
File "/home/franklij/.pyenv/versions/3.7.0/lib/python3.7/site-packages/openapi_core/unmarshalling/schemas/unmarshallers.py", line 169, in unmarshal
return self._unmarshal_object(value)
File "/home/franklij/.pyenv/versions/3.7.0/lib/python3.7/site-packages/openapi_core/unmarshalling/schemas/unmarshallers.py", line 190, in _unmarshal_object
properties = self._unmarshal_properties(value)
File "/home/franklij/.pyenv/versions/3.7.0/lib/python3.7/site-packages/openapi_core/unmarshalling/schemas/unmarshallers.py", line 234, in _unmarshal_properties
prop)(prop_value)
File "/home/franklij/.pyenv/versions/3.7.0/lib/python3.7/site-packages/openapi_core/unmarshalling/schemas/unmarshallers.py", line 264, in call
return unmarshaller(value)
File "/home/franklij/.pyenv/versions/3.7.0/lib/python3.7/site-packages/openapi_core/unmarshalling/schemas/unmarshallers.py", line 148, in call
return list(map(self.items_unmarshaller, value))
File "/home/franklij/.pyenv/versions/3.7.0/lib/python3.7/site-packages/openapi_core/unmarshalling/schemas/unmarshallers.py", line 143, in items_unmarshaller
return self.unmarshallers_factory.create(self.schema.items)
File "/home/franklij/.pyenv/versions/3.7.0/lib/python3.7/site-packages/openapi_core/unmarshalling/schemas/factories.py", line 48, in create
raise TypeError("schema not type of Schema")

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions