Skip to content

Commit 466d528

Browse files
committed
fix: prepare for next python release
1 parent ace44b1 commit 466d528

File tree

5 files changed

+38
-31
lines changed

5 files changed

+38
-31
lines changed

algoliasearch_django/models.py

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -400,7 +400,7 @@ def raw_search(self, query="", params=None):
400400
else:
401401
logger.warning("ERROR DURING SEARCH ON %s: %s", self.index_name, e)
402402

403-
def get_settings(self):
403+
def get_settings(self) -> dict | None:
404404
"""Returns the settings of the index."""
405405
try:
406406
logger.info("GET SETTINGS ON %s", self.index_name)
@@ -482,23 +482,16 @@ def reindex_all(self, batch_size=1000):
482482
raise e # Unexpected error while getting settings
483483
try:
484484
should_keep_replicas = False
485-
should_keep_slaves = False
486485
replicas = None
487-
slaves = None
488486

489487
if self.settings:
490488
replicas = self.settings.get("replicas", None)
491-
slaves = self.settings.get("slaves", None)
492489

493490
should_keep_replicas = replicas is not None
494-
should_keep_slaves = slaves is not None
495491

496492
if should_keep_replicas:
497493
self.settings["replicas"] = []
498494
logger.debug("REMOVE REPLICAS FROM SETTINGS")
499-
if should_keep_slaves:
500-
self.settings["slaves"] = []
501-
logger.debug("REMOVE SLAVES FROM SETTINGS")
502495

503496
_resp = self.__client.set_settings(self.tmp_index_name, self.settings)
504497
self.__client.wait_for_task(self.tmp_index_name, _resp.task_id)
@@ -567,10 +560,7 @@ def reindex_all(self, batch_size=1000):
567560
if should_keep_replicas:
568561
self.settings["replicas"] = replicas
569562
logger.debug("RESTORE REPLICAS")
570-
if should_keep_slaves:
571-
self.settings["slaves"] = slaves
572-
logger.debug("RESTORE SLAVES")
573-
if should_keep_replicas or should_keep_slaves:
563+
if should_keep_replicas:
574564
_resp = self.__client.set_settings(self.index_name, self.settings)
575565
self.__client.wait_for_task(self.tmp_index_name, _resp.task_id)
576566
if should_keep_rules:

algoliasearch_django/registration.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,8 @@ def __init__(self, settings=SETTINGS):
3434

3535
self.__registered_models = {}
3636
self.client = SearchClientSync(app_id, api_key)
37-
# self.client.add_user_agent("Algolia for Django", VERSION)
38-
# self.client.add_user_agent("Django", django_version())
37+
self.client.add_user_agent("Algolia for Django", VERSION)
38+
self.client.add_user_agent("Django", django_version())
3939

4040
def is_registered(self, model):
4141
"""Checks whether the given models is registered with Algolia engine"""

runtests.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@ def main():
1414
TestRunner = get_runner(settings)
1515
test_runner = TestRunner(failfase=True)
1616
# kept here to run a single test
17-
failures = test_runner.run_tests(["tests.test_index.IndexTestCase"])
18-
# failures = test_runner.run_tests(["tests"])
17+
# failures = test_runner.run_tests(["tests.test_index.IndexTestCase.test_reindex_with_synonyms"])
18+
failures = test_runner.run_tests(["tests"])
1919
sys.exit(bool(failures))
2020

2121

tests/test_engine.py

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
import six
22

3+
from django import __version__ as __django__version__
34
from django.conf import settings
45
from django.test import TestCase
56

6-
from algoliasearch_django import algolia_engine
7+
from algoliasearch_django import algolia_engine, __version__
78
from algoliasearch_django import AlgoliaIndex
89
from algoliasearch_django import AlgoliaEngine
910
from algoliasearch_django.registration import AlgoliaEngineError
@@ -29,11 +30,11 @@ def test_init_exception(self):
2930
with self.assertRaises(AlgoliaEngineError):
3031
AlgoliaEngine(settings=settings.ALGOLIA)
3132

