def test_number_and_int_fields(): f = fields.NumberField(multiple_of=10) assert f.get_definitions_and_schema() == ({}, { 'type': 'number', 'multipleOf': 10, }) check_field_schema(f) f = fields.NumberField(minimum=0, maximum=10, exclusive_minimum=True, exclusive_maximum=True) assert f.get_definitions_and_schema() == ({}, { 'type': 'number', 'exclusiveMinimum': True, 'exclusiveMaximum': True, 'minimum': 0, 'maximum': 10, }) check_field_schema(f) f = fields.NumberField(enum=(1, 2, 3)) assert f.get_definitions_and_schema() == ({}, { 'type': 'number', 'enum': [1, 2, 3], }) check_field_schema(f) f = fields.IntField() assert f.get_definitions_and_schema() == ({}, { 'type': 'integer', }) check_field_schema(f)
def test_number_and_int_fields(): f = fields.NumberField(multiple_of=10) definitions, schema = f.get_definitions_and_schema() assert normalize(schema) == { 'type': 'number', 'multipleOf': 10, } f = fields.NumberField(minimum=0, maximum=10, exclusive_minimum=True, exclusive_maximum=True) definitions, schema = f.get_definitions_and_schema() assert normalize(schema) == { 'type': 'number', 'exclusiveMinimum': True, 'exclusiveMaximum': True, 'minimum': 0, 'maximum': 10, } f = fields.NumberField(enum=(1, 2, 3)) definitions, schema = f.get_definitions_and_schema() assert normalize(schema) == { 'type': 'number', 'enum': [1, 2, 3], } f = fields.IntField() definitions, schema = f.get_definitions_and_schema() assert normalize(schema) == { 'type': 'integer', }
class ParentOne(Document): a = fields.StringField() b = fields.IntField() c = fields.NumberField() class Options(object): a = 1 b = 1 c = 1
def test_of_fields(): field_1_mock = fields.StringField() field_2_mock = fields.BooleanField() field_3_mock = fields.ArrayField(fields.IntField()) of_fields = [field_1_mock, field_2_mock, field_3_mock] f = fields.OneOfField(of_fields) _, schema = f.get_definitions_and_schema() assert normalize(schema) == {'oneOf': [f.get_schema() for f in of_fields]} f = fields.AnyOfField(of_fields) _, schema = f.get_definitions_and_schema() assert normalize(schema) == {'anyOf': [f.get_schema() for f in of_fields]} f = fields.AllOfField(of_fields) _, schema = f.get_definitions_and_schema() assert normalize(schema) == {'allOf': [f.get_schema() for f in of_fields]}