Ejemplo n.º 1
0
    def test_load_oobs(self):
        config = MongoStorageConfiguration()
        engine = MongoStorageEngine(config)
        engine.initialise()
        store = MongoOOBStore(engine)

        self.assert_load(store)
Ejemplo n.º 2
0
    def test_set_storage(self):
        config = MongoStorageConfiguration()
        engine = MongoStorageEngine(config)
        engine.initialise()
        store = MongoSetsStore(engine)

        self.assert_set_storage(store)
Ejemplo n.º 3
0
    def test_upload_from_file_exception(self):
        config = MongoStorageConfiguration()
        engine = MongoStorageEngine(config)
        engine.initialise()
        store = MongoOOBStore(engine)

        self.assert_upload_from_file_exception(store)
Ejemplo n.º 4
0
    def test_upload_from_file_verbose_no_corpus(self):
        config = MongoStorageConfiguration()
        engine = MongoStorageEngine(config)
        engine.initialise()
        store = MongoSpellingStore(engine)

        self.assert_upload_from_file_no_corpus(store, verbose=False)
Ejemplo n.º 5
0
    def test_upload_from_file_add_document_false(self):
        config = MongoStorageConfiguration()
        engine = MongoStorageEngine(config)
        engine.initialise()
        store = MongoSpellingStore(engine)

        self.assert_upload_from_file_exception(store, verbose=False)
Ejemplo n.º 6
0
    def test_upload_from_csv_file(self):
        config = MongoStorageConfiguration()
        engine = MongoStorageEngine(config)
        engine.initialise()
        store = MongoSetsStore(engine)

        self.assert_upload_from_csv_file(store)
Ejemplo n.º 7
0
    def test_empty_variables(self):
        config = MongoStorageConfiguration()
        engine = MongoStorageEngine(config)
        engine.initialise()
        store = MongoVariableStore(engine)

        self.assert_empty_variables(store)
Ejemplo n.º 8
0
    def test_save_learnf(self):
        config = MongoStorageConfiguration()
        engine = MongoStorageEngine(config)
        engine.initialise()
        store = MongoLearnfStore(engine)

        self.assert_save_learnf(store)
Ejemplo n.º 9
0
    def test_upload_text_files_from_directory_no_subdir(self):
        config = MongoStorageConfiguration()
        engine = MongoStorageEngine(config)
        engine.initialise()
        store = MongoSetsStore(engine)

        self.assert_upload_text_files_from_directory_no_subdir(store)
Ejemplo n.º 10
0
    def test_linkedaccounts_storage(self):
        config = MongoStorageConfiguration()
        engine = MongoStorageEngine(config)
        engine.initialise()
        store = MongoLinkedAccountStore(engine)

        self.assert_linkedaccounts_storage(store)
Ejemplo n.º 11
0
    def test_empty_named(self):
        config = MongoStorageConfiguration()
        engine = MongoStorageEngine(config)
        engine.initialise()
        store = MongoCategoryStore(engine)
        self.assertEqual(store.storage_engine, engine)

        self.assert_empty_name(store)
Ejemplo n.º 12
0
    def test_category_by_groupid_storage(self):
        config = MongoStorageConfiguration()
        engine = MongoStorageEngine(config)
        engine.initialise()
        store = MongoCategoryStore(engine)
        self.assertEqual(store.storage_engine, engine)

        self.assert_category_by_groupid_storage(store)
Ejemplo n.º 13
0
    def tests_conversation_storage(self):
        config = MongoStorageConfiguration()
        engine = MongoStorageEngine(config)
        engine.initialise()
        store = MongoConversationStore(engine)
        self.assertEqual(store.storage_engine, engine)

        self.assert_conversation_storage(store)
Ejemplo n.º 14
0
    def test_upload_from_directory(self):
        config = MongoStorageConfiguration()
        engine = MongoStorageEngine(config)
        engine.initialise()
        store = MongoCategoryStore(engine)
        self.assertEqual(store.storage_engine, engine)

        self.assert_upload_from_directory(store)
Ejemplo n.º 15
0
    def test_links_storage(self):
        config = MongoStorageConfiguration()
        engine = MongoStorageEngine(config)
        engine.initialise()
        store = MongoLinkStore(engine)
        self.assertEqual(store.storage_engine, engine)

        self.assert_links_storage(store)
Ejemplo n.º 16
0
    def setUp(self):
        config = MongoStorageConfiguration()
        self.storage_engine = MongoStorageEngine(config)
        self.storage_engine.initialise()

        client = TestClient()
        self.context = client.create_client_context("TESTUSER")
        self.context.brain._security._account_linker = BasicAccountLinkerService(
            self.storage_engine)
Ejemplo n.º 17
0
    def test_get_lookup_not_present(self):
        config = MongoStorageConfiguration()
        engine = MongoStorageEngine(config)
        engine.initialise()
        store = TestMongoLookupStore(engine)
        store.drop()

        collection = store.get_lookup()
        self.assertEquals({}, collection)
