mirror of
https://github.com/correl/openapi-core.git
synced 2024-12-29 11:09:25 +00:00
56be4b10eb
Currently if valid swagger syntax is used for model composition an error will be thrown due to the lack of a type property. This was corrected by making object the default type. schema_type = schema_deref.get('type', 'object') I changed the swagger definition to test for this. Now PetCreate is a composite of PetCreatePartOne and PetCreatePartTwo. However, this caused `test_post_pets_empty_body` to fail, which turned out to be a bug in the required properties. In `_unmarshal_object` the `get_all_properties` method is called to get all properties from the subschemas. However, this is not done for required properties, meaning that only top level required properties will be correctly validated. I have added a `get_all_required_properties’ to fix this. This caused `test_get_pets` to fail. In this case the bug allowed an incorrect test case to be introduced. Pet requires `id`, but it also requires name because it inherits from PetCreate. I have fixed this test case by adding the missing required property. After these changes `test_get_pet_not_found` failed due to a string formatting error (double quotes vs single quotes). I fixed this by switching to dictionary comparisons.
104 lines
1.2 KiB
Text
104 lines
1.2 KiB
Text
# Byte-compiled / optimized / DLL files
|
|
__pycache__/
|
|
*.py[cod]
|
|
*$py.class
|
|
|
|
# C extensions
|
|
*.so
|
|
|
|
# Distribution / packaging
|
|
.Python
|
|
env/
|
|
build/
|
|
develop-eggs/
|
|
dist/
|
|
downloads/
|
|
eggs/
|
|
.eggs/
|
|
lib/
|
|
lib64/
|
|
parts/
|
|
sdist/
|
|
var/
|
|
wheels/
|
|
*.egg-info/
|
|
.installed.cfg
|
|
*.egg
|
|
|
|
# PyInstaller
|
|
# Usually these files are written by a python script from a template
|
|
# before PyInstaller builds the exe, so as to inject date/other infos into it.
|
|
*.manifest
|
|
*.spec
|
|
|
|
# Installer logs
|
|
pip-log.txt
|
|
pip-delete-this-directory.txt
|
|
|
|
# Unit test / coverage reports
|
|
htmlcov/
|
|
.tox/
|
|
.coverage
|
|
.coverage.*
|
|
.cache
|
|
nosetests.xml
|
|
coverage.xml
|
|
*.cover
|
|
.hypothesis/
|
|
|
|
# Translations
|
|
*.mo
|
|
*.pot
|
|
|
|
# Django stuff:
|
|
*.log
|
|
local_settings.py
|
|
|
|
# Flask stuff:
|
|
instance/
|
|
.webassets-cache
|
|
|
|
# Scrapy stuff:
|
|
.scrapy
|
|
|
|
# Sphinx documentation
|
|
docs/_build/
|
|
|
|
# PyBuilder
|
|
target/
|
|
|
|
# Jupyter Notebook
|
|
.ipynb_checkpoints
|
|
|
|
# pyenv
|
|
.python-version
|
|
|
|
# celery beat schedule file
|
|
celerybeat-schedule
|
|
|
|
# SageMath parsed files
|
|
*.sage.py
|
|
|
|
# dotenv
|
|
.env
|
|
|
|
# virtualenv
|
|
.venv
|
|
venv/
|
|
ENV/
|
|
|
|
# Spyder project settings
|
|
.spyderproject
|
|
.spyproject
|
|
|
|
# Rope project settings
|
|
.ropeproject
|
|
|
|
# mkdocs documentation
|
|
/site
|
|
|
|
# mypy
|
|
.mypy_cache/
|
|
|
|
# Jetbrains project files
|
|
.idea/
|