def test_main(self): from invenio.config import CFG_TMPDIR from invenio.legacy.docextract.scripts.convert_journals import main xml = """<record> <datafield tag="999" ind1="C" ind2="5"> <subfield code="s">Test Journal Name,100,10</subfield> </datafield> </record>""" xml_temp_file = NamedTemporaryFile(dir=CFG_TMPDIR) xml_temp_file.write(xml) xml_temp_file.flush() kb = "TEST JOURNAL NAME---Converted" kb_temp_file = NamedTemporaryFile(dir=CFG_TMPDIR) kb_temp_file.write(kb) kb_temp_file.flush() dest_temp_fd, dest_temp_path = mkstemp(dir=CFG_TMPDIR) try: os.close(dest_temp_fd) run([ 'convert_journals', xml_temp_file.name, '--kb', kb_temp_file.name, '-o', dest_temp_path ], main) transformed_xml = open(dest_temp_path).read() self.assertXmlEqual( transformed_xml, """<?xml version="1.0" encoding="UTF-8"?> <collection xmlns="http://www.loc.gov/MARC21/slim"> <record><datafield ind1="C" ind2="5" tag="999"><subfield code="s">Converted,100,10</subfield></datafield></record> </collection>""") finally: os.unlink(dest_temp_path)
def test_main(self): from invenio.config import CFG_TMPDIR from invenio.legacy.docextract.scripts.convert_journals import main xml = """<record> <datafield tag="999" ind1="C" ind2="5"> <subfield code="s">Test Journal Name,100,10</subfield> </datafield> </record>""" xml_temp_file = NamedTemporaryFile(dir=CFG_TMPDIR) xml_temp_file.write(xml) xml_temp_file.flush() kb = "TEST JOURNAL NAME---Converted" kb_temp_file = NamedTemporaryFile(dir=CFG_TMPDIR) kb_temp_file.write(kb) kb_temp_file.flush() dest_temp_fd, dest_temp_path = mkstemp(dir=CFG_TMPDIR) try: os.close(dest_temp_fd) run(['convert_journals', xml_temp_file.name, '--kb', kb_temp_file.name, '-o', dest_temp_path], main) transformed_xml = open(dest_temp_path).read() self.assertXmlEqual(transformed_xml, """<?xml version="1.0" encoding="UTF-8"?> <collection xmlns="http://www.loc.gov/MARC21/slim"> <record><datafield ind1="C" ind2="5" tag="999"><subfield code="s">Converted,100,10</subfield></datafield></record> </collection>""") finally: os.unlink(dest_temp_path)
def test_usage(self): from invenio.legacy.docextract.convert_journals import USAGE_MESSAGE from invenio.legacy.docextract.scripts.convert_journals import main out = run(["convert_journals", "-h"], main, capture_stderr=True)[0] self.assert_(USAGE_MESSAGE in out)