goa/test/unittest_schema.py
branchtls-sprint
changeset 1802 d628defebc17
parent 1398 5fe84a5f7035
child 1977 606923dff11b
equal deleted inserted replaced
1801:672acc730ce5 1802:d628defebc17
     1 from cubicweb.goa.testlib import *
     1 from cubicweb.goa.testlib import *
     2 
     2 
     3 class Article(db.Model):        
     3 class Article(db.Model):
     4     content = db.TextProperty()
     4     content = db.TextProperty()
     5     synopsis = db.StringProperty(default='hello')
     5     synopsis = db.StringProperty(default='hello')
     6 
     6 
     7 class Blog(db.Model):
     7 class Blog(db.Model):
     8     diem = db.DateProperty(required=True, auto_now_add=True)
     8     diem = db.DateProperty(required=True, auto_now_add=True)
     9     title = db.StringProperty(required=True)
     9     title = db.StringProperty(required=True)
    10     content = db.TextProperty()
    10     content = db.TextProperty()
    11     talks_about = db.ReferenceProperty(Article) 
    11     talks_about = db.ReferenceProperty(Article)
    12     cites = db.SelfReferenceProperty() 
    12     cites = db.SelfReferenceProperty()
    13 
    13 
    14   
    14 
    15 class SomeViewsTC(GAEBasedTC):
    15 class SomeViewsTC(GAEBasedTC):
    16     MODEL_CLASSES = (Article, Blog)
    16     MODEL_CLASSES = (Article, Blog)
    17 
    17 
    18     def test_entities_and_relation(self):
    18     def test_entities_and_relation(self):
    19         schema = self.schema
    19         schema = self.schema
    75         self.assertEquals(others,
    75         self.assertEquals(others,
    76                           ['created_by', 'creation_date', 'eid', 'identity',
    76                           ['created_by', 'creation_date', 'eid', 'identity',
    77                            'is', 'is_instance_of', 'modification_date', 'owned_by'])
    77                            'is', 'is_instance_of', 'modification_date', 'owned_by'])
    78         self.assertUnorderedIterableEquals((str(e) for e in eschema.object_relations()),
    78         self.assertUnorderedIterableEquals((str(e) for e in eschema.object_relations()),
    79                              ('identity',))
    79                              ('identity',))
    80     
    80 
    81     def test_yams_ambiguous_relation(self):
    81     def test_yams_ambiguous_relation(self):
    82         rschema = self.schema['ambiguous_relation']
    82         rschema = self.schema['ambiguous_relation']
    83         # only relations defined in the class are actually ordered
    83         # only relations defined in the class are actually ordered
    84         self.assertUnorderedIterableEquals((str(e) for e in rschema.subjects()),
    84         self.assertUnorderedIterableEquals((str(e) for e in rschema.subjects()),
    85                              ('YamsEntity',))
    85                              ('YamsEntity',))
   101     def test_eid(self):
   101     def test_eid(self):
   102         rschema = self.schema['eid']
   102         rschema = self.schema['eid']
   103         self.assertEquals(rschema.objects(), ('Bytes',))
   103         self.assertEquals(rschema.objects(), ('Bytes',))
   104         self.assertEquals(rschema.rproperty('Blog', 'Bytes', 'cardinality'), '?1')
   104         self.assertEquals(rschema.rproperty('Blog', 'Bytes', 'cardinality'), '?1')
   105 
   105 
   106         
   106 
   107 if __name__ == '__main__':
   107 if __name__ == '__main__':
   108     from logilab.common.testlib import unittest_main
   108     from logilab.common.testlib import unittest_main
   109     unittest_main()
   109     unittest_main()