def test_export_no_meta(mock_init_sample): bibs = bm.load() bm_export = u.HOME + 'tmp_bm.bib' bm.export(bibs, bm_export, meta=False) with open(bm_export, "r") as f: lines = f.readlines() assert "pdf: Slipher1913.pdf\n" not in lines
def test_export_no_overwrite(bibs, mock_init): with open(u.BM_BIBFILE, "w") as f: f.write("placeholder file.") my_bibs = [bibs["beaulieu_apj"], bibs["stodden"]] bm.export(my_bibs, u.BM_BIBFILE) assert "bm_bibliography.bib" in os.listdir(u.HOME) assert f"orig_{datetime.date.today()}_bm_bibliography.bib" \ in os.listdir(u.HOME)
def test_export_home(bibs, mock_init): my_bibs = [bibs["stodden"], bibs["beaulieu_apj"]] bm.export(my_bibs, u.BM_BIBFILE) assert "bm_bibliography.bib" in os.listdir(u.HOME) with open(u.BM_BIBFILE, "r") as f: lines = f.readlines() assert lines[0] == "This file was created by bibmanager\n" loaded_bibs = bm.loadfile(u.BM_BIBFILE) assert loaded_bibs == sorted(my_bibs)
def test_set_home_merge(tmp_path, bibs, mock_init): new_home = f'{tmp_path}/bm' os.mkdir(f'{new_home}') bib1, bib2 = bibs["beaulieu_apj"], bibs["stodden"] bib1.pdf, bib2.pdf = 'file1.pdf', 'file2.pdf' bm.save([bib1]) shutil.copy(u.BM_DATABASE(), f'{new_home}/bm_database.pickle') bm.export([bib1], f'{new_home}/bm_bibliography.bib', meta=True) bm.export([bib2], f'{new_home}/other.bib', meta=True) bm.init(f'{new_home}/other.bib') cm.set('home', new_home) # Check DBs are merged: bibs = bm.load() assert len(bibs) == 2 assert bibs[0].content == bib1.content assert bibs[1].content == bib2.content # Check both meta exist: assert bibs[0].pdf == 'file1.pdf' assert bibs[1].pdf == 'file2.pdf'