summaryrefslogtreecommitdiff
path: root/tests/test_collection.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_collection.py')
-rw-r--r--tests/test_collection.py156
1 files changed, 89 insertions, 67 deletions
diff --git a/tests/test_collection.py b/tests/test_collection.py
index 04ec410..832f421 100644
--- a/tests/test_collection.py
+++ b/tests/test_collection.py
@@ -26,13 +26,13 @@ class testEntries(unittest.TestCase):
with open(os.path.join(self.basepath, fname)) as fp:
data = ruamel.yaml.safe_load(fp)
entry = lesana.Entry(self.collection, data=data, fname=fname)
- self.assertEqual(entry.idterm, 'Q'+data['eid'])
+ self.assertEqual(entry.idterm, 'Q' + data['eid'])
fname = '11189ee47ddf4796b718a483b379f976.yaml'
eid = '11189ee47ddf4796b718a483b379f976'
with open(os.path.join(self.basepath, fname)) as fp:
data = ruamel.yaml.safe_load(fp)
entry = lesana.Entry(self.collection, data=data, fname=fname)
- self.assertEqual(entry.idterm, 'Q'+eid)
+ self.assertEqual(entry.idterm, 'Q' + eid)
self.assertEqual(entry.short_id, eid[:8])
def test_write_new(self):
@@ -51,16 +51,12 @@ class testEntries(unittest.TestCase):
def test_entry_representation(self):
eid = '11189ee47ddf4796b718a483b379f976'
entry = self.collection.entry_from_eid(eid)
- self.assertEqual(
- str(entry),
- eid
- )
+ self.assertEqual(str(entry), eid)
label = '{{ eid }}: {{ name }}'
self.collection.settings['entry_label'] = label
self.assertEqual(
- str(entry),
- '{eid}: {name}'.format(eid=eid, name='Another item')
- )
+ str(entry), '{eid}: {name}'.format(eid=eid, name='Another item')
+ )
def test_entry_creation_eid_but_no_filename(self):
fname = '11189ee47ddf4796b718a483b379f976.yaml'
@@ -149,9 +145,8 @@ class testSimpleCollection(unittest.TestCase):
def test_loaded(self):
self.assertIsNotNone(self.collection.settings)
self.assertEqual(
- self.collection.settings['name'],
- "Simple lesana collection"
- )
+ self.collection.settings['name'], "Simple lesana collection"
+ )
self.assertEqual(len(self.collection.settings['fields']), 7)
self.assertEqual(len(self.collection.indexed_fields), 3)
@@ -204,28 +199,24 @@ class testSimpleCollection(unittest.TestCase):
def test_entry_from_eid(self):
entry = self.collection.entry_from_eid(
'11189ee47ddf4796b718a483b379f976'
- )
+ )
self.assertEqual(entry.eid, '11189ee47ddf4796b718a483b379f976')
self.collection.safe = True
entry = self.collection.entry_from_eid(
'11189ee47ddf4796b718a483b379f976'
- )
+ )
self.assertEqual(entry.eid, '11189ee47ddf4796b718a483b379f976')
def test_entry_from_short_eid(self):
- entries = self.collection.entries_from_short_eid(
- '11189ee4'
- )
+ entries = self.collection.entries_from_short_eid('11189ee4')
self.assertEqual(len(entries), 1)
self.assertEqual(entries[0].eid, '11189ee47ddf4796b718a483b379f976')
entries = self.collection.entries_from_short_eid(
'11189ee47ddf4796b718a483b379f976'
- )
+ )
self.assertEqual(len(entries), 1)
self.assertEqual(entries[0].eid, '11189ee47ddf4796b718a483b379f976')
- entries = self.collection.entries_from_short_eid(
- '12345678'
- )
+ entries = self.collection.entries_from_short_eid('12345678')
self.assertEqual(len(entries), 0)
def test_index_missing_file(self):
@@ -241,24 +232,26 @@ class testSimpleCollection(unittest.TestCase):
def test_render_collection(self):
template = self.collection.get_template(
'tests/data/simple/templates/collection_template.txt'
- )
+ )
res = template.render(entries=self.collection.get_all_documents())
self.assertIn('11189ee4: Another item', res)
def test_update(self):
self.collection.update_field('Item', field="position", value="new_pos")
- with open(os.path.join(
- self.collection.basedir,
- 'items',
- '11189ee47ddf4796b718a483b379f976.yaml'
- )) as fp:
+ with open(
+ os.path.join(
+ self.collection.basedir,
+ 'items',
+ '11189ee47ddf4796b718a483b379f976.yaml',
+ )
+ ) as fp:
self.assertIn("new_pos", fp.read())
pass
self.assertEqual(
self.collection.entry_from_eid(
"11189ee47ddf4796b718a483b379f976"
).data['position'],
- "new_pos"
+ "new_pos",
)
self.assertIsNone(
@@ -281,8 +274,8 @@ class testComplexCollection(unittest.TestCase):
self.assertIsNotNone(self.collection.settings)
self.assertEqual(
self.collection.settings['name'],
- "Fully featured lesana collection"
- )
+ "Fully featured lesana collection",
+ )
self.assertEqual(len(self.collection.settings['fields']), 9)
self.assertIsNotNone(self.collection.stemmer)
self.assertEqual(len(self.collection.indexed_fields), 6)
@@ -302,7 +295,7 @@ class testComplexCollection(unittest.TestCase):
def test_boolean_field(self):
entry = self.collection.entry_from_eid(
'73097121f1874a6ea2f927db7dc4f11e'
- )
+ )
self.assertIsInstance(entry.data['exists'], bool)
def test_empty_data(self):
@@ -348,8 +341,8 @@ class testCollectionWithErrors(unittest.TestCase):
self.assertIsNotNone(self.collection.settings)
self.assertEqual(
self.collection.settings['name'],
- "Lesana collection with certain errors"
- )
+ "Lesana collection with certain errors",
+ )
self.assertEqual(len(self.collection.settings['fields']), 7)
self.assertIsNotNone(self.collection.stemmer)
self.assertEqual(len(self.collection.indexed_fields), 3)
@@ -371,15 +364,23 @@ class testCollectionCreation(unittest.TestCase):
self.assertIsInstance(collection, lesana.Collection)
self.assertTrue(os.path.isdir(os.path.join(self.tmpdir, '.git')))
self.assertTrue(os.path.isdir(os.path.join(self.tmpdir, '.lesana')))
- self.assertTrue(os.path.isfile(os.path.join(self.tmpdir, 'settings.yaml')))
- self.assertTrue(os.path.isfile(os.path.join(self.tmpdir, '.gitignore')))
+ self.assertTrue(
+ os.path.isfile(os.path.join(self.tmpdir, 'settings.yaml'))
+ )
+ self.assertTrue(
+ os.path.isfile(os.path.join(self.tmpdir, '.gitignore'))
+ )
# and then run it twice on the same directory, nothing should break
collection = lesana.Collection.init(self.tmpdir)
self.assertIsInstance(collection, lesana.Collection)
self.assertTrue(os.path.isdir(os.path.join(self.tmpdir, '.git')))
self.assertTrue(os.path.isdir(os.path.join(self.tmpdir, '.lesana')))
- self.assertTrue(os.path.isfile(os.path.join(self.tmpdir, 'settings.yaml')))
- self.assertTrue(os.path.isfile(os.path.join(self.tmpdir, '.gitignore')))
+ self.assertTrue(
+ os.path.isfile(os.path.join(self.tmpdir, 'settings.yaml'))
+ )
+ self.assertTrue(
+ os.path.isfile(os.path.join(self.tmpdir, '.gitignore'))
+ )
created = lesana.Collection(self.tmpdir)
self.assertTrue(created.settings['git'])
@@ -388,36 +389,49 @@ class testCollectionCreation(unittest.TestCase):
pass
def test_init_edit_file(self):
- collection = lesana.Collection.init(self.tmpdir, edit_file=self._do_nothing)
+ collection = lesana.Collection.init(
+ self.tmpdir, edit_file=self._do_nothing
+ )
self.assertIsInstance(collection, lesana.Collection)
self.assertTrue(os.path.isdir(os.path.join(self.tmpdir, '.git')))
self.assertTrue(os.path.isdir(os.path.join(self.tmpdir, '.lesana')))
- self.assertTrue(os.path.isfile(os.path.join(self.tmpdir, 'settings.yaml')))
- self.assertTrue(os.path.isfile(os.path.join(self.tmpdir, '.gitignore')))
+ self.assertTrue(
+ os.path.isfile(os.path.join(self.tmpdir, 'settings.yaml'))
+ )
+ self.assertTrue(
+ os.path.isfile(os.path.join(self.tmpdir, '.gitignore'))
+ )
def test_init_no_git(self):
collection = lesana.Collection.init(self.tmpdir, git_enabled=False)
self.assertIsInstance(collection, lesana.Collection)
self.assertFalse(os.path.isdir(os.path.join(self.tmpdir, '.git')))
self.assertTrue(os.path.isdir(os.path.join(self.tmpdir, '.lesana')))
- self.assertTrue(os.path.isfile(os.path.join(self.tmpdir, 'settings.yaml')))
- self.assertFalse(os.path.isfile(os.path.join(self.tmpdir, '.gitignore')))
+ self.assertTrue(
+ os.path.isfile(os.path.join(self.tmpdir, 'settings.yaml'))
+ )
+ self.assertFalse(
+ os.path.isfile(os.path.join(self.tmpdir, '.gitignore'))
+ )
# and then run it twice on the same directory, nothing should break
collection = lesana.Collection.init(self.tmpdir, git_enabled=False)
self.assertIsInstance(collection, lesana.Collection)
self.assertFalse(os.path.isdir(os.path.join(self.tmpdir, '.git')))
self.assertTrue(os.path.isdir(os.path.join(self.tmpdir, '.lesana')))
- self.assertTrue(os.path.isfile(os.path.join(self.tmpdir, 'settings.yaml')))
- self.assertFalse(os.path.isfile(os.path.join(self.tmpdir, '.gitignore')))
+ self.assertTrue(
+ os.path.isfile(os.path.join(self.tmpdir, 'settings.yaml'))
+ )
+ self.assertFalse(
+ os.path.isfile(os.path.join(self.tmpdir, '.gitignore'))
+ )
created = lesana.Collection(self.tmpdir)
self.assertFalse(created.settings['git'])
def test_deletion(self):
shutil.copy('tests/data/simple/settings.yaml', self.tmpdir)
shutil.copytree(
- 'tests/data/simple/items',
- os.path.join(self.tmpdir, 'items'),
- )
+ 'tests/data/simple/items', os.path.join(self.tmpdir, 'items'),
+ )
collection = lesana.Collection.init(self.tmpdir)
# We start with one item indexed with the term "another"
collection.start_search('another')
@@ -426,11 +440,15 @@ class testCollectionCreation(unittest.TestCase):
# Then delete it
collection.remove_entries(['11189ee47ddf4796b718a483b379f976'])
# An now we should have none
- self.assertFalse(os.path.exists(os.path.join(
- self.tmpdir,
- 'items',
- '11189ee47ddf4796b718a483b379f976.yaml'
- )))
+ self.assertFalse(
+ os.path.exists(
+ os.path.join(
+ self.tmpdir,
+ 'items',
+ '11189ee47ddf4796b718a483b379f976.yaml',
+ )
+ )
+ )
collection.start_search('another')
mset = collection._enquire.get_mset(0, 10)
self.assertEqual(mset.get_matches_estimated(), 0)
@@ -438,9 +456,8 @@ class testCollectionCreation(unittest.TestCase):
def test_partial_eid_deletion(self):
shutil.copy('tests/data/simple/settings.yaml', self.tmpdir)
shutil.copytree(
- 'tests/data/simple/items',
- os.path.join(self.tmpdir, 'items'),
- )
+ 'tests/data/simple/items', os.path.join(self.tmpdir, 'items'),
+ )
collection = lesana.Collection.init(self.tmpdir)
# We start with one item indexed with the term "another"
collection.start_search('another')
@@ -449,11 +466,15 @@ class testCollectionCreation(unittest.TestCase):
# Then delete it, using the short id
collection.remove_entries(['11189ee4'])
# An now we should have none
- self.assertFalse(os.path.exists(os.path.join(
- self.tmpdir,
- 'items',
- '11189ee47ddf4796b718a483b379f976.yaml'
- )))
+ self.assertFalse(
+ os.path.exists(
+ os.path.join(
+ self.tmpdir,
+ 'items',
+ '11189ee47ddf4796b718a483b379f976.yaml',
+ )
+ )
+ )
collection.start_search('another')
mset = collection._enquire.get_mset(0, 10)
self.assertEqual(mset.get_matches_estimated(), 0)
@@ -469,9 +490,8 @@ class testCollectionCreation(unittest.TestCase):
def test_git_adding(self):
shutil.copy('tests/data/simple/settings.yaml', self.tmpdir)
shutil.copytree(
- 'tests/data/simple/items',
- os.path.join(self.tmpdir, 'items'),
- )
+ 'tests/data/simple/items', os.path.join(self.tmpdir, 'items'),
+ )
collection = lesana.Collection.init(self.tmpdir)
fname = '11189ee47ddf4796b718a483b379f976.yaml'
repo = git.Repo(self.tmpdir)
@@ -498,11 +518,13 @@ class testCollectionCreation(unittest.TestCase):
'fields': [
{'name': 'title', 'type': 'string'},
{'name': 'author', 'type': 'string'},
- ],
- },
- )
+ ],
+ },
+ )
self.assertIsInstance(collection, lesana.Collection)
- self.assertTrue(os.path.isfile(os.path.join(self.tmpdir, 'settings.yaml')))
+ self.assertTrue(
+ os.path.isfile(os.path.join(self.tmpdir, 'settings.yaml'))
+ )
self.assertEqual(collection.settings['name'], 'A different name')
self.assertEqual(len(collection.settings['fields']), 2)