def test_marcxml2record_raises_on_jobhidden(): snippet = ('<datafield tag="980" ind1=" " ind2=" ">' ' <subfield code="a">JOBHIDDEN</subfield>' '</datafield>') with pytest.raises(NotSupportedError): marcxml2record(snippet)
def test_marcxml2record_handles_jobhidden(): snippet = ('<datafield tag="980" ind1=" " ind2=" ">' ' <subfield code="a">JOBHIDDEN</subfield>' '</datafield>') expected = 'jobs.json' result = marcxml2record(snippet) assert expected == result['$schema']
def test_marcxml2record_handles_institutions(): snippet = ('<datafield tag="980" ind1=" " ind2=" ">' ' <subfield code="a">INSTITUTION</subfield>' '</datafield>') expected = 'institutions.json' result = marcxml2record(snippet) assert expected == result['$schema']
def test_marcxml2record_handles_hepnames(): snippet = ('<datafield tag="980" ind1=" " ind2=" ">' ' <subfield code="a">HEPNAMES</subfield>' '</datafield>') expected = 'authors.json' result = marcxml2record(snippet) assert expected == result['$schema']
def test_marcxml2record_handles_experiments(): snippet = ('<datafield tag="980" ind1=" " ind2=" ">' ' <subfield code="a">EXPERIMENT</subfield>' '</datafield>') expected = 'experiments.json' result = marcxml2record(snippet) assert expected == result['$schema']
def test_marcxml2record_handles_data(): snippet = ('<datafield tag="980" ind1=" " ind2=" ">' ' <subfield code="a">DATA</subfield>' '</datafield>') expected = 'data.json' result = marcxml2record(snippet) assert expected == result['$schema']
def test_marcxml2record_handles_conferences(): snippet = ('<datafield tag="980" ind1=" " ind2=" ">' ' <subfield code="a">CONFERENCES</subfield>' '</datafield>') expected = 'conferences.json' result = marcxml2record(snippet) assert expected == result['$schema']
def test_marcxml2record_falls_back_to_hep(): snippet = ('<datafield tag="980" ind1=" " ind2=" ">' ' <subfield code="a">HALhidden</subfield>' '</datafield>') expected = 'hep.json' result = marcxml2record(snippet) assert expected == result['$schema']
def test_marcxml2record_handles_journalsnew(): snippet = ('<datafield tag="980" ind1=" " ind2=" ">' ' <subfield code="a">JOURNALSNEW</subfield>' '</datafield>') expected = 'journals.json' result = marcxml2record(snippet) assert expected == result['$schema']
def test_marcxml2record_handles_cds(): snippet = ('<record>' ' <controlfield tag="001">2270264</controlfield>' ' <controlfield tag="003">SzGeCERN</controlfield>' '</record>') # cds.cern.ch/record/2270264 expected = [ { 'schema': 'CDS', 'value': '2270264', }, ] result = marcxml2record(snippet) assert expected == result['external_system_identifiers']
def test_marcxml2record_handles_multiple_as_in_the_same_980(): snippet = ('<record>' ' <datafield tag="980" ind1=" " ind2=" ">' ' <subfield code="a">Published</subfield>' ' </datafield>' ' <datafield tag="980" ind1=" " ind2=" ">' ' <subfield code="a">citeable</subfield>' ' </datafield>' ' <datafield tag="980" ind1=" " ind2=" ">' ' <subfield code="a">HEP</subfield>' ' <subfield code="a">NONCORE</subfield>' ' </datafield>' '</record>') # record/1247377 expected = 'hep.json' result = marcxml2record(snippet) assert expected == result['$schema']