From 277c063e32e52106956b570e5d965d663969c79f Mon Sep 17 00:00:00 2001 From: Elena ``of Valhalla'' Grandi Date: Sun, 11 Dec 2016 21:06:26 +0100 Subject: Load some data into xapian --- .../items/085682ed-6792-499d-a3ab-9aebd683c011.yaml | 6 ++++++ .../items/11189ee47ddf4796b718a483b379f976.yaml | 3 +++ tests/data/wrong/schema.yaml | 12 ++++++++++++ tests/test_collection.py | 20 +++++++++++++++++++- 4 files changed, 40 insertions(+), 1 deletion(-) create mode 100644 tests/data/simple/items/085682ed-6792-499d-a3ab-9aebd683c011.yaml create mode 100644 tests/data/simple/items/11189ee47ddf4796b718a483b379f976.yaml create mode 100644 tests/data/wrong/schema.yaml (limited to 'tests') diff --git a/tests/data/simple/items/085682ed-6792-499d-a3ab-9aebd683c011.yaml b/tests/data/simple/items/085682ed-6792-499d-a3ab-9aebd683c011.yaml new file mode 100644 index 0000000..a66bb67 --- /dev/null +++ b/tests/data/simple/items/085682ed-6792-499d-a3ab-9aebd683c011.yaml @@ -0,0 +1,6 @@ +name: One Item +description: | + This is a long block of test + that spans multiple lines. +position: somewhere +id: 085682ed6792499da3ab9aebd683c011 diff --git a/tests/data/simple/items/11189ee47ddf4796b718a483b379f976.yaml b/tests/data/simple/items/11189ee47ddf4796b718a483b379f976.yaml new file mode 100644 index 0000000..e1f7fc1 --- /dev/null +++ b/tests/data/simple/items/11189ee47ddf4796b718a483b379f976.yaml @@ -0,0 +1,3 @@ +name: Another item +description: with just a short description +position: somewhere diff --git a/tests/data/wrong/schema.yaml b/tests/data/wrong/schema.yaml new file mode 100644 index 0000000..56031e4 --- /dev/null +++ b/tests/data/wrong/schema.yaml @@ -0,0 +1,12 @@ +name: "Lesana collection with certain errors" +lang: 'somethingish' +fields: + - name: name + type: string + index: free + - name: description + type: text + index: free + - name: position + type: string + index: facet diff --git a/tests/test_collection.py b/tests/test_collection.py index 64dd293..d0a9864 100644 --- a/tests/test_collection.py +++ b/tests/test_collection.py @@ -1,3 +1,4 @@ +import logging import os.path import shutil import unittest @@ -11,8 +12,11 @@ class testCollectionLoading(unittest.TestCase): def test_empty(self): self.collection = lesana.Collection('tests/data/empty') - self.assertIsNone(self.collection.schema) + self.assertEqual(self.collection.schema, {}) self.assertIsNotNone(self.collection.cache) + self.assertIsNotNone(self.collection.stemmer) + + self.collection.update_cache() def test_simple(self): self.collection = lesana.Collection('tests/data/simple') @@ -20,3 +24,17 @@ class testCollectionLoading(unittest.TestCase): self.assertEqual(self.collection.schema['name'], "Simple lesana collection") self.assertEqual(len(self.collection.schema['fields']), 3) self.assertIsNotNone(self.collection.cache) + self.assertIsNotNone(self.collection.stemmer) + + self.collection.update_cache() + + def test_wrong_language(self): + # This loads a collection with an invalid value in lang + with self.assertLogs(level=logging.WARNING) as cm: + self.collection = lesana.Collection('tests/data/wrong') + self.assertEqual(len(cm.output), 1) + self.assertIn("Invalid language", cm.output[0]) + # The collection will default to english, but should still work. + self.assertIsNotNone(self.collection.schema) + self.assertIsNotNone(self.collection.cache) + self.assertIsNotNone(self.collection.stemmer) -- cgit v1.2.3