def test_delete_indexer(self, api_key, endpoint, index_name, **kwargs): client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) indexer = self._prepare_indexer(endpoint, api_key) result = client.create_indexer(indexer) assert len(client.get_indexers()) == 1 client.delete_indexer("sample-indexer") assert len(client.get_indexers()) == 0
def test_create_or_update_indexer(self, api_key, endpoint, index_name, **kwargs): client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) indexer = self._prepare_indexer(endpoint, api_key) created = client.create_indexer(indexer) assert len(client.get_indexers()) == 1 indexer.description = "updated" client.create_or_update_indexer(indexer) assert len(client.get_indexers()) == 1 result = client.get_indexer("sample-indexer") assert result.name == "sample-indexer" assert result.description == "updated"
def test_reset_indexer(self, api_key, endpoint, index_name, **kwargs): client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) indexer = self._prepare_indexer(endpoint, api_key) result = client.create_indexer(indexer) assert len(client.get_indexers()) == 1 result = client.reset_indexer("sample-indexer") assert client.get_indexer_status("sample-indexer").last_result.status in ('InProgress', 'reset')
def test_run_indexer(self, api_key, endpoint, index_name, **kwargs): client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) indexer = self._prepare_indexer(endpoint, api_key) result = client.create_indexer(indexer) assert len(client.get_indexers()) == 1 start = time.time() client.run_indexer("sample-indexer") assert client.get_indexer_status("sample-indexer").status == 'running'
def test_list_indexer(self, api_key, endpoint, index_name, **kwargs): client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) indexer1 = self._prepare_indexer(endpoint, api_key) indexer2 = self._prepare_indexer(endpoint, api_key, name="another-indexer", ds_name="another-datasource", id_name="another-index") created1 = client.create_indexer(indexer1) created2 = client.create_indexer(indexer2) result = client.get_indexers() assert isinstance(result, list) assert set(x.name for x in result) == {"sample-indexer", "another-indexer"}
def _clean_up_indexers(endpoint, api_key): from azure.search.documents.indexes import SearchIndexerClient client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) for indexer in client.get_indexers(): client.delete_indexer(indexer) for datasource in client.get_data_source_connection_names(): client.delete_data_source_connection(datasource) for skillset in client.get_skillset_names(): client.delete_skillset(skillset)