Skip to content

Commit a353247

Browse files
authored
Merge pull request #147 from mission-liao/feature/fix-render-no-format
Allow to render request for parameters without 'format'
2 parents c588d78 + b85cc73 commit a353247

3 files changed

Lines changed: 26 additions & 0 deletions

File tree

pyswagger/primitives/render.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -135,10 +135,14 @@ def __init__(self):
135135
# init map of generators
136136
self._map = {
137137
'integer': {
138+
'': _int_,
139+
None: _int_,
138140
'int32': _int_,
139141
'int64': _int_,
140142
},
141143
'number': {
144+
'': _float_,
145+
None: _float_,
142146
'float': _float_,
143147
'double': _float_,
144148
},

pyswagger/tests/data/v2_0/render/other/swagger.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,13 +24,19 @@
2424
}
2525
]
2626
},
27+
"float.2":{
28+
"type":"number"
29+
},
2730
"integer.1":{
2831
"type":"integer",
2932
"format":"int32",
3033
"maximum":50,
3134
"minimum":10,
3235
"multipleOf":5
3336
},
37+
"integer.2":{
38+
"type":"integer"
39+
},
3440
"enum.string":{
3541
"type":"string",
3642
"enum":[

pyswagger/tests/test_render.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,14 @@ def test_integer(self):
123123
self.assertTrue(i >= 10, 'should be greater than 10, not {0}'.format(i))
124124
self.assertTrue((i % 5) == 0, 'should be moduleable by 5, not {0}'.format(i))
125125

126+
def test_integer_without_format(self):
127+
for _ in six.moves.xrange(50):
128+
i = self.rnd.render(
129+
self.app.resolve('#/definitions/integer.2'),
130+
opt=self.rnd.default()
131+
)
132+
self.assertTrue(isinstance(i, six.integer_types), 'should be integer, not {0}'.format(i))
133+
126134
def test_float(self):
127135
for _ in six.moves.xrange(50):
128136
f = self.rnd.render(
@@ -134,6 +142,14 @@ def test_float(self):
134142
self.assertTrue(f >= 50, 'should be greater than 50, not {0}'.format(f))
135143
self.assertTrue((f % 5) == 0, 'should be moduleable by 5, not {0}'.format(f))
136144

145+
def test_float_without_format(self):
146+
for _ in six.moves.xrange(50):
147+
f = self.rnd.render(
148+
self.app.resolve('#/definitions/float.2'),
149+
opt=self.rnd.default()
150+
)
151+
self.assertTrue(isinstance(f, float), 'should be float, not {0}'.format(f))
152+
137153
def test_bool(self):
138154
b = self.rnd.render(
139155
self.app.resolve('#/definitions/bool.1'),

0 commit comments

Comments
 (0)