Skip to content

Commit 40e50d0

Browse files
Update openapi-pydantic to 0.5.0 (#319)
* Update openapi-pydantic to 0.5.0 * Update github coverage download-artifact to v2 * Update github coverage download-artifact to v4 * Update github coverage download-artifact to v3 * Fix coverage actions path * Debug GH actions * Debug GH actions step 2 * Debug GH actions step 3 * Debug GH actions step 4 * Fix GH actions related to coverage
1 parent 28c5fdb commit 40e50d0

12 files changed

+32
-33
lines changed

.github/workflows/testing.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ jobs:
4343
uses: actions/upload-artifact@v3
4444
with:
4545
name: coverage-reports
46+
include-hidden-files: true
4647
path: ".coverage.${{ matrix.python-version }}"
4748

4849
coverage-check:
@@ -59,9 +60,10 @@ jobs:
5960
run: |
6061
pip3 install coverage==7.2.3
6162
- name: Download coverage reports
62-
uses: actions/download-artifact@v1
63+
uses: actions/download-artifact@v3
6364
with:
6465
name: coverage-reports
66+
path: coverage-reports
6567
- name: Combine reports
6668
run: |
6769
coverage combine coverage-reports

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@ All notable changes to this project will be documented in this file.
44
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
55
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
66

7+
## [28.0.0] - 2024-11-05
8+
- Update to openapi-pydantic 0.5.0
9+
710
## [26.0.1] - 2024-08-15
811
- Remove unexpected openapi attributes from path and query parameters
912

pyproject.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[tool.poetry]
22
name = "winter"
3-
version = "27.0.0"
3+
version = "28.0.0"
44
homepage = "https://github.com/WinterFramework/winter"
55
description = "Web Framework with focus on python typing, dataclasses and modular design"
66
authors = ["Alexander Egorov <[email protected]>"]
@@ -40,7 +40,7 @@ injector = ">=0.15.0, <1"
4040
SQLAlchemy = ">=1.3, <2"
4141
typing-extensions = "^4.8"
4242
StrEnum = "^0.4.8"
43-
openapi-pydantic = ">=0.4.1, <1"
43+
openapi-pydantic = ">=0.5.0, <0.6"
4444
pydantic = ">=1.10, <2"
4545
openapi-spec-validator = ">=0.5.7, <1"
4646
uritemplate = ">=4.1.1, <5"

tests/winter_openapi/test_add_url_segment_as_tag.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ def get_resource(self): # pragma: no cover
2222
assert result == {
2323
'components': {'parameters': {}, 'responses': {}, 'schemas': {}},
2424
'info': {'description': 'description', 'title': 'title', 'version': '1.0.0'},
25-
'openapi': '3.0.3',
25+
'openapi': '3.0.4',
2626
'paths': {
2727
'/resource': {
2828
'get': {

tests/winter_openapi/test_api_request_and_response_spec.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -730,7 +730,7 @@ def method_request_body_undefined_2(self, data: DataclassWithUndefined):
730730
},
731731
},
732732
'info': {'title': 'title', 'version': '1.0.0'},
733-
'openapi': '3.0.3',
733+
'openapi': '3.0.4',
734734
'paths': {
735735
'/method_return_1/': {
736736
'get': {
@@ -985,7 +985,7 @@ def method_2(self) -> Page[str]:
985985
},
986986
},
987987
'info': {'title': 'title', 'version': '1.0.0'},
988-
'openapi': '3.0.3',
988+
'openapi': '3.0.4',
989989
'paths': {
990990
'/method_1/': {
991991
'get': {

tests/winter_openapi/test_exception_spec.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ def get_resource(self): # pragma: no cover
3131
assert result == {
3232
'components': {'parameters': {}, 'responses': {}, 'schemas': {}},
3333
'info': {'title': 'title', 'version': '1.0.0'},
34-
'openapi': '3.0.3',
34+
'openapi': '3.0.4',
3535
'paths': {
3636
'/resource': {
3737
'get': {
@@ -114,7 +114,7 @@ def get_resource(self): # pragma: no cover
114114
assert result == {
115115
'components': expected_components,
116116
'info': {'title': 'title', 'version': '1.0.0'},
117-
'openapi': '3.0.3',
117+
'openapi': '3.0.4',
118118
'paths': {
119119
'/resource': {
120120
'get': {

tests/winter_openapi/test_metadata_spec.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ def get_resource(self): # pragma: no cover
2323
assert result == {
2424
'components': {'parameters': {}, 'responses': {}, 'schemas': {}},
2525
'info': {'description': 'description', 'title': 'title', 'version': '1.0.0'},
26-
'openapi': '3.0.3',
26+
'openapi': '3.0.4',
2727
'paths': {
2828
'/resource': {
2929
'get': {

tests/winter_openapi/test_page_position_argument_spec.py

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@ def method(self, arg1: PagePosition): # pragma: no cover
2525
"allowReserved": False,
2626
"deprecated": False,
2727
"description": "Number of results to return per page",
28-
"explode": False,
2928
"in": "query",
3029
"name": "limit",
3130
"required": False,
@@ -36,7 +35,6 @@ def method(self, arg1: PagePosition): # pragma: no cover
3635
"allowReserved": False,
3736
"deprecated": False,
3837
"description": "The initial index from which to return the results",
39-
"explode": False,
4038
"in": "query",
4139
"name": "offset",
4240
"required": False,
@@ -75,7 +73,6 @@ def method(self, arg1: PagePosition): # pragma: no cover
7573
"allowReserved": False,
7674
"deprecated": False,
7775
"description": "Comma separated order by fields. Allowed fields: id.",
78-
"explode": False,
7976
"in": "query",
8077
"name": "order_by",
8178
"required": False,
@@ -96,7 +93,6 @@ def method(self, arg1: PagePosition): # pragma: no cover
9693
"allowReserved": False,
9794
"deprecated": False,
9895
"description": "Number of results to return per page",
99-
"explode": False,
10096
"in": "query",
10197
"name": "limit",
10298
"required": False,
@@ -107,7 +103,6 @@ def method(self, arg1: PagePosition): # pragma: no cover
107103
"allowReserved": False,
108104
"deprecated": False,
109105
"description": "The initial index from which to return the results",
110-
"explode": False,
111106
"in": "query",
112107
"name": "offset",
113108
"required": False,

tests/winter_openapi/test_query_and_path_parameter_spec.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -177,7 +177,6 @@ def simple_method_with_path_param(
177177
'allowEmptyValue': False,
178178
'allowReserved': False,
179179
'deprecated': False,
180-
'explode': False,
181180
'description': 'docstr',
182181
**expected_parameter_properties,
183182
}

winter_openapi/generator.py

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -14,21 +14,21 @@
1414

1515
from django.http.response import HttpResponseBase
1616
from openapi_pydantic import schema_validate
17-
from openapi_pydantic.v3.v3_0_3 import Components
18-
from openapi_pydantic.v3.v3_0_3 import Info
19-
from openapi_pydantic.v3.v3_0_3 import MediaType as MediaTypeModel
20-
from openapi_pydantic.v3.v3_0_3 import OpenAPI
21-
from openapi_pydantic.v3.v3_0_3 import Operation
22-
from openapi_pydantic.v3.v3_0_3 import Parameter
23-
from openapi_pydantic.v3.v3_0_3 import PathItem
24-
from openapi_pydantic.v3.v3_0_3 import Paths
25-
from openapi_pydantic.v3.v3_0_3 import Reference
26-
from openapi_pydantic.v3.v3_0_3 import RequestBody
27-
from openapi_pydantic.v3.v3_0_3 import Response
28-
from openapi_pydantic.v3.v3_0_3 import Responses
29-
from openapi_pydantic.v3.v3_0_3 import Schema
30-
from openapi_pydantic.v3.v3_0_3 import Server
31-
from openapi_pydantic.v3.v3_0_3 import Tag
17+
from openapi_pydantic.v3.v3_0 import Components
18+
from openapi_pydantic.v3.v3_0 import Info
19+
from openapi_pydantic.v3.v3_0 import MediaType as MediaTypeModel
20+
from openapi_pydantic.v3.v3_0 import OpenAPI
21+
from openapi_pydantic.v3.v3_0 import Operation
22+
from openapi_pydantic.v3.v3_0 import Parameter
23+
from openapi_pydantic.v3.v3_0 import PathItem
24+
from openapi_pydantic.v3.v3_0 import Paths
25+
from openapi_pydantic.v3.v3_0 import Reference
26+
from openapi_pydantic.v3.v3_0 import RequestBody
27+
from openapi_pydantic.v3.v3_0 import Response
28+
from openapi_pydantic.v3.v3_0 import Responses
29+
from openapi_pydantic.v3.v3_0 import Schema
30+
from openapi_pydantic.v3.v3_0 import Server
31+
from openapi_pydantic.v3.v3_0 import Tag
3232

3333
from winter.core import ComponentMethod
3434
from winter.web import MediaType

winter_openapi/inspectors/page_position_argument_inspector.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
from typing import List
22
from typing import TYPE_CHECKING
33

4-
from openapi_pydantic.v3.v3_0_3 import Parameter
5-
from openapi_pydantic.v3.v3_0_3 import Schema
4+
from openapi_pydantic.v3.v3_0 import Parameter
5+
from openapi_pydantic.v3.v3_0 import Schema
66

77
from winter.data.pagination import PagePosition
88
from winter.web.pagination.order_by import OrderByAnnotation

winter_openapi/inspectors/path_parameters_inspector.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
from typing import List
22
from typing import TYPE_CHECKING
33

4-
from openapi_pydantic.v3.v3_0_3 import Parameter
4+
from openapi_pydantic.v3.v3_0 import Parameter
55

66
from winter.core import ComponentMethodArgument
77
from winter.web.routing import Route

0 commit comments

Comments
 (0)