32-
# def test_user_agent(self):
33-
# self.assertIn(
34-
# "Algolia for Django (%s); Django (%s)" % VERSION % django_version(),
35-
# self.engine.client._config.user_agent.get(),
36-
# )
33+
def test_user_agent(self):
34+
self.assertIn(
35+
"Algolia for Django (%s); Django (%s)" % __version__ % __django__version__,
36+
self.engine.client._config.user_agent.get(),
37+
)
3738

3839
def test_auto_discover_indexes(self):
3940
"""Test that the `index` module was auto-discovered and the models registered"""

tests/test_index.py

Lines changed: 25 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -225,7 +225,7 @@ class WebsiteIndex(AlgoliaIndex):
225225
self.index = WebsiteIndex(Website, self.client, settings.ALGOLIA)
226226

227227
# Given some existing query rules on the index
228-
self.index.__client.save_rule()
228+
# index.__index.save_rule() # TODO: Check query rules are kept
229229

230230
# Given some existing settings on the index
231231
existing_settings = self.apply_some_settings(self.index)
@@ -237,7 +237,13 @@ class WebsiteIndex(AlgoliaIndex):
237237
# Expect the settings to be reset to model definition over reindex
238238
former_settings = existing_settings
239239
former_settings["hitsPerPage"] = 15
240-
self.assertDictEqual(self.index.get_settings(), former_settings)
240+
241+
new_settings = self.index.get_settings()
242+
243+
self.assertIsNotNone(new_settings)
244+
245+
if new_settings is not None:
246+
self.assertDictEqual(new_settings, former_settings)
241247

242248
def test_reindex_with_rules(self):
243249
# Given an existing index defined with settings
@@ -253,6 +259,11 @@ class WebsiteIndex(AlgoliaIndex):
253259
"consequence": {"params": {"query": "other text"}},
254260
}
255261

262+
self.assertIsNotNone(self.index.index_name)
263+
264+
if self.index.index_name is None:
265+
return
266+
256267
self.client.save_rule(self.index.index_name, rule["objectID"], rule)
257268

258269
# When reindexing with no settings on the instance
@@ -280,32 +291,37 @@ class WebsiteIndex(AlgoliaIndex):
280291

281292
self.index = WebsiteIndex(Website, self.client, settings.ALGOLIA)
282293

294+
self.assertIsNotNone(self.index.index_name)
295+
296+
if self.index.index_name is None:
297+
return
298+
283299
# Given some existing synonyms on the index
284300
synonym = {
285301
"objectID": "street",
286302
"type": "altCorrection1",
287303
"word": "Street",
288304
"corrections": ["St"],
289305
}
290-
self.index.__client.save_synonyms(
291-
self.index.index_name, synonym["objectID"], synonym
292-
)
306+
save_synonyms_response = self.client.save_synonyms(self.index.index_name, synonym_hit=[synonym])
307+
self.client.wait_for_task(self.index.index_name, save_synonyms_response.task_id)
293308

294309
# When reindexing with no settings on the instance
295310
self.index = WebsiteIndex(Website, self.client, settings.ALGOLIA)
296311
self.index.reindex_all()
297312

298313
# Expect the synonyms to be kept across reindex
314+
resp = self.client.search_synonyms(index_name=self.index.index_name)
315+
print(resp, self.index.index_name)
316+
299317
synonyms = []
300-
self.index.__client.browse_synonyms(
301-
self.index.index_name, lambda _resp: synonyms.extend(_resp.hits)
302-
)
318+
self.client.browse_synonyms(self.index.index_name, lambda _resp: print(_resp))
303319
self.assertEqual(len(synonyms), 1, "There should only be one synonym")
304320
self.assertIn(
305321
synonym, synonyms, "The existing synonym should be kept over reindex"
306322
)
307323

308-
def apply_some_settings(self, index):
324+
def apply_some_settings(self, index) -> dict:
309325
"""
310326
Applies a sample setting to the index.
311327

0 commit comments

Comments
 (0)