def test_registration_errors(self):
        registry = _BackendRegistry([
            'creme.creme_core.backends.csv_import.CSVImportBackend',
            'creme.creme_core.backends.csv_import.CSVImportBackend',  # Twice
        ])

        with self.assertRaises(registry.DuplicatedId):
            registry.get_backend(CSVImportBackend.id)
Exemple #2
0
    def test_registration_errors03(self):
        "Invalid class."
        registry = _BackendRegistry(base.ExportBackend, [
            'creme.creme_core.backends.csv_import.CSVImportBackend',
        ])

        with self.assertRaises(registry.InvalidClass):
            registry.get_backend_class(CSVImportBackend.id)
Exemple #3
0
    def test_registration_errors01(self):
        "Duplicates."
        registry = _BackendRegistry(
            base.ImportBackend,
            [
                'creme.creme_core.backends.csv_import.CSVImportBackend',
                'creme.creme_core.backends.csv_import.CSVImportBackend',  # Twice
            ])

        # with self.assertRaises(registry.DuplicatedId):
        #     registry.get_backend(CSVImportBackend.id)

        with self.assertRaises(registry.DuplicatedId):
            registry.get_backend_class(CSVImportBackend.id)
Exemple #4
0
    def test_registration_errors02(self):
        "Invalid path."
        path = 'creme.creme_core.backends.csv_import.Unknown'
        registry = _BackendRegistry(base.ImportBackend, [path])

        with self.assertLogs(level='WARNING') as log_cm:
            backend = registry.get_backend_class(CSVImportBackend.id)

        self.assertIsNone(backend)

        messages = log_cm.output
        self.assertEqual(1, len(messages))
        self.assertStartsWith(
            messages[0], f'WARNING:creme.creme_core.utils.imports:'
            f'An error occurred trying to import "{path}":')
Exemple #5
0
    def test_registry(self):
        registry = _BackendRegistry(base.ImportBackend, [
            'creme.creme_core.backends.csv_import.CSVImportBackend',
            'creme.creme_core.backends.xls_import.XLSImportBackend',
        ])

        # self.assertEqual(CSVImportBackend, registry.get_backend(CSVImportBackend.id))
        # self.assertEqual(XLSImportBackend, registry.get_backend(XLSImportBackend.id))
        self.assertEqual(CSVImportBackend,
                         registry.get_backend_class(CSVImportBackend.id))
        self.assertEqual(XLSImportBackend,
                         registry.get_backend_class(XLSImportBackend.id))
        # self.assertIsNone(registry.get_backend('unknown'))
        # self.assertSetEqual(
        #     {CSVImportBackend, XLSImportBackend}, {*registry.backends}
        # )
        self.assertSetEqual({CSVImportBackend, XLSImportBackend},
                            {*registry.backend_classes})
        self.assertSetEqual({CSVImportBackend.id, XLSImportBackend.id},
                            {*registry.extensions})
    def test_registry(self):
        registry = _BackendRegistry([
            'creme.creme_core.backends.csv_import.CSVImportBackend',
            'creme.creme_core.backends.xls_import.XLSImportBackend',
        ])

        self.assertEqual(CSVImportBackend,
                         registry.get_backend(CSVImportBackend.id))
        self.assertEqual(XLSImportBackend,
                         registry.get_backend(XLSImportBackend.id))
        self.assertIsNone(registry.get_backend('unknown'))

        # self.assertEqual({CSVImportBackend, XLSImportBackend},
        #                  set(registry.iterbackends())
        #                 )
        self.assertSetEqual({CSVImportBackend, XLSImportBackend},
                            {*registry.backends})

        # self.assertEqual({CSVImportBackend.id, XLSImportBackend.id},
        #                  set(registry.iterkeys())
        #                 )
        self.assertSetEqual({CSVImportBackend.id, XLSImportBackend.id},
                            {*registry.extensions})