@@ -11,36 +11,36 @@ def textify(generator):
1111 return "\n " .join (generator )
1212
1313
14- def test_render_operation (testrenderer ):
14+ def test_render_operation (testrenderer , oas_fragment ):
1515 """Usual operation definition is rendered."""
1616
1717 markup = textify (
1818 testrenderer .render_operation (
1919 "/evidences/{evidenceId}" ,
2020 "get" ,
21- {
22- "summary" : "Retrieve an evidence by ID." ,
23- "description" : "More verbose description..." ,
24- "parameters" : [
25- {
26- " name" : " evidenceId" ,
27- "in" : " path" ,
28- " required" : True ,
29- " description" : " A unique evidence identifier to query." ,
30- " schema" : { "type" : "string" },
31- },
32- {
33- "name" : "details" ,
34- "in" : "query" ,
35- "description" : "If true, information w/ details is returned." ,
36- "schema" : { " type" : " boolean" },
37- },
38- ],
39- "responses" : {
40- "200" : { "description" : "An evidence." },
41- "404" : { " description" : " An evidence not found." },
42- },
43- } ,
21+ oas_fragment (
22+ """
23+ summary: Retrieve an evidence by ID.
24+ description: More verbose description...
25+ parameters:
26+ - name: evidenceId
27+ in: path
28+ required: true
29+ description: A unique evidence identifier to query.
30+ schema:
31+ type: string
32+ - name: details
33+ in: query
34+ description: If true, information w/ details is returned.
35+ schema:
36+ type: boolean
37+ responses:
38+ '200':
39+ description: An evidence.
40+ '404':
41+ description: An evidence not found.
42+ """
43+ ) ,
4444 )
4545 )
4646 assert markup == textwrap .dedent (
@@ -65,14 +65,20 @@ def test_render_operation(testrenderer):
6565 )
6666
6767
68- def test_render_operation_minimal (testrenderer ):
68+ def test_render_operation_minimal (testrenderer , oas_fragment ):
6969 """Operation minimal definition is rendered."""
7070
7171 markup = textify (
7272 testrenderer .render_operation (
7373 "/evidences" ,
7474 "post" ,
75- {"responses" : {"201" : {"description" : "An evidence created." }}},
75+ oas_fragment (
76+ """
77+ responses:
78+ '201':
79+ description: An evidence created.
80+ """
81+ ),
7682 )
7783 )
7884 assert markup == textwrap .dedent (
@@ -85,17 +91,21 @@ def test_render_operation_minimal(testrenderer):
8591 )
8692
8793
88- def test_render_operation_summary (testrenderer ):
94+ def test_render_operation_summary (testrenderer , oas_fragment ):
8995 """Operation's 'summary' is rendered in bold."""
9096
9197 markup = textify (
9298 testrenderer .render_operation (
9399 "/evidences" ,
94100 "post" ,
95- {
96- "summary" : "Create an evidence." ,
97- "responses" : {"201" : {"description" : "An evidence created." }},
98- },
101+ oas_fragment (
102+ """
103+ summary: Create an evidence.
104+ responses:
105+ '201':
106+ description: An evidence created.
107+ """
108+ ),
99109 )
100110 )
101111 assert markup == textwrap .dedent (
@@ -110,17 +120,21 @@ def test_render_operation_summary(testrenderer):
110120 )
111121
112122
113- def test_render_operation_description (testrenderer ):
123+ def test_render_operation_description (testrenderer , oas_fragment ):
114124 """Operation's 'description' is rendered."""
115125
116126 markup = textify (
117127 testrenderer .render_operation (
118128 "/evidences" ,
119129 "post" ,
120- {
121- "description" : "Create an evidence." ,
122- "responses" : {"201" : {"description" : "An evidence created." }},
123- },
130+ oas_fragment (
131+ """
132+ description: Create an evidence.
133+ responses:
134+ '201':
135+ description: An evidence created.
136+ """
137+ ),
124138 )
125139 )
126140 assert markup == textwrap .dedent (
@@ -135,17 +149,23 @@ def test_render_operation_description(testrenderer):
135149 )
136150
137151
138- def test_render_operation_description_multiline (testrenderer ):
152+ def test_render_operation_description_multiline (testrenderer , oas_fragment ):
139153 """Operation's multiline 'description' is rendered."""
140154
141155 markup = textify (
142156 testrenderer .render_operation (
143157 "/evidences" ,
144158 "post" ,
145- {
146- "description" : "Create\n an evidence." ,
147- "responses" : {"201" : {"description" : "An evidence created." }},
148- },
159+ oas_fragment (
160+ """
161+ description: |
162+ Create
163+ an evidence.
164+ responses:
165+ '201':
166+ description: An evidence created.
167+ """
168+ ),
149169 )
150170 )
151171 assert markup == textwrap .dedent (
@@ -161,17 +181,21 @@ def test_render_operation_description_multiline(testrenderer):
161181 )
162182
163183
164- def test_render_operation_description_commonmark_default (testrenderer ):
184+ def test_render_operation_description_commonmark_default (testrenderer , oas_fragment ):
165185 """Operation's 'description' must be in commonmark by default."""
166186
167187 markup = textify (
168188 testrenderer .render_operation (
169189 "/evidences" ,
170190 "post" ,
171- {
172- "description" : "__Create__ an `evidence`." ,
173- "responses" : {"201" : {"description" : "An evidence created." }},
174- },
191+ oas_fragment (
192+ """
193+ description: __Create__ an `evidence`.
194+ responses:
195+ '201':
196+ description: An evidence created.
197+ """
198+ ),
175199 )
176200 )
177201 assert markup == textwrap .dedent (
@@ -186,18 +210,22 @@ def test_render_operation_description_commonmark_default(testrenderer):
186210 )
187211
188212
189- def test_render_operation_description_commonmark (fakestate ):
213+ def test_render_operation_description_commonmark (fakestate , oas_fragment ):
190214 """Operation's 'description' can be in commonmark."""
191215
192216 testrenderer = renderers .HttpdomainRenderer (fakestate , {"markup" : "commonmark" })
193217 markup = textify (
194218 testrenderer .render_operation (
195219 "/evidences" ,
196220 "post" ,
197- {
198- "description" : "__Create__ an `evidence`." ,
199- "responses" : {"201" : {"description" : "An evidence created." }},
200- },
221+ oas_fragment (
222+ """
223+ description: __Create__ an `evidence`.
224+ responses:
225+ '201':
226+ description: An evidence created.
227+ """
228+ ),
201229 )
202230 )
203231 assert markup == textwrap .dedent (
@@ -212,7 +240,9 @@ def test_render_operation_description_commonmark(fakestate):
212240 )
213241
214242
215- def test_render_operation_description_commonmark_restructuredtext (fakestate ):
243+ def test_render_operation_description_commonmark_restructuredtext (
244+ fakestate , oas_fragment
245+ ):
216246 """Operation's 'description' can be in restructuredtext."""
217247
218248 testrenderer = renderers .HttpdomainRenderer (
@@ -222,10 +252,14 @@ def test_render_operation_description_commonmark_restructuredtext(fakestate):
222252 testrenderer .render_operation (
223253 "/evidences" ,
224254 "post" ,
225- {
226- "description" : "__Create__ an `evidence`." ,
227- "responses" : {"201" : {"description" : "An evidence created." }},
228- },
255+ oas_fragment (
256+ """
257+ description: __Create__ an `evidence`.
258+ responses:
259+ '201':
260+ description: An evidence created.
261+ """
262+ ),
229263 )
230264 )
231265 assert markup == textwrap .dedent (
@@ -240,17 +274,21 @@ def test_render_operation_description_commonmark_restructuredtext(fakestate):
240274 )
241275
242276
243- def test_render_operation_deprecated (testrenderer ):
277+ def test_render_operation_deprecated (testrenderer , oas_fragment ):
244278 """Operation's 'deprecated' mark is rendered."""
245279
246280 markup = textify (
247281 testrenderer .render_operation (
248282 "/evidences" ,
249283 "post" ,
250- {
251- "deprecated" : True ,
252- "responses" : {"201" : {"description" : "An evidence created." }},
253- },
284+ oas_fragment (
285+ """
286+ responses:
287+ '201':
288+ description: An evidence created.
289+ deprecated: true
290+ """
291+ ),
254292 )
255293 )
256294 assert markup == textwrap .dedent (
@@ -264,21 +302,26 @@ def test_render_operation_deprecated(testrenderer):
264302 )
265303
266304
267- def test_render_operation_w_requestbody (testrenderer ):
305+ def test_render_operation_w_requestbody (testrenderer , oas_fragment ):
268306 """Operation's 'requestBody' is rendered."""
269307
270308 markup = textify (
271309 testrenderer .render_operation (
272310 "/evidences" ,
273311 "post" ,
274- {
275- "requestBody" : {
276- "content" : {
277- "application/json" : {"example" : {"foo" : "bar" , "baz" : 42 }}
278- },
279- },
280- "responses" : {"201" : {"description" : "An evidence created." }},
281- },
312+ oas_fragment (
313+ """
314+ requestBody:
315+ content:
316+ application/json:
317+ example:
318+ foo: bar
319+ baz: 42
320+ responses:
321+ '201':
322+ description: An evidence created.
323+ """
324+ ),
282325 )
283326 )
284327 assert markup == textwrap .dedent (
@@ -304,21 +347,26 @@ def test_render_operation_w_requestbody(testrenderer):
304347@pytest .mark .parametrize (
305348 ["method" ], [pytest .param ("POST" ), pytest .param ("pOst" ), pytest .param ("post" )]
306349)
307- def test_render_operation_caseinsensitive_method (testrenderer , method ):
350+ def test_render_operation_caseinsensitive_method (testrenderer , method , oas_fragment ):
308351 """Operation's 'method' is case insensitive."""
309352
310353 markup = textify (
311354 testrenderer .render_operation (
312355 "/evidences" ,
313356 method ,
314- {
315- "requestBody" : {
316- "content" : {
317- "application/json" : {"example" : {"foo" : "bar" , "baz" : 42 }}
318- },
319- },
320- "responses" : {"201" : {"description" : "An evidence created." }},
321- },
357+ oas_fragment (
358+ """
359+ requestBody:
360+ content:
361+ application/json:
362+ example:
363+ foo: bar
364+ baz: 42
365+ responses:
366+ '201':
367+ description: An evidence created.
368+ """
369+ ),
322370 )
323371 )
324372 assert markup == textwrap .dedent (
0 commit comments