Mercurial > p > roundup > code
diff test/test_indexer.py @ 6353:9d209d2b34ae
Add indexer_language to change stemmer for xapian FTS indexer
Nagy Gabor asked how to enable the hungarian stemmer in roundup. This
required editing indexer_xapian.py replacing hardcoded "english"
term. This value is now exposed in the config file under [main]
index_language.
This only works for xapian currently.
| author | John Rouillard <rouilj@ieee.org> |
|---|---|
| date | Sun, 28 Mar 2021 23:34:43 -0400 |
| parents | 5bf7b5debb09 |
| children | c26b9ce33ae3 |
line wrap: on
line diff
--- a/test/test_indexer.py Sat Mar 27 13:05:50 2021 -0400 +++ b/test/test_indexer.py Sun Mar 28 23:34:43 2021 -0400 @@ -55,6 +55,7 @@ DATABASE = 'test-index' config = config() config[('main', 'indexer_stopwords')] = [] + config[('main', 'indexer_language')] = "english" class IndexerTest(unittest.TestCase): def setUp(self): @@ -194,7 +195,26 @@ self.dex = Indexer(db) def tearDown(self): shutil.rmtree('test-index') + def test_invalid_language(self): + """ make sure we have a reasonable error message if + invalid language is specified """ + l = db.config[('main', 'indexer_language')] + db.config[('main', 'indexer_language')] = "NO_LANG" + from roundup.backends.indexer_xapian import Indexer + with self.assertRaises(ValueError) as cm: + Indexer(db) + # note if Indexer(db) doesn't return ValueError + # all Xapian tests after this point will fail. + # because a valid langage will not be set. + # reset the valid language. + db.config[('main', 'indexer_language')] = l + print(cm) + self.assertIn("ValueError", repr(cm.exception)) + # look for failing language + self.assertIn("NO_LANG", cm.exception.args[0]) + # look for supported language + self.assertIn("english", cm.exception.args[0]) class RDBMSIndexerTest(object): def setUp(self):
