test/unittest_vregistry.py
branchtls-sprint
changeset 777 39695e98ba35
parent 750 89e997bc2bf1
child 1341 9502d02630bf
equal deleted inserted replaced
776:29ba95ea7e7d 777:39695e98ba35
     3 from os.path import join
     3 from os.path import join
     4 
     4 
     5 from cubicweb import CW_SOFTWARE_ROOT as BASE
     5 from cubicweb import CW_SOFTWARE_ROOT as BASE
     6 from cubicweb.vregistry import VObject
     6 from cubicweb.vregistry import VObject
     7 from cubicweb.cwvreg import CubicWebRegistry, UnknownProperty
     7 from cubicweb.cwvreg import CubicWebRegistry, UnknownProperty
     8 from cubicweb.cwconfig import CubicWebConfiguration
     8 from cubicweb.devtools import TestServerConfiguration
       
     9 from cubicweb.entities.lib import Card
       
    10 from cubicweb.interfaces import IMileStone
     9 
    11 
    10 class YesSchema:
    12 class YesSchema:
    11     def __contains__(self, something):
    13     def __contains__(self, something):
    12         return True
    14         return True
    13     
    15     
    14 class VRegistryTC(TestCase):
    16 class VRegistryTC(TestCase):
    15 
    17 
    16     def setUp(self):
    18     def setUp(self):
    17         config = CubicWebConfiguration('data')
    19         config = TestServerConfiguration('data')
    18         self.vreg = CubicWebRegistry(config)
    20         self.vreg = CubicWebRegistry(config)
    19         self.vreg.schema = YesSchema()
    21         config.bootstrap_cubes()
       
    22         self.vreg.schema = config.load_schema()
    20 
    23 
    21     def test_load(self):
    24     def test_load(self):
    22         self.vreg.load_file(join(BASE, 'web', 'views'), 'euser.py')
    25         self.vreg.load_file(join(BASE, 'web', 'views'), 'euser.py')
    23         self.vreg.load_file(join(BASE, 'web', 'views'), 'baseviews.py')
    26         self.vreg.load_file(join(BASE, 'web', 'views'), 'baseviews.py')
    24         fpvc = [v for v in self.vreg.registry_objects('views', 'primary')
    27         fpvc = [v for v in self.vreg.registry_objects('views', 'primary')
    43 
    46 
    44     def test_properties(self):
    47     def test_properties(self):
    45         self.failIf('system.version.cubicweb' in self.vreg['propertydefs'])
    48         self.failIf('system.version.cubicweb' in self.vreg['propertydefs'])
    46         self.failUnless(self.vreg.property_info('system.version.cubicweb'))
    49         self.failUnless(self.vreg.property_info('system.version.cubicweb'))
    47         self.assertRaises(UnknownProperty, self.vreg.property_info, 'a.non.existent.key')
    50         self.assertRaises(UnknownProperty, self.vreg.property_info, 'a.non.existent.key')
       
    51 
       
    52     def test_load_subinterface_based_vobjects(self):
       
    53         self.vreg.reset()
       
    54         self.vreg.register_objects([join(BASE, 'web', 'views', 'iprogress.py')])
       
    55         # check progressbar was kicked
       
    56         self.failIf(self.vreg['views'].get('progressbar'))
       
    57         class MyCard(Card):
       
    58             __implements__ = (IMileStone,)
       
    59         self.vreg.reset()
       
    60         self.vreg.register_vobject_class(MyCard)
       
    61         self.vreg.register_objects([join(BASE, 'web', 'views', 'iprogress.py')])
       
    62         # check progressbar isn't kicked
       
    63         self.assertEquals(len(self.vreg['views']['progressbar']), 1)
    48         
    64         
    49 
    65 
    50 if __name__ == '__main__':
    66 if __name__ == '__main__':
    51     unittest_main()
    67     unittest_main()