Skip to content

Commit 260ad6b

Browse files
Merge pull request #30 from JamalZeynalov/add_headers_support
Add headers support
2 parents 0c55656 + 595edd2 commit 260ad6b

File tree

4 files changed

+29
-10
lines changed

4 files changed

+29
-10
lines changed

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
setup(
77
name="swagger-coverage",
8-
version="3.4.0",
8+
version="3.5.0",
99
author="Jamal Zeinalov",
1010
author_email="[email protected]",
1111
description='Python adapter for "swagger-coverage" tool',

swagger_coverage_py/results_writers/base_schemas_manager.py

Lines changed: 18 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ def __init__(self, uri: URI, response: Response, kwargs: dict, method: str = Non
1717
self._uri = uri
1818
self._method = method
1919
self._response: Response = response
20-
self.__other_request_params = kwargs
20+
self._other_request_params = kwargs
2121

2222
def _get_path_params(self) -> list:
2323
params_ = []
@@ -96,26 +96,37 @@ def _get_body_params(self):
9696

9797
return request_body
9898

99-
def _get_query_params(self) -> list:
100-
q_params = list(self.__other_request_params.get("params", {}).items())
99+
def _get_other_request_params(self, params_key: str, params_in: str) -> list:
100+
prams_raw = self._other_request_params.get(params_key, {})
101+
if prams_raw:
102+
params = list(prams_raw.items())
103+
else:
104+
params = []
105+
101106
raw = self._uri.raw.split("?")
102107
if len(raw) > 1:
103-
q_params += [tuple(x.split("=")) for x in str(raw[1]).split("&")]
104-
if not q_params:
108+
params += [tuple(x.split("=")) for x in str(raw[1]).split("&")]
109+
if not params:
105110
return []
106111

107112
params_ = []
108-
for key, value in q_params:
113+
for key, value in params:
109114
params_.append(
110115
{
111116
"name": key,
112-
"in": "query",
117+
"in": params_in,
113118
"required": False,
114119
"x-example": urllib.parse.unquote(str(value)),
115120
}
116121
)
117122
return params_
118123

124+
def _get_query_params(self) -> list:
125+
return self._get_other_request_params(params_key="params", params_in="query")
126+
127+
def _get_header_params(self) -> list:
128+
return self._get_other_request_params(params_key="headers", params_in="header")
129+
119130
def __get_output_subdir(self):
120131
return re.match(r"(^\w*)://(.*)", self._uri.host).group(2)
121132

swagger_coverage_py/results_writers/openapi_schemas_manager.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,15 @@ def __init__(self, uri: URI, method: str, response: Response, kwargs: dict):
1111

1212
def _paths(self):
1313
path_ = self._uri.raw.split("?")[0]
14+
params = (
15+
self._get_path_params()
16+
+ self._get_query_params()
17+
+ self._get_header_params()
18+
)
1419
dict_ = {
1520
path_: {
1621
self._method: {
17-
"parameters": self._get_path_params() + self._get_query_params(),
22+
"parameters": params,
1823
"responses": {self._response.status_code: {}},
1924
}
2025
}

swagger_coverage_py/results_writers/swagger_schemas_manager.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,10 @@ def __produces(self) -> list:
2929
def _paths(self):
3030
path_ = self._uri.raw.split("?")[0]
3131
params = (
32-
self._get_path_params() + self._get_query_params() + self._get_body_params()
32+
self._get_path_params()
33+
+ self._get_query_params()
34+
+ self._get_body_params()
35+
+ self._get_header_params()
3336
)
3437
dict_ = {
3538
path_: {

0 commit comments

Comments
 (0)