# -*- coding: utf-8 -*- """test_instantiate_Record * Test functions to introspect the type of record. * Test functions to upcast the Record from the JSON object. """ from invenio_tools.base import is_conference, is_institute, is_thesis from invenio_tools.factory import build_record from invenio_tools.inveniostore import InvenioStore from invenio_tools.recordconf import RecordConf from invenio_tools.recordinst import RecordInst from invenio_tools.recordpubli import RecordPubli from invenio_tools.recordthesis import RecordThesis def test_conference_cds(): store = InvenioStore("cds.cern.ch") recjson = store.get_record(1411352) assert is_conference(recjson) assert not is_institute(recjson) assert not is_thesis(recjson) record = build_record(recjson) assert isinstance(record, RecordConf) def test_conference_inspirehep(): store = InvenioStore("inspirehep.net") recjson = store.get_record(1276938) assert is_conference(recjson) assert not is_institute(recjson) assert not is_thesis(recjson) record = build_record(recjson) assert isinstance(record, RecordConf) def test_institute(): """CPPM""" store = InvenioStore("inspirehep.net") recjson = store.get_record(902989) assert not is_conference(recjson) assert is_institute(recjson) assert not is_thesis(recjson) record = build_record(recjson) assert isinstance(record, RecordInst) def test_publi_cds(): """Precision luminosity measurements at LHCb""" store = InvenioStore("cds.cern.ch") recjson = store.get_record(1951625) assert not is_conference(recjson) assert not is_institute(recjson) assert not is_thesis(recjson) record = build_record(recjson) assert isinstance(record, RecordPubli) def test_publi_inspirehep(): """Precision luminosity measurements at LHCb""" store = InvenioStore("inspirehep.net") recjson = store.get_record(1319638) assert not is_conference(recjson) assert not is_institute(recjson) assert not is_thesis(recjson) record = build_record(recjson) assert isinstance(record, RecordPubli) def test_talk_cds(): store = InvenioStore("cds.cern.ch") recjson = store.get_record(2239092) assert is_conference(recjson) assert not is_institute(recjson) assert not is_thesis(recjson) record = build_record(recjson) assert isinstance(record, RecordConf) def test_thesis_cds(): store = InvenioStore("cds.cern.ch") recjson = store.get_record(1632177) assert not is_conference(recjson) assert not is_institute(recjson) assert is_thesis(recjson) record = build_record(recjson) assert isinstance(record, RecordThesis)