Ejemplo n.º 18
0
class MongoAccountLinkerExtensionTests(AccountLinkerExtensionAsserts):
    def setUp(self):
        config = MongoStorageConfiguration()
        config.drop_all_first = True
        self.storage_engine = MongoStorageEngine(config)
        self.storage_engine.initialise()

        client = TestClient()
        self.context = client.create_client_context("TESTUSER")
        self.context.brain._security._account_linker = BasicAccountLinkerService(
            self.storage_engine)

    @unittest.skipIf(Engines.mongo is False, Engines.mongo_disabled)
    def test_unknown_command(self):
        self.assert_unknown_command(self.context)

    @unittest.skipIf(Engines.mongo is False, Engines.mongo_disabled)
    def test_primary_account_link_success(self):
        self.assert_primary_account_link_success(self.context)

    def patch_get_account_linker_service(self, context):
        return None

    @unittest.skipIf(Engines.mongo is False, Engines.mongo_disabled)
    @patch(
        'programy.security.linking.extension.AccountLinkingExtension.get_account_linker_service',
        patch_get_account_linker_service)
    def test_primary_account_link_no_service(self):
        self.assert_primary_account_link_no_service(self.context)

    def patch_link_user_to_client(self, userid, account_name):
        return False

    @patch(
        'programy.security.linking.accountlinker.BasicAccountLinkerService.link_user_to_client',
        patch_link_user_to_client)
    def test_primary_account_link_link_user_to_client_fails(self):
        self.assert_primary_account_link_user_to_client_fails(self.context)

    @unittest.skipIf(Engines.mongo is False, Engines.mongo_disabled)
    def test_primary_account_link_failures(self):
        self.assert_primary_account_link_failures(self.context)

    @unittest.skipIf(Engines.mongo is False, Engines.mongo_disabled)
    def test_secondary_account_link_success(self):
        self.assert_secondary_account_link_success(self.context)

    @unittest.skipIf(Engines.mongo is False, Engines.mongo_disabled)
    def test_secondary_account_link_failures(self):
        self.assert_secondary_account_link_failures(self.context)

    @unittest.skipIf(Engines.mongo is False, Engines.mongo_disabled)
    @patch(
        'programy.security.linking.extension.AccountLinkingExtension.get_account_linker_service',
        patch_get_account_linker_service)
    def test_secondary_account_link_no_service(self):
        self.assert_secondary_account_link_no_service(self.context)
class MongoAccountLinkerServiceTests(AccountLinkerAsserts):
    def setUp(self):
        config = MongoStorageConfiguration()
        self.storage_engine = MongoStorageEngine(config)
        self.storage_engine.initialise()

    @unittest.skipIf(Engines.mongo is False, Engines.mongo_disabled)
    def test_init(self):
        mgr = BasicAccountLinkerService(self.storage_engine)
        self.assertIsNotNone(mgr)

    @unittest.skipIf(Engines.mongo is False, Engines.mongo_disabled)
    def test_generate_key(self):
        mgr = BasicAccountLinkerService(self.storage_engine)
        self.assert_generate_key(mgr)

    @unittest.skipIf(Engines.mongo is False, Engines.mongo_disabled)
    def test_generate_expirary(self):
        mgr = BasicAccountLinkerService(self.storage_engine)
        self.assert_generate_expirary(mgr)

    @unittest.skipIf(Engines.mongo is False, Engines.mongo_disabled)
    def test_happy_path(self):
        mgr = BasicAccountLinkerService(self.storage_engine)
        self.assert_happy_path(mgr)

    @unittest.skipIf(Engines.mongo is False, Engines.mongo_disabled)
    def test_user_client_link_already_exists(self):
        mgr = BasicAccountLinkerService(self.storage_engine)
        self.assert_user_client_link_already_exists(mgr)

    @unittest.skipIf(Engines.mongo is False, Engines.mongo_disabled)
    def test_provided_key_not_matched(self):
        mgr = BasicAccountLinkerService(self.storage_engine)
        self.assert_provided_key_not_matched(mgr)

    @unittest.skipIf(Engines.mongo is False, Engines.mongo_disabled)
    def test_generated_key_not_matched(self):
        mgr = BasicAccountLinkerService(self.storage_engine)
        self.assert_generated_key_not_matched(mgr)

    @unittest.skipIf(Engines.mongo is False, Engines.mongo_disabled)
    def test_generated_key_expired(self):
        mgr = BasicAccountLinkerService(self.storage_engine)
        self.assert_generated_key_expired(mgr)

    @unittest.skipIf(Engines.mongo is False, Engines.mongo_disabled)
    def test_lockout_after_max_retries(self):
        mgr = BasicAccountLinkerService(self.storage_engine)
        self.assert_lockout_after_max_retries(mgr)

    @unittest.skipIf(Engines.mongo is False, Engines.mongo_disabled)
    def test_unlink_user_from_client(self):
        mgr = BasicAccountLinkerService(self.storage_engine)
        self.assert_unlink_user_from_client(mgr)
Ejemplo n.º 20
0
    def test_upload_from_file_with_exception(self):
        config = MongoStorageConfiguration()
        engine = MongoStorageEngine(config)
        engine.initialise()
        store = MongoLicenseKeysStore(engine)

        store.empty()

        count, success = store.upload_from_file(os.path.dirname(__file__) + os.sep + "data" + os.sep + "licenses" + os.sep + "test_license.keys")
        self.assertEquals(0, count)
        self.assertEquals(0, success)
