def test_delete_datasource(self, api_key, endpoint, index_name, **kwargs): client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) data_source = self._create_datasource() result = client.create_datasource(data_source) assert len(client.get_datasources()) == 1 client.delete_datasource("sample-datasource") assert len(client.get_datasources()) == 0
def test_create_or_update_datasource(self, api_key, endpoint, index_name, **kwargs): client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) data_source = self._create_datasource() created = client.create_datasource(data_source) assert len(client.get_datasources()) == 1 data_source.description = "updated" client.create_or_update_datasource(data_source) assert len(client.get_datasources()) == 1 result = client.get_datasource("sample-datasource") assert result.name == "sample-datasource" assert result.description == "updated"
def test_list_datasource(self, api_key, endpoint, index_name, **kwargs): client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) data_source1 = self._create_datasource() data_source2 = self._create_datasource(name="another-sample") created1 = client.create_datasource(data_source1) created2 = client.create_datasource(data_source2) result = client.get_datasources() assert isinstance(result, list) assert set(x.name for x in result) == {"sample-datasource", "another-sample"}
def test_delete_datasource_if_unchanged(self, api_key, endpoint, index_name, **kwargs): client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key)) data_source = self._create_datasource() created = client.create_datasource(data_source) etag = created.e_tag # Now update the data source data_source.description = "updated" client.create_or_update_datasource(data_source) # prepare data source data_source.e_tag = etag # reset to the original datasource with pytest.raises(HttpResponseError): client.delete_datasource( data_source, match_condition=MatchConditions.IfNotModified) assert len(client.get_datasources()) == 1