[Zope-Checkins] CVS: Zope3/lib/python/Schema/tests - testField.py:1.2 testSchema.py:1.3
Klaus Wölfel
woelfel@aurora-systems.de
Tue, 25 Jun 2002 10:09:56 -0400
Update of /cvs-repository/Zope3/lib/python/Schema/tests
In directory cvs.zope.org:/tmp/cvs-serv12958/tests
Modified Files:
testField.py testSchema.py
Log Message:
Validators don't return anything any more. They only raise exceptions. ErrorNames are stored in the ErrorNames module.
=== Zope3/lib/python/Schema/tests/testField.py 1.1 => 1.2 ===
from Schema import Field, Int, Str, Bool
from Schema import IField
+from Schema import ErrorNames
class FieldTestCase(TestCase):
+ def assertRaisesErrorNames(self, error_name, f, *args, **kw):
+ try:
+ f(*args, **kw)
+ except ValidationError, e:
+ self.assertEquals(error_name, e.error_name)
+ return
+ self.fail('Expected ValidationError')
+
def test_validate(self):
field = Field(
title='Not required field',
description='',
readonly=0,
required=0)
- self.assertEquals(None, field.validate(None))
- self.assertEquals('foo', field.validate('foo'))
- self.assertEquals(1, field.validate(1))
- self.assertEquals(0, field.validate(0))
- self.assertEquals('', field.validate(''))
-
+ try:
+ field.validate(None)
+ field.validate('foo')
+ field.validate(1)
+ field.validate(0)
+ field.validate('')
+ except ValidationError, e:
+ self.fail('Expected no ValidationError, but we got %s.' % e.error_name)
+
def test_validate_required(self):
field = Field(
title='Required field',
description='',
readonly=0,
required=1)
- self.assertRaises(ValidationError, field.validate, None)
- self.assertEquals('foo', field.validate('foo'))
- self.assertEquals(1, field.validate(1))
- self.assertEquals(0, field.validate(0))
- self.assertEquals('', field.validate(''))
-
+ self.assertRaisesErrorNames(ErrorNames.RequiredMissing, field.validate, None)
+ try:
+ field.validate('foo')
+ field.validate(1)
+ field.validate(0)
+ field.validate('')
+ except ValidationError, e:
+ self.fail('Expected no ValidationError, but we got %s.' % e.error_name)
+
class StrTestCase(FieldTestCase):
def test_validate(self):
field = Str(
@@ -55,18 +70,24 @@
description='',
readonly=0,
required=0)
- self.assertEquals(None, field.validate(None))
- self.assertEquals('foo', field.validate('foo'))
- self.assertEquals('', field.validate(''))
-
+ try:
+ field.validate(None)
+ field.validate('foo')
+ field.validate('')
+ except ValidationError, e:
+ self.fail('Expected no ValidationError, but we got %s.' % e.error_name)
+
def test_validate_required(self):
field = Str(
title='Str field required',
description='',
readonly=0,
required=1)
- self.assertRaises(ValidationError, field.validate, None)
- self.assertEquals('foo', field.validate('foo'))
+ self.assertRaisesErrorNames(ErrorNames.RequiredMissing, field.validate, None)
+ try:
+ field.validate('foo')
+ except ValidationError, e:
+ self.fail('Expected no ValidationError, but we got %s.' % e.error_name)
self.assertRaises(ValidationError, field.validate, '')
class BoolTestCase(FieldTestCase):
@@ -76,11 +97,14 @@
description='',
readonly=0,
required=0)
- self.assertEquals(None, field.validate(None))
- self.assertEquals(1, field.validate(1))
- self.assertEquals(0, field.validate(0))
- self.assertEquals(1, field.validate(10))
- self.assertEquals(1, field.validate(-10))
+ try:
+ field.validate(None)
+ field.validate(1)
+ field.validate(0)
+ field.validate(10)
+ field.validate(-10)
+ except ValidationError, e:
+ self.fail('Expected no ValidationError, but we got %s.' % e.error_name)
def test_validate(self):
field = Bool(
@@ -88,7 +112,7 @@
description='',
readonly=0,
required=1)
- self.assertRaises(ValidationError, field.validate, None)
+ self.assertRaisesErrorNames(ErrorNames.RequiredMissing, field.validate, None)
class IntTestCase(FieldTestCase):
def test_validate(self):
@@ -97,21 +121,28 @@
description='',
readonly=0,
required=0)
- self.assertEquals(None, field.validate(None))
- self.assertEquals(10, field.validate(10))
- self.assertEquals(0, field.validate(0))
- self.assertEquals(-1, field.validate(-1))
-
+ try:
+ field.validate(None)
+ field.validate(10)
+ field.validate(0)
+ field.validate(-1)
+ except ValidationError, e:
+ self.fail('Expected no ValidationError, but we got %s.' % e.error_name)
+
def test_validate_required(self):
field = Int(
title='Int field required',
description='',
readonly=0,
required=1)
- self.assertRaises(ValidationError, field.validate, None)
- self.assertEquals(10, field.validate(10))
- self.assertEquals(0, field.validate(0))
- self.assertEquals(-1, field.validate(-1))
+ self.assertRaisesErrorNames(ErrorNames.RequiredMissing, field.validate, None)
+
+ try:
+ field.validate(10)
+ field.validate(0)
+ field.validate(-1)
+ except ValidationError, e:
+ self.fail('Expected no ValidationError, but we got %s.' % e.error_name)
def test_validate_min(self):
field = Int(
@@ -120,11 +151,15 @@
readonly=0,
required=0,
min=10)
- self.assertEquals(None, field.validate(None))
- self.assertEquals(10, field.validate(10))
- self.assertEquals(20, field.validate(20))
- self.assertRaises(ValidationError, field.validate, 9)
- self.assertRaises(ValidationError, field.validate, -10)
+ try:
+ field.validate(None)
+ field.validate(10)
+ field.validate(20)
+ except ValidationError, e:
+ self.fail('Expected no ValidationError, but we got %s.' % e.error_name)
+
+ self.assertRaisesErrorNames(ErrorNames.TooSmall, field.validate, 9)
+ self.assertRaisesErrorNames(ErrorNames.TooSmall, field.validate, -10)
def test_validate_max(self):
field = Int(
@@ -133,11 +168,15 @@
readonly=0,
required=0,
max=10)
- self.assertEquals(None, field.validate(None))
- self.assertEquals(5, field.validate(5))
- self.assertEquals(9, field.validate(9))
- self.assertRaises(ValidationError, field.validate, 10)
- self.assertRaises(ValidationError, field.validate, 20)
+ try:
+ field.validate(None)
+ field.validate(5)
+ field.validate(9)
+ except ValidationError, e:
+ self.fail('Expected no ValidationError, but we got %s.' % e.error_name)
+
+ self.assertRaisesErrorNames(ErrorNames.TooBig, field.validate, 11)
+ self.assertRaisesErrorNames(ErrorNames.TooBig, field.validate, 20)
def test_validate_min_max(self):
field = Int(
@@ -147,14 +186,18 @@
required=0,
min=0,
max=10)
- self.assertEquals(None, field.validate(None))
- self.assertEquals(0, field.validate(0))
- self.assertEquals(5, field.validate(5))
- self.assertEquals(9, field.validate(9))
- self.assertRaises(ValidationError, field.validate, -1)
- self.assertRaises(ValidationError, field.validate, 10)
- self.assertRaises(ValidationError, field.validate, 20)
-
+ try:
+ field.validate(None)
+ field.validate(0)
+ field.validate(5)
+ field.validate(10)
+ except ValidationError, e:
+ self.fail('Expected no ValidationError, but we got %s.' % e.error_name)
+
+ self.assertRaisesErrorNames(ErrorNames.TooSmall, field.validate, -1)
+ self.assertRaisesErrorNames(ErrorNames.TooBig, field.validate, 11)
+ self.assertRaisesErrorNames(ErrorNames.TooBig, field.validate, 20)
+
def test_suite():
return TestSuite((
makeSuite(FieldTestCase),
=== Zope3/lib/python/Schema/tests/testSchema.py 1.2 => 1.3 ===
from Schema.Exceptions import StopValidation, ValidationError, ValidationErrorsAll
from Schema._Schema import validateMapping,validateMappingAll
+from Schema import ErrorNames
from Interface import Interface
import Schema
+
class ISchemaTest(Interface):
title = Schema.Str(
- title="Title"
- ,description="Title"
- ,default=""
- ,required=1
- )
+ title="Title",
+ description="Title",
+ default="",
+ required=1,
+ )
description = Schema.Str(
- title="Description"
- ,description="Description"
- ,default=""
- ,required=1
- )
+ title="Description",
+ description="Description",
+ default="",
+ required=1,
+ )
spam = Schema.Str(
- title="Spam"
- ,description="Spam"
- ,default=""
- ,required=1
- )
-
+ title="Spam",
+ description="Spam",
+ default="",
+ required=1,
+ )
+
class SchemaTestCase(TestCase):
def test_validateMapping(self):
dict = {
- 'title': 'A title',
- 'description': 'A particular description.',
- 'spam': 'Spam',
+ 'title': 'A title',
+ 'description': 'A particular description.',
+ 'spam': 'Spam',
}
- try:
- validateMapping(ISchemaTest, dict)
- except ValidationError:
- self.fail()
-
+ try:
+ validateMapping(ISchemaTest, dict)
+ except ValidationError:
+ self.fail()
+
def test_validateBadMapping(self):
- dict = {'title': 'A title'
- }
-
- self.assertRaises(ValidationError, validateMapping, ISchemaTest, dict)
+ dict = {'title': 'A title'}
+ self.assertRaises(ValidationError, validateMapping, ISchemaTest, dict)
def test_validateMappingAll(self):
- dict = {
- 'title': 'A title',
- 'description': 'A particular description.',
- 'spam': 'Spam',
+ dict = {'title': 'A title',
+ 'description': 'A particular description.',
+ 'spam': 'Spam',
}
- try:
- validateMappingAll(ISchemaTest, dict)
- except ValidationErrorsAll:
- self.fail()
-
+ try:
+ validateMappingAll(ISchemaTest, dict)
+ except ValidationErrorsAll:
+ self.fail()
+
def test_validateBadMappingAll(self):
- dict = {'title': 'A title'
- }
-
- try:
- validateMappingAll(ISchemaTest, dict)
- except ValidationErrorsAll, e:
- error=ValidationError("Must be required")
- self.assertEqual(e.errors , [('description',error),
- ('spam',error)]
- )
- self.assertRaises(ValidationError, validateMapping, ISchemaTest, dict)
+ dict = {'title': 'A title'}
+
+ try:
+ validateMappingAll(ISchemaTest, dict)
+ except ValidationErrorsAll, e:
+ error=ValidationError(ErrorNames.RequiredMissing)
+ self.assertEqual(e.errors ,
+ [('description',error), ('spam',error)])
+ self.assertRaises(ValidationError, validateMapping, ISchemaTest, dict)
+ return
+ self.fail()
def test_suite():
- return TestSuite((
- makeSuite(SchemaTestCase),
- ))
+ return TestSuite((makeSuite(SchemaTestCase), ))
if __name__ == '__main__':
main(defaultTest='test_suite')