8000 add test for encoding an integer field; catches format regression · core-api/python-openapi-codec@9e11a71 · GitHub
[go: up one dir, main page]

Skip to content
This repository was archived by the owner on Mar 18, 2019. It is now read-only.

Commit 9e11a71

Browse files
committed
add test for encoding an integer field; catches format regression
1 parent 00b0b0e commit 9e11a71

File tree

2 files changed

+23
-1
lines changed

2 files changed

+23
-1
lines changed

openapi_codec/encode.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,7 @@ def _get_field_type(field):
129129

130130

131131
def _get_field_format(field):
132-
return field.schema and field.schema.format
132+
return field.schema and getattr(field.schema, 'format', None)
133133

134134

135135
def _get_parameters(link, encoding):

tests/test_encode.py

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,3 +129,25 @@ def test_expected_fields(self):
129129
'format': 'date'
130130
}
131131
self.assertEquals(self.swagger[0], expected)
132+
133+
134+
class TestIntegerField(TestCase):
135+
def setUp(self):
136+
self.field = coreapi.Field(
137+
name='page',
138+
required=True,
139+
location='query',
140+
schema=coreschema.Integer(description='A page number.')
141+
)
142+
self.swagger = _get_parameters(coreapi.Link(fields=[self.field]), encoding='')
143+
144+
def test_expected_fields(self):
145+
self.assertEquals(len(self.swagger), 1)
146+
expected = {
147+
'name': self.field.name,
148+
'required': self.field.required,
149+
'in': 'query',
150+
'description': self.field.schema.description,
151+
'type': 'integer'
152+
}
153+
self.assertEquals(self.swagger[0], expected)

0 commit comments

Comments
 (0)
0