def test_default(self): t = datetime.strptime('2013-10-07T22:58:40', '%Y-%m-%dT%H:%M:%S').time() field = TimeField(required=True, default=t) field.validate() self.assertEqual(field.to_python(), t) self.assertEqual(field.to_native(), '22:58:40') field = TimeField(required=True, default='22:58:40') field.validate() self.assertEqual(field.to_python(), t) self.assertEqual(field.to_native(), '22:58:40')
def test_set_value_string(self): field = TimeField(required=True) field.set_value('22:00:40') field.validate() self.assertEqual( field.to_python(), datetime.strptime('2013-10-07T22:00:40', '%Y-%m-%dT%H:%M:%S').time()) self.assertEqual(field.to_native(), '22:00:40')
def test_set_value(self): t = datetime.strptime('2013-10-07T22:58:40', '%Y-%m-%dT%H:%M:%S').time() field = TimeField(required=True) field.set_value(t) field.validate() self.assertIsInstance(field.to_python(), time) self.assertEqual(field.to_python(), t) self.assertEqual(field.to_native(), '22:58:40')
class MySerializer(Serializer): class MyNestSerializer(Serializer): name = StringField(required=True) id = IntegerField(required=True, identity=True) _type = TypeField('test_object') id = IntegerField(required=True, identity=True) name = StringField(required=True) date_var = DateField(required=True, map_field='dt') time_var = TimeField(required=True, map_field='t') url = UrlField(required=True, base='http://www.base.com', default='api') nest = SerializerField(MyNestSerializer, required=True)
class TestFlatSerializer(Serializer): _type = TypeField('test_object') id = IntegerField(required=True, identity=True) name = StringField(required=True) street = StringField(required=False, on_null=HIDE_FIELD) uuid_var = UUIDField(required=True) maxmin = IntegerField(max_value=10, min_value=6, required=True) datetime_var = DatetimeField(required=True) date_var = DateField(required=True) time_var = TimeField(required=True) haus = StringField(required=True, map_field='house') url = UrlField(required=True, base='http://www.base.com', default='api') action = StringField(required=False, action_field=True)
def test_hide_on_null(self): field = TimeField(required=False, on_null=HIDE_FIELD) self.assertRaises(IgnoreField, field.to_native) self.assertIsNone(field.to_python())
def test_validate_raises(self): field = TimeField(required=True) field.set_value('time') self.assertRaises(SerializerFieldValueError, field.validate)