Ejemplo n.º 21
0
    def test_get_lookup_present(self):
        config = MongoStorageConfiguration()
        engine = MongoStorageEngine(config)
        engine.initialise()
        store = TestMongoLookupStore(engine)
        store.drop()

        store.add_to_lookup("key1", "value1", overwrite_existing=True)

        collection = store.get_lookup()
        self.assertIsNotNone(collection)
Ejemplo n.º 22
0
    def test_load_no_collection(self):
        config = MongoStorageConfiguration()
        engine = MongoStorageEngine(config)
        engine.initialise()
        store = TestMongoLookupStore(engine)

        collection = TestCollection()

        store.load(collection)

        self.assertEquals(0, len(collection.pairs.keys()))
Ejemplo n.º 23
0
    def test_initialise(self):

        config = unittest.mock.Mock()
        engine = MongoStorageEngine(config)
        store = MongoStore(engine)

        self.assertEqual(store.storage_engine, engine)
Ejemplo n.º 24
0
    def test_load_all(self):
        config = MongoStorageConfiguration()
        engine = MongoStorageEngine(config)
        engine.initialise()
        store = TestMongoLookupStore(engine)

        store.add_to_lookup("key1", "value1", overwrite_existing=True)

        collection = TestCollection()

        store.load_all(collection)

        self.assertEquals(1, len(collection.pairs.keys()))
        self.assertTrue(collection.has_key("key1"))
        self.assertEqual(
            [re.compile('(^key1|key1|key1$)', re.IGNORECASE), 'VALUE1'],
            collection.value("key1"))
Ejemplo n.º 25
0
    def upload(type,
               url,
               database,
               filename,
               dirname,
               subdir,
               extension,
               drop_all=False,
               verbose=False):
        config = MongoStorageConfiguration()
        config._url = url
        config._database = database
        config._drop_all_first = drop_all
        engine = MongoStorageEngine(config)
        engine.initialise()
        store = Uploader._get_store(type, engine)

        if drop_all is True:
            print("Dropped database")
            exit(0)

        print("Emptying [%s]" % type)
        store.empty()

        print("Loading [%s]" % type)
        if filename is not None:
            count, success = store.upload_from_file(filename,
                                                    format=Store.TEXT_FORMAT,
                                                    commit=True,
                                                    verbose=verbose)
            print("Lines processed ", count)
            print("Entities successful", success)
        elif dirname is not None:
            count, success = store.upload_from_directory(directory=dirname,
                                                         subdir=subdir,
                                                         extension=extension,
                                                         commit=True,
                                                         verbose=verbose)
            print("Lines processed ", count)
            print("Entities successful", success)
        else:
            raise Exception("You must specify either --file or --dir")
Ejemplo n.º 26
0
    def upload(storetype,
               url,
               database,
               filename,
               dirname,
               subdir,
               extension,
               verbose=False):
        config = MongoStorageConfiguration()
        config.url = url
        config.database = database
        config.drop_all_first = False
        engine = MongoStorageEngine(config)
        engine.initialise()
        store = Uploader._get_store(storetype, engine)

        outputLog(None, "Emptying [%s]" % storetype)
        store.empty()

        outputLog(None, "Loading [%s]" % storetype)
        if filename is not None:
            count, success = store.upload_from_file(
                filename,
                fileformat=Store.TEXT_FORMAT,
                commit=True,
                verbose=verbose)
            outputLog(None, "Lines processed: %d" % count)
            outputLog(None, "Entities successful: %d" % success)

        elif dirname is not None:
            count, success = store.upload_from_directory(directory=dirname,
                                                         subdir=subdir,
                                                         extension=extension,
                                                         commit=True,
                                                         verbose=verbose)
            outputLog(None, "Lines processed: %d" % count)
            outputLog(None, "Entities successful: %d" % success)

        else:
            raise Exception("You must specify either --file or --dir")

        return count, success
Ejemplo n.º 27
0
    def test_key_methods(self):
        config = unittest.mock.Mock()
        engine = MongoStorageEngine(config)
        store = MongoStore(engine)

        with self.assertRaises(NotImplementedError):
            store.drop()

        store.commit()

        store.rollback()

        with self.assertRaises(NotImplementedError):
            store.collection_name()
Ejemplo n.º 28
0
 def test_initialise(self):
     config = MongoStorageConfiguration()
     engine = MongoStorageEngine(config)
     engine.initialise()
     store = MongoPostQuestionProcessorStore(engine)
     self.assertEqual(store.storage_engine, engine)
Ejemplo n.º 29
0
 def test_initialise(self):
     config = MongoStorageConfiguration()
     engine = MongoStorageEngine(config)
     engine.initialise()
     store = MongoUserGroupsStore(engine)
     self.assertEqual(store.storage_engine, engine)
Ejemplo n.º 30
0
 def create_engine(self):
     engine = MongoStorageEngine(self)
     engine.initialise()
     return engine