# -*- coding: utf-8 -*- """test_10_CheckAndFix_article * Test CheckAndFix methods for article: - format_editor - publisher - paper_reference - submitted - format_author - get_my_authors * Same article in cds.cern.ch and inspirehep.net Phys. Rev. D 95 (2017) 052005 """ import pytest from harvest_tools.checkandfix import CheckAndFix from invenio_tools import load_record @pytest.fixture(scope="module") def reccds(): return load_record("cds.cern.ch", 2242641) @pytest.fixture(scope="module") def recins(): return load_record("inspirehep.net", 1509922) @pytest.fixture(scope="module") def svc(): return CheckAndFix() def test_format_editor(svc, reccds, recins): # cds assert reccds.paper_editor() == "Phys. Rev. D" assert reccds.paper_volume() == "95" svc.format_editor(reccds) assert reccds.paper_editor() == "Phys. Rev. D" assert reccds.paper_volume() == "95" # inspire assert recins.paper_editor() == "Phys.Rev." assert recins.paper_volume() == "D95" svc.format_editor(recins) assert recins.paper_editor() == "Phys. Rev. D" assert recins.paper_volume() == "95" def test_publisher(svc, reccds): assert svc.publisher(reccds) is None def test_paper_reference(svc, reccds): # check recovery procedure using DOI # remove the publisher and volume information paper_ref = reccds.paper_reference() reccds["publication_info"].loc[0, ["title", "volume"]] = ["", ""] svc.paper_reference(reccds) assert reccds.paper_reference() == paper_ref def test_submitted(svc, reccds, recins): assert recins.submitted() == "2017-01-19" assert reccds.submitted() == "19 Jan 2017" svc.submitted(reccds) assert reccds.submitted() == "2017-01-19" # test the case 19 01 2017 reccds[u"prepublication"][u"date"] = "19 01 2017" svc.submitted(reccds) assert reccds.submitted() == "2017-01-19" # test the case 2017 reccds[u"prepublication"][u"date"] = "2017" svc.submitted(reccds) assert reccds.submitted() == "2017-01" def test_format_authors(svc, reccds): authors = reccds.authors_as_list() assert len(authors) == reccds["number_of_authors"] assert authors[0] == u"Aaij, Roel" assert authors[1] == u"Adeva, Bernardo" assert authors[344] == u"Koopman, Rose" assert authors[-1] == u"Zucchelli, Stefano" svc.format_authors(reccds, fmt="F. Last") authors = reccds.authors_as_list() assert authors[0] == u"R. Aaij" assert authors[1] == u"B. Adeva" assert authors[344] == u"R. Koopman" assert authors[-1] == u"S. Zucchelli" def test_get_my_authors(svc, reccds): svc.format_authors(reccds, fmt="F. Last") assert svc.get_my_authors(reccds, sep=u"|", sort=True) is None my_authors = reccds.my_authors.encode("utf-8") assert my_authors == "J. Arnau Romeu|E. Aslanides|J. Cogan|" \ "K. De Bruyn|R. Le Gac|O. Leroy|" \ "G. Mancinelli|M. Martin|A. Mordà|" \ "J. Serrano|A. Tayduganov|A. Tsaregorodtsev"