def test_unique_without_double(self): Registry(app=self.app) self.app.extensions['registry']['myns'] = \ EntryPointRegistry('flask_registry.test_entry', load=False, exclude=['double'], unique=True) self.assertEqual(len(self.app.extensions['registry']['myns']), 2)
def test_registration(self): r = Registry(app=self.app) r['myns'] = DictRegistry() r['myns'].register('key1', 'item1') r['myns']['key2'] = 'item2' self.assertRaises( RegistryError, r['myns'].register, 'key2', 'item3' ) assert len(r['myns']) == 2 assert len(r['myns'].items()) == 2 assert 'key2' in r['myns'] assert 'notin' not in r['myns'] assert list(r['myns']) assert r['myns'].get("key1") == "item1" assert r['myns'].get("key1", default='na') == "item1" assert r['myns'].get("unknownkey", default='na') == "na" assert r['myns'].get("unknownkey") is None assert r['myns']['key2'] == 'item2' r['myns'].unregister('key2') assert len(r['myns']) == 1 assert 'key1' in r['myns'] assert 'key2' not in r['myns'] del r['myns']['key1'] assert len(r['myns']) == 0
def test_registration_iter(self): Registry(app=self.app) self.app.extensions['registry']['mynamespace'] = RegistryBase() self.app.extensions['registry']['myothernamespace'] = RegistryBase() assert len(self.app.extensions['registry']) == 2 assert 'mynamespace' in self.app.extensions['registry'] assert 'myothernamespace' in self.app.extensions['registry'] # Double registration try: self.app.extensions['registry']['mynamespace'] = RegistryBase() raise AssertionError("No exception raise for double registration") except RegistryError: pass # Registered object assert isinstance(self.app.extensions['registry']['mynamespace'], RegistryBase) assert isinstance(self.app.extensions['registry']['myothernamespace'], RegistryBase) # Iteration assert set(self.app.extensions['registry']) == \ set(['myothernamespace', 'mynamespace', ]) for ns, r in self.app.extensions['registry'].items(): assert ns in ['mynamespace', 'myothernamespace'] # Removal myregistry = self.app.extensions['registry']['mynamespace'] assert myregistry.namespace del self.app.extensions['registry']['mynamespace'] assert myregistry.namespace is None
def _initialize_registry(app): reg = Registry(app=app) reg['CASSANDRA_CLIENT'] = _initialize_client(SimpleClient) from lib.repositories.location import LocationRepo reg['DB_LOCATION'] = LocationRepo()
def test_registry_base(self): Registry(app=self.app) self.app.extensions['registry']['myns'] = RegistryBase() self.assertRaises(NotImplementedError, self.app.extensions['registry']['myns'].register) self.assertRaises(NotImplementedError, self.app.extensions['registry']['myns'].unregister)
def test_registration(self): Registry(app=self.app) initial_app_config_id = id(self.app.config) self.app.config['PACKAGES'] = ['registry_module'] self.app.config['USER_CFG'] = True self.app.extensions['registry']['packages'] = \ PackageRegistry(self.app) assert 'DEFAULT_CFG' not in self.app.config self.app.extensions['registry']['config'] = \ ConfigurationRegistry(self.app) assert self.app.config['USER_CFG'] assert self.app.config['DEFAULT_CFG'] assert len(self.app.config['PACKAGES']) == 1 self.assertRaises( NotImplementedError, self.app.extensions['registry']['config'].unregister ) assert initial_app_config_id == id(self.app.config)
def test_regsitration(self): Registry(app=self.app) self.app.extensions['registry']['myns'] = \ EntryPointRegistry('flask_registry.test_entry') self.assertEqual(len(self.app.extensions['registry']['myns']), 3) assert 'testcase' in self.app.extensions['registry']['myns']
def test_unique_load_without_double_and_importfail(self): Registry(app=self.app) self.app.extensions['registry']['myns'] = \ EntryPointRegistry('flask_registry.test_entry', load=True, exclude=['double', 'importfail'], unique=True) self.assertEqual(len(self.app.extensions['registry']['myns']), 1)
def test_creation(self): Registry(app=self.app) self.app.extensions['registry']['modns'] = ModuleRegistry() moda = MockModule() self.app.extensions['registry']['modns'].register(moda) self.app.extensions['registry']['modns'].unregister(moda) moda.assert_called()
def test_exclude(self): Registry(app=self.app) self.app.extensions['registry']['impns'] = ImportPathRegistry( initial=['flask_registry.registries.*'], exclude=['flask_registry.registries.pkgresources'], ) assert len(self.app.extensions['registry']['impns']) == 3 assert 'flask_registry.registries.pkgresources' not in \ self.app.extensions['registry']['impns']
def test_load_modules(self): Registry(app=self.app) self.app.extensions['registry']['impns'] = ImportPathRegistry( initial=['flask_registry.registries.*'], load_modules=True ) assert len(self.app.extensions['registry']['impns']) == 4 assert not isinstance( self.app.extensions['registry']['impns'][0], six.string_types )
def test_registration(self): Registry(app=self.app) self.app.config['PACKAGES'] = ['tests.*'] self.app.extensions['registry']['packages'] = \ PackageRegistry(self.app) self.assertEqual(len(self.app.extensions['registry']['packages']), 13)
def test_six_usage(self): r = Registry(app=self.app) r['myns'] = DictRegistry() r['myns'].register('key1', 'item1') r['myns']['key2'] = 'item2' assert list(six.iterkeys(r['myns'])) == list(r['myns'].keys()) assert list(six.itervalues(r['myns'])) == list(r['myns'].values()) assert list(six.iteritems(r['myns'])) == list(r['myns'].items())
def create_app(config): app = Flask('myapp') app.config.from_object(config) r = Registry(app=app) r['packages'] = PackageRegistry(app) r['extensions'] = ExtensionRegistry(app) r['config'] = ConfigurationRegistry(app) r['blueprints'] = BlueprintAutoDiscoveryRegistry(app=app) return app
def test_fail_load_not_unique(self): Registry(app=self.app) self.assertRaises(RuntimeError, EntryPointRegistry, 'flask_registry.test_entry', load=True, exclude=['importfail'], unique=True)
def test_load(self): Registry(app=self.app) self.app.extensions['registry']['myns'] = \ EntryPointRegistry('flask_registry.test_entry', load=True) self.assertEqual(len(self.app.extensions['registry']['myns']), 3) assert RegistryBase == \ self.app.extensions['registry']['myns']['testcase'][0]
def test_import_error(self): Registry(app=self.app) self.app.extensions['registry']['packages'] = \ ImportPathRegistry(initial=['flask_registry']) self.app.extensions['registry']['blueprints'] = \ BlueprintAutoDiscoveryRegistry(app=self.app) self.assertEqual(len(self.app.extensions['registry']['blueprints']), 0)
def test_registration(self): Registry(app=self.app) self.app.extensions['registry'].update(pathns=ImportPathRegistry( initial=['registry_module'])) self.app.extensions['registry'].update( myns=PkgResourcesDirDiscoveryRegistry( 'resources', app=self.app, registry_namespace='pathns')) self.assertEquals(1, len(self.app.extensions['registry']['myns']))
def test_missing_folder(self): Registry(app=self.app) self.app.extensions['registry'].update(pathns=ImportPathRegistry( initial=['registry_module'])) self.app.extensions['registry'].update( myns=PkgResourcesDirDiscoveryRegistry('non_existing_folder', app=self.app, registry_namespace='pathns')) self.assertEquals(0, len(self.app.extensions['registry']['myns']))
def test_proxy(self): Registry(app=self.app) proxy = RegistryProxy('prxns', RegistryBase) assert 'prxns' not in self.app.extensions['registry'] with self.app.app_context(): self.assertRaises(NotImplementedError, proxy.register) assert 'prxns' in self.app.extensions['registry'] assert isinstance(self.app.extensions['registry']['prxns'], RegistryBase)
def test_creation_setup(self): Registry(app=self.app) self.app.extensions['registry']['modns'] = ModuleRegistry( with_setup=False ) moda = MockModule() self.app.extensions['registry']['modns'].register(moda) self.app.extensions['registry']['modns'].unregister(moda) moda.assert_not_called()
def test_missing_module(self): Registry(app=self.app) self.app.extensions['registry'].update( pathns=ImportPathRegistry(initial=['flask_registry.*']), myns=ModuleDiscoveryRegistry('some_non_existing_module', registry_namespace='pathns')) with self.app.app_context(): self.app.extensions['registry']['myns'].discover() assert len(self.app.extensions['registry']['myns']) == 0
def test_namespace_injection(self): Registry(app=self.app) self.app.extensions['registry']['mynamespace'] = RegistryBase() assert self.app.extensions['registry']['mynamespace'].namespace == \ 'mynamespace' try: self.app.extensions['registry']['mynamespace'].namespace = "na" raise AssertionError("RegistryError not raised.") except RegistryError: pass
def test_registration_noapp(self): Registry(app=self.app) self.app.extensions['registry']['myns'] = ModuleDiscoveryRegistry( 'notimportant', ) self.assertRaises( RegistryError, self.app.extensions['registry']['myns'].discover )
def test_unregister(self): Registry(app=self.app) self.app.extensions['registry']['impns'] = ImportPathRegistry( initial=['flask_registry.registries.*'] ) self.assertRaises( NotImplementedError, self.app.extensions['registry']['impns'].unregister, 'flask_registry.*' )
def test_broken_module(self): Registry(app=self.app) self.app.extensions['registry'].update( pathns=ImportPathRegistry(initial=['registry_module']), myns=ModuleDiscoveryRegistry('broken_module', registry_namespace='pathns')) with self.app.app_context(): self.assertRaises(ImportError, self.app.extensions['registry']['myns'].discover) assert len(self.app.extensions['registry']['myns']) == 0
def test_registration(self): Registry(app=self.app) self.app.extensions['registry']['impns'] = ImportPathRegistry() self.app.extensions['registry']['impns'].register('flask_registry') self.app.extensions['registry']['impns'].register( 'flask_registry.registries.*' ) assert len(self.app.extensions['registry']['impns']) == 5 assert 'flask_registry.registries.core' in \ self.app.extensions['registry']['impns']
def test_initial_load(self): Registry(app=self.app) self.app.extensions['registry']['myns'] = \ EntryPointRegistry('flask_registry.test_entry', load=True, initial=['registry', 'proxy']) self.assertEqual(len(self.app.extensions['registry']['myns']), 2) self.assertEqual( self.app.extensions['registry']['myns']['registry'][0], Registry) self.assertEqual(self.app.extensions['registry']['myns']['proxy'][0], RegistryProxy)
def test_registration(self): Registry(app=self.app) self.app.extensions['registry']['packages'] = \ ImportPathRegistry(initial=['registry_module']) self.app.extensions['registry']['blueprints'] = \ BlueprintAutoDiscoveryRegistry(app=self.app) self.assertEqual( len(self.app.extensions['registry']['blueprints']), 3 )
def test_registration(self): Registry(app=self.app) self.app.config['EXTENSIONS'] = ['registry_module.mockext'] assert 'MOCKEXT' not in self.app.config self.app.extensions['registry']['extensions'] = \ ExtensionRegistry(self.app) assert self.app.config['MOCKEXT'] self.assertRaises( NotImplementedError, self.app.extensions['registry']['extensions'].unregister)
def test_creation_init(self): assert 'registry' not in self.app.extensions r = Registry() r.init_app(app=self.app) assert isinstance(self.app.extensions['registry'], Registry)