|
1 |
| -import pytest |
2 |
| - |
3 | 1 | from flask.wrappers import Request, Response
|
4 | 2 | from werkzeug.datastructures import EnvironHeaders, ImmutableMultiDict
|
5 | 3 | from werkzeug.routing import Map, Rule, Subdomain
|
6 | 4 | from werkzeug.test import create_environ
|
7 | 5 |
|
8 |
| -from openapi_core.wrappers.flask import ( |
9 |
| - FlaskOpenAPIRequest, FlaskOpenAPIResponse, |
10 |
| -) |
| 6 | +import pytest |
11 | 7 | from openapi_core.shortcuts import create_spec
|
12 | 8 | from openapi_core.validation.response.validators import ResponseValidator
|
| 9 | +from openapi_core.validation.request.validators import RequestValidator |
| 10 | +from openapi_core.wrappers.flask import (FlaskOpenAPIRequest, |
| 11 | + FlaskOpenAPIResponse) |
13 | 12 |
|
14 | 13 |
|
15 | 14 | @pytest.fixture
|
@@ -81,7 +80,8 @@ def test_simple(self, request_factory, request):
|
81 | 80 | assert openapi_request.mimetype == request.mimetype
|
82 | 81 |
|
83 | 82 | def test_multiple_values(self, request_factory, request):
|
84 |
| - request = request_factory('GET', '/', subdomain='www', query_string='a=b&a=c') |
| 83 | + request = request_factory( |
| 84 | + 'GET', '/', subdomain='www', query_string='a=b&a=c') |
85 | 85 |
|
86 | 86 | openapi_request = FlaskOpenAPIRequest(request)
|
87 | 87 |
|
@@ -140,18 +140,21 @@ def test_invalid_server(self, response_factory):
|
140 | 140 | assert openapi_response.mimetype == response.mimetype
|
141 | 141 |
|
142 | 142 |
|
143 |
| -class TestFlaskOpenAPIRequestValidation(object): |
| 143 | +class TestFlaskOpenAPIValidation(object): |
144 | 144 |
|
145 | 145 | specfile = 'data/v3.0/flask_wrapper.yaml'
|
146 | 146 |
|
147 |
| - def test_response_validator_path_pattern( |
148 |
| - self, |
149 |
| - factory, |
150 |
| - request_factory, |
151 |
| - response_factory): |
| 147 | + def test_response_validator_path_pattern(self, factory, request_factory, response_factory): |
152 | 148 | validator = ResponseValidator(create_spec(factory.spec_from_file(self.specfile)))
|
153 | 149 | request = request_factory('GET', '/browse/12/', subdomain='kb')
|
154 | 150 | openapi_request = FlaskOpenAPIRequest(request)
|
155 | 151 | openapi_response = FlaskOpenAPIResponse(response_factory('Some item', status_code=200))
|
156 | 152 | result = validator.validate(openapi_request, openapi_response)
|
157 | 153 | assert not result.errors
|
| 154 | + |
| 155 | + def test_request_validator_path_pattern(self, factory, request_factory): |
| 156 | + validator = RequestValidator(create_spec(factory.spec_from_file(self.specfile))) |
| 157 | + request = request_factory('GET', '/browse/12/', subdomain='kb') |
| 158 | + openapi_request = FlaskOpenAPIRequest(request) |
| 159 | + result = validator.validate(openapi_request) |
| 160 | + assert not result.errors |
0 commit comments