diff options
Diffstat (limited to 'tests/test_collection.py')
-rw-r--r-- | tests/test_collection.py | 156 |
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) |