def runTest(self): from noseapp.core import extensions extensions.set('test', dict(test='test')) self.assertEqual(extensions.get('test').get('test'), 'test') extensions.clear() self.assertRaises(extensions.ExtensionNotFound, extensions.get, 'test')
def shared_data(name, data): """ Shared extension to TestCase classes. Data will be copied during installation. :param name: this is property name in case class :type name: str :param data: any object """ logger.debug('Shared data "%s"', name) return extensions.set(name, data, to_transport=False)
def shared_extension(name=None, cls=None, args=None, kwargs=None): """ Shared extension to Suite and TestCase instances. Use require param on noseapp.Suite class for connect. Example:: import random app = NoseApp('my_app') app.shared_extension(name='random_int', cls=random.randint, args=(0, 100)) :param name: extension name :type name: str :param cls: extension class or callable object :type cls: object, callable :param args: cls init args :type args: tuple :param kwargs: cls init kwargs :type kwargs: dict :raises: ValueError, AttributeError """ if cls is None: raise ValueError('cls param is required') if name is None and not hasattr(cls, 'name'): raise AttributeError( '"{}" does not have "name" attribute'.format(cls.__name__), ) elif name is None: name = cls.name logger.debug('Shared extension "%s"', name) return extensions.set(name, cls, to_transport=True, args=args, kwargs=kwargs)
def shared_data(name, data): """ Shared data to Suite and TestCase instances. Data will be copied during installation. Example:: data = { 'a': 1, 'b': 2, 'c': 3, } app = NoseApp('my_app') add.shared_data('data', data) :param name: extension name :type name: str :param data: any object """ logger.debug('Shared data "%s"', name) return extensions.set(name, data, to_transport=False)
def shared_extension(name=None, cls=None, args=None, kwargs=None): """ Shared extension to TestCase classes. Use require param in noseapp.Suite class. :param name: extension name. this is property name in case class. :type name: str :param cls: extension class :param args, kwargs: class init arguments :type args: tuple :type kwargs: dict """ if cls is None: raise ValueError('cls param is required') if name is None and not hasattr(cls, 'name'): raise AttributeError( '"{}" does not have "name" attribute'.format(cls.__name__), ) elif name is None: name = cls.name logger.debug('Shared extension "%s"', name) return extensions.set(name, cls, to_transport=True, args=args, kwargs=kwargs)