def test_constraints_maximum_valid_value_equals(self): value = 12 field = self._make_default_field(type='integer', constraints={'maximum': 12}) _type = types.IntegerType(field) self.assertEqual(_type.cast(value), value)
def test_constraints_pattern_valid_value(self): '''value is valid for pattern''' value = 789 field = self._make_default_field(type='integer', constraints={"pattern": "[7-9]{3}"}) _type = types.IntegerType(field) self.assertEqual(_type.cast(value), value)
def test_constraints_enum_valid_value(self): '''value is in enum array''' value = 5 field = self._make_default_field(type='integer', constraints={'enum': [1, 3, 5]}) _type = types.IntegerType(field) self.assertEqual(_type.cast(value), value)
def test_constraints_pattern_invalid_value(self): '''value is invalid for pattern''' value = 678 field = self._make_default_field(type='integer', constraints={"pattern": "[7-9]{3}"}) _type = types.IntegerType(field) # Can't check pattern for already cast value self.assertEqual(_type.cast(value), value)
def test_constraints_maximum_invalid_value(self): value = 12 field = self._make_default_field(type='integer', constraints={'maximum': 11}) _type = types.IntegerType(field) with pytest.raises(exceptions.ConstraintError) as e: _type.cast(value) self.assertEqual(e.value.msg, "The field 'Name' must not be more than 11")
def test_constraints_minlength_valid_value(self): '''maxLength with unsupported type''' value = 2 field = self._make_default_field(type='integer', constraints={'maxLength': 2}) _type = types.IntegerType(field) with pytest.raises(exceptions.ConstraintNotSupported) as e: _type.cast(value) self.assertEqual( e.value.msg, "Field type 'integer' does not support " "the maxLength constraint")
def test_constraints_enum_invalid_value(self): '''value is not in enum array''' value = 2 field = self._make_default_field(type='integer', constraints={'enum': [1, 3, 5]}) _type = types.IntegerType(field) with pytest.raises(exceptions.ConstraintError) as e: _type.cast(value) self.assertEqual( e.value.msg, "The value for field 'Name' " "must be in the enum array")
def test_integer_type_with_already_cast_value(self): for value in [1]: for format in ['default']: self.field['format'] = format _type = types.IntegerType(self.field) self.assertEqual(_type.cast(value), value)
def test_integer_type_simple_raises(self): value = 'string' _type = types.IntegerType(self.field) self.assertRaises(exceptions.InvalidCastError, _type.cast, value)
def test_integer_type_simple(self): value = 1 _type = types.IntegerType(self.field) self.assertEquals(_type.cast(value), value)