def test_set_value(self): _date = datetime.strptime('2013-10-07T22:58:40', '%Y-%m-%dT%H:%M:%S').date() field = DateField(required=True) field.set_value(_date) field.validate() self.assertIsInstance(field.to_python(), date) self.assertEqual(field.to_python(), _date) self.assertEqual(field.to_native(), '2013-10-07')
def test_set_value_string(self): field = DateField(required=True) field.set_value('2013-10-07') field.validate() self.assertEqual( field.to_python(), datetime.strptime('2013-10-07T20:15:23', '%Y-%m-%dT%H:%M:%S').date()) self.assertEqual(field.to_native(), '2013-10-07')
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 = DateField(required=False, on_null=HIDE_FIELD) self.assertRaises(IgnoreField, field.to_native) self.assertIsNone(field.to_python())
def test_validate_raises(self): field = DateField(required=True) field.set_value('date') self.assertRaises(SerializerFieldValueError, field.validate)
def test_default(self): field = DateField(required=True, default='2013-10-07') field.validate() self.assertEqual(field.to_python(), datetime.strptime('2013-10-07T20:15:23', '%Y-%m-%dT%H:%M:%S').date()) self.assertEqual(field.to_native(), '2013-10-07')