class BibDocFsInfoTest(InvenioTestCase): """Regression tests about the table bibdocfsinfo""" def setUp(self): from invenio.legacy.bibdocfile.api import BibRecDocs self.my_bibrecdoc = BibRecDocs(2) self.unique_name = self.my_bibrecdoc.propose_unique_docname('file') self.my_bibdoc = self.my_bibrecdoc.add_new_file( pkg_resources.resource_filename( 'invenio_demosite.testsuite.regression', 'data/test.jpg'), docname=self.unique_name) self.my_bibdoc_id = self.my_bibdoc.id def tearDown(self): self.my_bibdoc.expunge() def test_hard_delete(self): """bibdocfile - test correct update of bibdocfsinfo when hard-deleting""" from invenio.legacy.dbquery import run_sql self.assertEqual(run_sql("SELECT MAX(version) FROM bibdocfsinfo WHERE id_bibdoc=%s", (self.my_bibdoc_id, ))[0][0], 1) self.assertEqual(run_sql("SELECT last_version FROM bibdocfsinfo WHERE id_bibdoc=%s AND version=1 AND format='.jpg'", (self.my_bibdoc_id, ))[0][0], True) self.my_bibdoc.add_file_new_version( pkg_resources.resource_filename( 'invenio_demosite.testsuite.regression', 'data/test.gif')) self.assertEqual(run_sql("SELECT MAX(version) FROM bibdocfsinfo WHERE id_bibdoc=%s", (self.my_bibdoc_id, ))[0][0], 2) self.assertEqual(run_sql("SELECT last_version FROM bibdocfsinfo WHERE id_bibdoc=%s AND version=2 AND format='.gif'", (self.my_bibdoc_id, ))[0][0], True) self.assertEqual(run_sql("SELECT last_version FROM bibdocfsinfo WHERE id_bibdoc=%s AND version=1 AND format='.jpg'", (self.my_bibdoc_id, ))[0][0], False) self.my_bibdoc.delete_file('.gif', 2) self.assertEqual(run_sql("SELECT MAX(version) FROM bibdocfsinfo WHERE id_bibdoc=%s", (self.my_bibdoc_id, ))[0][0], 1) self.assertEqual(run_sql("SELECT last_version FROM bibdocfsinfo WHERE id_bibdoc=%s AND version=1 AND format='.jpg'", (self.my_bibdoc_id, ))[0][0], True)
def test_BibRecDocs(self): """bibdocfile - BibRecDocs functions""" from invenio.legacy.bibdocfile.api import BibRecDocs my_bibrecdoc = BibRecDocs(2) #add bibdoc my_bibrecdoc.add_new_file( pkg_resources.resource_filename( 'invenio_demosite.testsuite.regression', 'data/test.jpg'), 'Main', 'img_test', False, 'test add new file', 'test', '.jpg') my_bibrecdoc.add_bibdoc(doctype='Main', docname='file', never_fail=False) self.assertEqual(len(my_bibrecdoc.list_bibdocs()), 3) my_added_bibdoc = my_bibrecdoc.get_bibdoc('file') #add bibdocfile in empty bibdoc my_added_bibdoc.add_file_new_version( pkg_resources.resource_filename( 'invenio_demosite.testsuite.regression', 'data/test.gif'), description='added in empty bibdoc', comment=None, docformat=None, flags=['PERFORM_HIDE_PREVIOUS']) #propose unique docname self.assertEqual(my_bibrecdoc.propose_unique_docname('file'), 'file_2') #has docname self.assertEqual(my_bibrecdoc.has_docname_p('file'), True) #merge 2 bibdocs my_bibrecdoc.merge_bibdocs('img_test', 'file') self.assertEqual( len(my_bibrecdoc.get_bibdoc("img_test").list_all_files()), 2) #check file exists self.assertEqual( my_bibrecdoc.check_file_exists( pkg_resources.resource_filename( 'invenio_demosite.testsuite.regression', 'data/test.jpg'), '.jpg'), True) #get bibdoc names # we can not rely on the order ! names = set([ my_bibrecdoc.get_bibdoc_names('Main')[0], my_bibrecdoc.get_bibdoc_names('Main')[1] ]) self.assertTrue('0104007_02' in names) self.assertTrue('img_test' in names) #get total size self.assertEqual(my_bibrecdoc.get_total_size(), 1647591) #get total size latest version self.assertEqual(my_bibrecdoc.get_total_size_latest_version(), 1647591) #display #value = my_bibrecdoc.display(docname='img_test', version='', doctype='', ln='en', verbose=0, display_hidden=True) #self.assert_("<small><b>Main</b>" in value) #get xml 8564 value = my_bibrecdoc.get_xml_8564() self.assert_('/' + cfg['CFG_SITE_RECORD'] + '/2/files/img_test.jpg</subfield>' in value) #check duplicate docnames self.assertEqual(my_bibrecdoc.check_duplicate_docnames(), True)
def test_BibRecDocs(self): """bibdocfile - BibRecDocs functions""" from invenio.legacy.bibdocfile.api import BibRecDocs my_bibrecdoc = BibRecDocs(2) #add bibdoc my_bibrecdoc.add_new_file( pkg_resources.resource_filename( 'invenio_demosite.testsuite.regression', 'data/test.jpg'), 'Main', 'img_test', False, 'test add new file', 'test', '.jpg') my_bibrecdoc.add_bibdoc(doctype='Main', docname='file', never_fail=False) self.assertEqual(len(my_bibrecdoc.list_bibdocs()), 3) my_added_bibdoc = my_bibrecdoc.get_bibdoc('file') #add bibdocfile in empty bibdoc my_added_bibdoc.add_file_new_version( pkg_resources.resource_filename( 'invenio_demosite.testsuite.regression', 'data/test.gif'), description= 'added in empty bibdoc', comment=None, docformat=None, flags=['PERFORM_HIDE_PREVIOUS']) #propose unique docname self.assertEqual(my_bibrecdoc.propose_unique_docname('file'), 'file_2') #has docname self.assertEqual(my_bibrecdoc.has_docname_p('file'), True) #merge 2 bibdocs my_bibrecdoc.merge_bibdocs('img_test', 'file') self.assertEqual(len(my_bibrecdoc.get_bibdoc("img_test").list_all_files()), 2) #check file exists self.assertEqual(my_bibrecdoc.check_file_exists( pkg_resources.resource_filename( 'invenio_demosite.testsuite.regression', 'data/test.jpg'), '.jpg'), True) #get bibdoc names # we can not rely on the order ! names = set([my_bibrecdoc.get_bibdoc_names('Main')[0], my_bibrecdoc.get_bibdoc_names('Main')[1]]) self.assertTrue('0104007_02' in names) self.assertTrue('img_test' in names) #get total size self.assertEqual(my_bibrecdoc.get_total_size(), 1647591) #get total size latest version self.assertEqual(my_bibrecdoc.get_total_size_latest_version(), 1647591) #display #value = my_bibrecdoc.display(docname='img_test', version='', doctype='', ln='en', verbose=0, display_hidden=True) #self.assert_("<small><b>Main</b>" in value) #get xml 8564 value = my_bibrecdoc.get_xml_8564() self.assert_('/'+ cfg['CFG_SITE_RECORD'] +'/2/files/img_test.jpg</subfield>' in value) #check duplicate docnames self.assertEqual(my_bibrecdoc.check_duplicate_docnames(), True)
class BibDocFsInfoTest(InvenioTestCase): """Regression tests about the table bibdocfsinfo""" def setUp(self): from invenio.legacy.bibdocfile.api import BibRecDocs self.my_bibrecdoc = BibRecDocs(2) self.unique_name = self.my_bibrecdoc.propose_unique_docname('file') self.my_bibdoc = self.my_bibrecdoc.add_new_file( pkg_resources.resource_filename( 'invenio_demosite.testsuite.regression', 'data/test.jpg'), docname=self.unique_name) self.my_bibdoc_id = self.my_bibdoc.id def tearDown(self): self.my_bibdoc.expunge() def test_hard_delete(self): """bibdocfile - test correct update of bibdocfsinfo when hard-deleting""" from invenio.legacy.dbquery import run_sql self.assertEqual( run_sql("SELECT MAX(version) FROM bibdocfsinfo WHERE id_bibdoc=%s", (self.my_bibdoc_id, ))[0][0], 1) self.assertEqual( run_sql( "SELECT last_version FROM bibdocfsinfo WHERE id_bibdoc=%s AND version=1 AND format='.jpg'", (self.my_bibdoc_id, ))[0][0], True) self.my_bibdoc.add_file_new_version( pkg_resources.resource_filename( 'invenio_demosite.testsuite.regression', 'data/test.gif')) self.assertEqual( run_sql("SELECT MAX(version) FROM bibdocfsinfo WHERE id_bibdoc=%s", (self.my_bibdoc_id, ))[0][0], 2) self.assertEqual( run_sql( "SELECT last_version FROM bibdocfsinfo WHERE id_bibdoc=%s AND version=2 AND format='.gif'", (self.my_bibdoc_id, ))[0][0], True) self.assertEqual( run_sql( "SELECT last_version FROM bibdocfsinfo WHERE id_bibdoc=%s AND version=1 AND format='.jpg'", (self.my_bibdoc_id, ))[0][0], False) self.my_bibdoc.delete_file('.gif', 2) self.assertEqual( run_sql("SELECT MAX(version) FROM bibdocfsinfo WHERE id_bibdoc=%s", (self.my_bibdoc_id, ))[0][0], 1) self.assertEqual( run_sql( "SELECT last_version FROM bibdocfsinfo WHERE id_bibdoc=%s AND version=1 AND format='.jpg'", (self.my_bibdoc_id, ))[0][0], True)