Beispiel #1
0
    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)
Beispiel #2
0
    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
Beispiel #3
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
Beispiel #4
0
def _initialize_registry(app):
    reg = Registry(app=app)

    reg['CASSANDRA_CLIENT'] = _initialize_client(SimpleClient)

    from lib.repositories.location import LocationRepo
    reg['DB_LOCATION'] = LocationRepo()
Beispiel #5
0
 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)
Beispiel #6
0
    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)
Beispiel #7
0
    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']
Beispiel #8
0
    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)
Beispiel #9
0
    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()
Beispiel #10
0
 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']
Beispiel #11
0
 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)
Beispiel #13
0
    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())
Beispiel #14
0
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
Beispiel #15
0
    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)
Beispiel #16
0
    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)
Beispiel #18
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']))
Beispiel #19
0
    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']))
Beispiel #20
0
    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)
Beispiel #21
0
    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
Beispiel #23
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
        )
Beispiel #25
0
    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
Beispiel #27
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']
Beispiel #28
0
    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)
Beispiel #29
0
    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
        )
Beispiel #30
0
    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)