def test_clean(self):
     bd = BaseDefinition(model_def=self.model_def)
     # Base must be a class
     bd.base = BaseDefinitionTest.test_clean
     self.assertRaisesMessage(ValidationError, _('Base must be a class.'),
                              bd.clean)
     # Subclasses of MutableModel are valid bases
     bd.base = ModelDefinition.objects.create(
         app_label='mutant', object_name='AnotherModel').model_class()
     try:
         bd.clean()
     except ValidationError:
         self.fail('MutableModel subclasses are valid bases.')
     # But model definition can't be bases of themselves
     bd.base = self.model_def.model_class()
     self.assertRaisesMessage(
         ValidationError,
         _("A model definition can't be a base of itself."), bd.clean)
     # Mixin objets are valid bases
     bd.base = Mixin
     try:
         bd.clean()
     except ValidationError:
         self.fail('Mixin objets are valid bases.')
     # Abstract model subclasses are valid bases
     bd.base = AbstractModel
     try:
         bd.clean()
     except ValidationError:
         self.fail('Abstract Model are valid bases')
     # Proxy model are not valid bases
     bd.base = ProxyModel
     self.assertRaisesMessage(ValidationError,
                              _("Base can't be a proxy model."), bd.clean)
Esempio n. 2
0
 def test_clean(self):
     bd = BaseDefinition(model_def=self.model_def)
     # Base must be a class
     bd.base = BaseDefinitionTest.test_clean
     self.assertRaisesMessage(
         ValidationError, _('Base must be a class.'), bd.clean
     )
     # Subclasses of MutableModel are valid bases
     bd.base = ModelDefinition.objects.create(
         app_label='mutant', object_name='AnotherModel'
     ).model_class()
     try:
         bd.clean()
     except ValidationError:
         self.fail('MutableModel subclasses are valid bases.')
     # But model definition can't be bases of themselves
     bd.base = self.model_def.model_class()
     self.assertRaisesMessage(
         ValidationError,
         _("A model definition can't be a base of itself."),
         bd.clean
     )
     # Mixin objets are valid bases
     bd.base = Mixin
     try:
         bd.clean()
     except ValidationError:
         self.fail('Mixin objets are valid bases.')
     # Abstract model subclasses are valid bases
     bd.base = AbstractModel
     try:
         bd.clean()
     except ValidationError:
         self.fail('Abstract Model are valid bases')
     # Proxy model are not valid bases
     bd.base = ProxyModel
     self.assertRaisesMessage(
         ValidationError, _("Base can't be a proxy model."), bd.clean
     )