def test_datetime_field(): with pytest.raises(fields.ModelViolationError): fields.DateTime()._convert_to_model('something', 'test-value') with pytest.raises(fields.ModelViolationError): fields.DateTime()._convert_to_model(None, 'test-value') fields.Nullable(fields.DateTime())._convert_to_model(None, 'test-value') with pytest.raises(fields.ModelViolationError): fields.DateTime()._convert_from_model(None, 'test-value') fields.Nullable(fields.DateTime())._convert_from_model(None, 'test-value')
class ErrorModel(Model): topic = ErrorTopic message = fields.String() severity = fields.StringEnum(choices=ErrorSeverity.ALLOWED_VALUES, default=ErrorSeverity.ERROR) details = fields.Nullable(fields.String()) actor = fields.String() time = fields.DateTime()
def test_datetime_field(): with pytest.raises(fields.ModelViolationError): fields.DateTime()._convert_to_model('something', 'test-value') with pytest.raises(fields.ModelViolationError): fields.DateTime(required=True, allow_null=False)._convert_to_model( None, 'test-value') fields.DateTime(required=True, allow_null=True)._convert_to_model(None, 'test-value') with pytest.raises(fields.ModelViolationError): fields.DateTime(required=True, allow_null=False)._convert_from_model( None, 'test-value') fields.DateTime(required=True, allow_null=True)._convert_from_model(None, 'test-value')
class ErrorModel(Model): topic = ErrorTopic message = fields.String(required=True) severity = fields.StringEnum(required=True, choices=ErrorSeverity.ALLOWED_VALUES, default=ErrorSeverity.ERROR) details = fields.String(required=True, allow_null=True, default=None) actor = fields.String(required=True) time = fields.DateTime(required=True)
class AllFieldTypesModel(Model): topic = ModelTestTopic float_field = fields.Float(default=3.14, required=True) number_int_field = fields.Number(default=1.2, required=True) number_float_field = fields.Number(default=2, required=True) integer_field = fields.Integer(default=1, required=True) str_field = fields.String(default='string', required=True) unicode_field = fields.String(default=u'Unicode string', required=True) date_field = fields.DateTime(default=datetime.utcnow(), required=True) bool_field = fields.Boolean(default=True, required=True)