diff options
author | Elena ``of Valhalla'' Grandi <valhalla@trueelena.org> | 2016-12-19 22:12:58 +0100 |
---|---|---|
committer | Elena ``of Valhalla'' Grandi <valhalla@trueelena.org> | 2016-12-19 22:12:58 +0100 |
commit | c22d66b350db2e213cc916fae4f6207440a9be4f (patch) | |
tree | d5863b0eb1b97b154a714dbacecf326655293d9d /tests | |
parent | 1c587b319a308a877608531961491f1dbb79317b (diff) |
Create new empty entry, also from the command line
Diffstat (limited to 'tests')
-rw-r--r-- | tests/data/simple/settings.yaml | 3 | ||||
-rw-r--r-- | tests/test_collection.py | 37 |
2 files changed, 38 insertions, 2 deletions
diff --git a/tests/data/simple/settings.yaml b/tests/data/simple/settings.yaml index 177aa92..36c4e3e 100644 --- a/tests/data/simple/settings.yaml +++ b/tests/data/simple/settings.yaml @@ -10,3 +10,6 @@ fields: - name: position type: string index: facet + - name: quantity + type: integer + index: no diff --git a/tests/test_collection.py b/tests/test_collection.py index c54dc32..1bacfd6 100644 --- a/tests/test_collection.py +++ b/tests/test_collection.py @@ -24,7 +24,7 @@ class testCollectionLoading(unittest.TestCase): self.collection = lesana.Collection('tests/data/simple') self.assertIsNotNone(self.collection.settings) self.assertEqual(self.collection.settings['name'], "Simple lesana collection") - self.assertEqual(len(self.collection.settings['fields']), 3) + self.assertEqual(len(self.collection.settings['fields']), 4) self.collection.update_cache() self.assertIsNotNone(self.collection.cache) @@ -59,7 +59,7 @@ class testEntries(unittest.TestCase): data = ruamel.yaml.load(fp) entry = lesana.Entry(self.collection, data=data, fname=fname) self.assertEqual(entry.idterm, 'Q'+data['uid']) - self.assertEqual(len(entry.indexed_fields), 3) + self.assertEqual(len(entry.indexed_fields), 4) fname = '11189ee47ddf4796b718a483b379f976.yaml' uid = '11189ee47ddf4796b718a483b379f976' with open(os.path.join(self.basepath, fname)) as fp: @@ -67,3 +67,36 @@ class testEntries(unittest.TestCase): entry = lesana.Entry(self.collection, data=data, fname=fname) self.assertEqual(entry.idterm, 'Q'+uid) self.assertEqual(len(entry.indexed_fields), 3) + + def test_write_new(self): + new_entry = lesana.Entry(self.collection) + self.collection.save_entries(entries=[new_entry]) + entry_fname = 'tests/data/simple/items/' + new_entry.fname + with open(entry_fname) as fp: + written = ruamel.yaml.load(fp) + self.assertIsInstance(written['quantity'], int) + self.assertIsInstance(written['name'], str) + os.remove(entry_fname) + + +class testComplexCollection(unittest.TestCase): + @classmethod + def setUpClass(self): + self.collection = lesana.Collection('tests/data/complex') + + @classmethod + def tearDownClass(self): + shutil.rmtree(os.path.join(self.collection.basedir, '.lesana')) + + def test_init(self): + self.assertIsNotNone(self.collection.settings) + self.assertEqual( + self.collection.settings['name'], + "Fully featured lesana collection" + ) + self.assertEqual(len(self.collection.settings['fields']), 3) + self.assertIsNotNone(self.collection.stemmer) + + def test_index(self): + self.collection.update_cache() + self.assertIsNotNone(self.collection.cache) |