def test_json_for_ld(self): from invenio.modules.records.api import Record r = Record.create({'title': 'Test'}, 'json') import copy r = Record(json=copy.copy(test_record), master_format='marc') r.produce('json_for_ld')
def test_marc_export(self): from invenio.modules.records.api import Record from invenio.legacy.bibrecord import create_record, record_xml_output rec = Record(json=test_record, master_format='marc') # Needed to properly set authors when generating MARC first = rec['authors'][0] additional = rec['authors'][1:] rec['_first_author'] = first rec['_additional_authors'] = additional output_marc = record_xml_output( create_record(rec.legacy_export_as_marc())[0] ) try: self.assertEqual(test_marc, output_marc) except AssertionError: # Print diff in case of errors. import difflib diff = "".join(difflib.unified_diff( test_marc.splitlines(1), output_marc.splitlines(1) )) raise AssertionError(diff) form_json = rec.produce('json_for_form') for k, v in test_form_json.items(): self.assertEqual(form_json[k], test_form_json[k])
def test_json_for_ld(self): from invenio.modules.records.api import Record r = Record.create({"title": "Test"}, "json") import copy r = Record(json=copy.copy(test_record), master_format="marc") ld = r.produce("json_for_ld") print(ld)
def test_json_for_form(self): from invenio.modules.records.api import Record r = Record.create({'title': 'Test'}, 'json') assert r.produce('json_for_form')['title'] == 'Test' assert {'245__a': 'Test'} in r.produce('json_for_marc') import copy r = Record(json=copy.copy(test_record), master_format='marc') form_json = r.produce('json_for_form') for k, v in test_form_json.items(): self.assertEqual(form_json[k], test_form_json[k])
def test_marc_export(self): from invenio.modules.records.api import Record #from invenio.legacy.bibrecord import create_record r = Record(json=test_record, master_format='marc') # self.assertEqual( # r.legacy_create_recstruct(), # create_record(test_marc)[0], # ) form_json = r.produce('json_for_form') for k, v in test_form_json.items(): self.assertEqual(form_json[k], test_form_json[k])
def test_json_for_form(self): from invenio.modules.records.api import Record r = Record.create({"title": "Test"}, "json") assert r.produce("json_for_form")["title"] == "Test" assert {"245__a": "Test"} in r.produce("json_for_marc") import copy r = Record(json=copy.copy(test_record), master_format="marc") form_json = r.produce("json_for_form") for k, v in test_form_json.items(): self.assertEqual(form_json[k], test_form_json[k])