@@ -28,42 +28,28 @@ def test_parameters(translate_single_schema):
2828 },
2929 },
3030 }
31- assert translate_single_schema (schema ) == types .ClientSpec (
32- client_name = 'test' ,
33- cpp_namespace = 'test_namespace' ,
34- dynamic_config = '' ,
35- operations = [
36- types .Operation (
37- method = 'GET' ,
38- path = '/' ,
39- operation_id = None ,
40- parameters = [
41- types .Parameter (
42- description = 'parameter description' ,
43- raw_name = 'param' ,
44- cpp_name = 'param' ,
45- cpp_type = cpp_types .CppPrimitiveType (
46- raw_cpp_type = type_name .TypeName ('int' ),
47- user_cpp_type = None ,
48- nullable = True ,
49- json_schema = chaotic_types .Integer (
50- type = 'integer' ,
51- ),
52- validators = cpp_types .CppPrimitiveValidator (
53- prefix = 'Parameter0' ,
54- namespace = '::test_namespace::root_::get' ,
55- ),
56- ),
57- parser = 'openapi::TrivialParameter<openapi::In::kQuery, kparam, int, int>' ,
58- required = False ,
59- query_log_mode_hide = False ,
60- ),
61- ],
62- request_bodies = [],
63- responses = [],
31+ assert translate_single_schema (schema ).operations [0 ].parameters == [
32+ types .Parameter (
33+ description = 'parameter description' ,
34+ raw_name = 'param' ,
35+ cpp_name = 'param' ,
36+ cpp_type = cpp_types .CppPrimitiveType (
37+ raw_cpp_type = type_name .TypeName ('int' ),
38+ user_cpp_type = None ,
39+ nullable = True ,
40+ json_schema = chaotic_types .Integer (
41+ type = 'integer' ,
42+ ),
43+ validators = cpp_types .CppPrimitiveValidator (
44+ prefix = 'Parameter0' ,
45+ namespace = '::test_namespace::root_::get' ,
46+ ),
6447 ),
65- ],
66- )
48+ parser = 'openapi::TrivialParameter<openapi::In::kQuery, kparam, int, int>' ,
49+ required = False ,
50+ query_log_mode_hide = False ,
51+ ),
52+ ]
6753
6854
6955def test_parameters_ref (translate_single_schema ):
@@ -95,42 +81,28 @@ def test_parameters_ref(translate_single_schema):
9581 },
9682 },
9783 }
98- assert translate_single_schema (schema ) == types .ClientSpec (
99- client_name = 'test' ,
100- cpp_namespace = 'test_namespace' ,
101- dynamic_config = '' ,
102- operations = [
103- types .Operation (
104- method = 'GET' ,
105- path = '/' ,
106- operation_id = None ,
107- parameters = [
108- types .Parameter (
109- description = 'parameter description' ,
110- raw_name = 'param' ,
111- cpp_name = 'param' ,
112- cpp_type = cpp_types .CppPrimitiveType (
113- raw_cpp_type = type_name .TypeName ('int' ),
114- user_cpp_type = None ,
115- nullable = True ,
116- json_schema = chaotic_types .Integer (
117- type = 'integer' ,
118- ),
119- validators = cpp_types .CppPrimitiveValidator (
120- prefix = 'ParameterParameter' ,
121- namespace = '::test_namespace' ,
122- ),
123- ),
124- parser = 'openapi::TrivialParameter<openapi::In::kQuery, kparam, int, int>' ,
125- required = False ,
126- query_log_mode_hide = False ,
127- ),
128- ],
129- request_bodies = [],
130- responses = [],
84+ assert translate_single_schema (schema ).operations [0 ].parameters == [
85+ types .Parameter (
86+ description = 'parameter description' ,
87+ raw_name = 'param' ,
88+ cpp_name = 'param' ,
89+ cpp_type = cpp_types .CppPrimitiveType (
90+ raw_cpp_type = type_name .TypeName ('int' ),
91+ user_cpp_type = None ,
92+ nullable = True ,
93+ json_schema = chaotic_types .Integer (
94+ type = 'integer' ,
95+ ),
96+ validators = cpp_types .CppPrimitiveValidator (
97+ prefix = 'ParameterParameter' ,
98+ namespace = '::test_namespace' ,
99+ ),
131100 ),
132- ],
133- )
101+ parser = 'openapi::TrivialParameter<openapi::In::kQuery, kparam, int, int>' ,
102+ required = False ,
103+ query_log_mode_hide = False ,
104+ ),
105+ ]
134106
135107
136108def test_parameters_schemas_ref (translate_single_schema ):
@@ -320,3 +292,30 @@ def test_parameters_too_complex_schema(translate_single_schema):
320292Unsupported parameter type for parameter "param"
321293==============================================================="""
322294 )
295+
296+
297+ def test_dash_in_name (translate_single_schema ):
298+ schema = {
299+ 'openapi' : '3.0.0' ,
300+ 'info' : {'title' : '' , 'version' : '1.0' },
301+ 'paths' : {
302+ '/{a-b-c}' : {
303+ 'get' : {
304+ 'parameters' : [
305+ {
306+ 'in' : 'path' ,
307+ 'name' : 'a-b-c' ,
308+ 'description' : 'parameter description' ,
309+ 'schema' : {
310+ 'type' : 'integer' ,
311+ },
312+ },
313+ ],
314+ 'responses' : {},
315+ },
316+ },
317+ },
318+ }
319+ spec = translate_single_schema (schema )
320+ assert spec .operations [0 ].parameters [0 ].raw_name == 'a_b_c'
321+ assert spec .operations [0 ].path == '/{a_b_c}'
0 commit comments