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)
    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)