def test_publication_info_a_list_of_two_elements(): a_list_of_two_elements = LiteratureRecord({ 'publication_info': [ { 'journal_volume': '8', 'journal_title': 'JINST', 'artid': 'P09009', 'year': 2013 }, { 'journal_volume': '8', 'journal_title': 'JINST', 'page_start': '9009', 'year': 2013 } ] }) expected = { 'pub_info': [ '<i>JINST</i> 8 (2013) P09009', '<i>JINST</i> 8 (2013) 9009' ] } result = publication_info(a_list_of_two_elements) assert expected == result
def test_publication_info_with_pub_info_and_conf_info(r_r, mock_replace_refs): with_title = '2005 International Linear Collider Workshop (LCWS 2005)' conf_rec = {'$ref': 'http://x/y/976391'} parent_rec = {'$ref': 'http://x/y/706120'} r_r.side_effect = mock_replace_refs(with_title, [(conf_rec, 976391), (parent_rec, 706120)]) with_pub_info_and_conf_info = LiteratureRecord({ 'publication_info': [{ 'journal_title': 'eConf', 'journal_volume': 'C050318' }, { 'conference_record': conf_rec, 'parent_record': parent_rec }] }) expected = { 'conf_info': '(<a href="/record/706120">Proceedings</a> of <a ' 'href="/record/976391">\n 2005 International Linear ' 'Collider Workshop (LCWS 2005)</a>)', 'pub_info': ['<i>eConf</i> C050318'] } result = publication_info(with_pub_info_and_conf_info) assert expected == result
def test_publication_info_returns_empty_dict_when_no_publication_info(): without_publication_info = {} expected = {} result = publication_info(without_publication_info) assert expected == result
def test_publication_info_with_pub_info_and_conf_info(r_r, mock_replace_refs): with_title = '2005 International Linear Collider Workshop (LCWS 2005)' conf_rec = {'$ref': 'http://x/y/976391'} parent_rec = {'$ref': 'http://x/y/706120'} r_r.side_effect = mock_replace_refs(with_title, [(conf_rec, 976391), (parent_rec, 706120)]) with_pub_info_and_conf_info = LiteratureRecord({ 'publication_info': [ { 'journal_title': 'eConf', 'journal_volume': 'C050318' }, { 'conference_record': conf_rec, 'parent_record': parent_rec } ] }) expected = { 'conf_info': '(<a href="/record/706120">Proceedings</a> of <a ' 'href="/record/976391">\n 2005 International Linear ' 'Collider Workshop (LCWS 2005)</a>)', 'pub_info': ['<i>eConf</i> C050318'] } result = publication_info(with_pub_info_and_conf_info) assert expected == result
def test_publication_info_from_conference_recid_and_parent_recid_with_pages(r_r, mock_replace_refs): with_title = '50th Rencontres de Moriond on EW Interactions and Unified Theories' conf_rec = {'$ref': 'http://x/y/1331207'} parent_rec = {'$ref': 'http://x/y/1402672'} r_r.side_effect = mock_replace_refs(with_title, [(conf_rec, 1331207), (parent_rec, 1402672)]) with_conference_recid_and_parent_recid_and_pages = LiteratureRecord({ 'publication_info': [ { 'conference_record': conf_rec, 'parent_record': parent_rec, 'page_start': '515', 'page_end': '518' } ] }) expected = { 'conf_info': 'Published in <a href="/record/1402672">proceedings</a> ' 'of <a href="/record/1331207">50th Rencontres de Moriond ' 'on EW Interactions and Unified Theories</a>, pages\n ' '515-518' } result = publication_info(with_conference_recid_and_parent_recid_and_pages) assert expected == result
def test_publication_info_from_conference_recid_and_parent_recid( r_r, mock_replace_refs): conf_rec = {'$ref': 'http://x/y/976391'} parent_rec = {'$ref': 'http://x/y/1402672'} with_title = '2005 International Linear Collider Workshop (LCWS 2005)' r_r.side_effect = mock_replace_refs(with_title, [(conf_rec, 976391), (parent_rec, 1402672)]) with_conference_recid_and_parent_recid = LiteratureRecord({ 'publication_info': [{ 'conference_record': conf_rec, 'parent_record': parent_rec }] }) expected = { 'conf_info': 'Published in <a href="/record/1402672">proceedings</a> ' 'of <a href="/record/976391">2005 International Linear ' 'Collider Workshop (LCWS 2005)</a>' } result = publication_info(with_conference_recid_and_parent_recid) assert expected == result
def test_publication_info_from_conference_recid_and_parent_recid_with_pages( r_r, mock_replace_refs): with_title = '50th Rencontres de Moriond on EW Interactions and Unified Theories' conf_rec = {'$ref': 'http://x/y/1331207'} parent_rec = {'$ref': 'http://x/y/1402672'} r_r.side_effect = mock_replace_refs(with_title, [(conf_rec, 1331207), (parent_rec, 1402672)]) with_conference_recid_and_parent_recid_and_pages = LiteratureRecord({ 'publication_info': [{ 'conference_record': conf_rec, 'parent_record': parent_rec, 'page_start': '515', 'page_end': '518' }] }) expected = { 'conf_info': 'Published in <a href="/record/1402672">proceedings</a> ' 'of <a href="/record/1331207">50th Rencontres de Moriond ' 'on EW Interactions and Unified Theories</a>, pages\n ' '515-518' } result = publication_info(with_conference_recid_and_parent_recid_and_pages) assert expected == result
def test_publication_info_from_conference_recid_and_parent_recid(r_r, mock_replace_refs): conf_rec = {'$ref': 'http://x/y/976391'} parent_rec = {'$ref': 'http://x/y/1402672'} with_title = '2005 International Linear Collider Workshop (LCWS 2005)' r_r.side_effect = mock_replace_refs(with_title, [(conf_rec, 976391), (parent_rec, 1402672)]) with_conference_recid_and_parent_recid = LiteratureRecord({ 'publication_info': [ { 'conference_record': conf_rec, 'parent_record': parent_rec } ] }) expected = { 'conf_info': 'Published in <a href="/record/1402672">proceedings</a> ' 'of <a href="/record/976391">2005 International Linear ' 'Collider Workshop (LCWS 2005)</a>' } result = publication_info(with_conference_recid_and_parent_recid) assert expected == result
def test_publication_info_with_pub_info_and_conf_info_not_found(r_r): conf_rec = {'$ref': 'http://x/y/976391'} parent_rec = {'$ref': 'http://x/y/706120'} r_r.return_value = None with_pub_info_and_conf_info = LiteratureRecord({ 'publication_info': [ { 'journal_title': 'eConf', 'journal_volume': 'C050318' }, { 'conference_record': conf_rec, 'parent_record': parent_rec } ] }) expected = { 'pub_info': ['<i>eConf</i> C050318'] } result = publication_info(with_pub_info_and_conf_info) assert expected == result
def test_publication_info_an_empty_list(): an_empty_list = LiteratureRecord({'publication_info': []}) expected = {} result = publication_info(an_empty_list) assert expected == result
def test_publication_info_a_list_of_one_element(): a_list_of_one_element = LiteratureRecord( {'publication_info': [{ 'journal_title': 'Int.J.Mod.Phys.' }]}) expected = {'pub_info': ['<i>Int.J.Mod.Phys.</i>']} result = publication_info(a_list_of_one_element) assert expected == result
def test_publication_info_from_journal_title_and_year(): with_journal_title_and_year = LiteratureRecord( {'publication_info': [{ 'journal_title': 'Eur.Phys.J.', 'year': 2015 }]}) expected = {'pub_info': ['<i>Eur.Phys.J.</i> (2015)']} result = publication_info(with_journal_title_and_year) assert expected == result
def test_publication_info_a_list_of_one_element(): a_list_of_one_element = LiteratureRecord({ 'publication_info': [ {'journal_title': 'Int.J.Mod.Phys.'} ] }) expected = {'pub_info': ['<i>Int.J.Mod.Phys.</i>']} result = publication_info(a_list_of_one_element) assert expected == result
def test_publication_info_from_pubinfo_freetext(): with_pubinfo_freetext = LiteratureRecord({ 'publication_info': [{ 'pubinfo_freetext': 'Phys. Rev. 127 (1962) 965-970' }] }) expected = {'pub_info': ['Phys. Rev. 127 (1962) 965-970']} result = publication_info(with_pubinfo_freetext) assert expected == result
def test_publication_info_from_journal_title_and_pages_artid(): with_journal_title_and_pages_artid = LiteratureRecord({ 'publication_info': [{ 'journal_title': 'Astrophys.J.', 'page_start': '525' }] }) expected = {'pub_info': ['<i>Astrophys.J.</i> 525']} result = publication_info(with_journal_title_and_pages_artid) assert expected == result
def test_publication_info_from_journal_title_and_journal_issue(): with_journal_title_and_journal_issue = LiteratureRecord({ 'publication_info': [{ 'journal_title': 'JINST', 'journal_issue': '02' }] }) expected = {'pub_info': ['<i>JINST</i> 02, ']} result = publication_info(with_journal_title_and_journal_issue) assert expected == result
def test_publication_info_from_journal_title_and_journal_volume(): with_journal_title_and_journal_volume = LiteratureRecord({ 'publication_info': [{ 'journal_title': 'JHEP', 'journal_volume': '1508' }] }) expected = {'pub_info': ['<i>JHEP</i> 1508']} result = publication_info(with_journal_title_and_journal_volume) assert expected == result
def test_publication_info_from_pubinfo_freetext(): with_pubinfo_freetext = LiteratureRecord({ 'publication_info': [ {'pubinfo_freetext': 'Phys. Rev. 127 (1962) 965-970'} ] }) expected = { 'pub_info': [ 'Phys. Rev. 127 (1962) 965-970' ] } result = publication_info(with_pubinfo_freetext) assert expected == result
def test_publication_info_from_not_conference_recid_and_parent_recid(): without_conference_recid_with_parent_recid = LiteratureRecord({ 'publication_info': [ {'parent_record': {'$ref': 'http://x/y/720114'}} ] }) expected = { 'conf_info': 'Published in <a href="/record/720114">proceedings</a> ' 'of 2005 International Linear Collider Physics and ' 'Detector Workshop and 2nd ILC Accelerator Workshop ' '(Snowmass 2005)' } result = publication_info(without_conference_recid_with_parent_recid) assert expected == result
def get_display_fields(record): """ Add extra fields used for display by client application. Jinja2 filters can be applied here to format certain fields. """ display = {} if 'references' in record: display['number_of_references'] = len(record['references']) if 'earliest_date' in record: display['date'] = format_date(record['earliest_date']) if 'publication_info' in record: display['publication_info_line'] = publication_info(record) if 'authors' in record: display['number_of_authors'] = len(record['authors']) return display
def test_publication_info_from_journal_title_and_pages_artid(): with_journal_title_and_pages_artid = LiteratureRecord({ 'publication_info': [ { 'journal_title': 'Astrophys.J.', 'page_start': '525' } ] }) expected = { 'pub_info': [ '<i>Astrophys.J.</i> 525' ] } result = publication_info(with_journal_title_and_pages_artid) assert expected == result
def test_publication_info_from_journal_title_and_journal_issue(): with_journal_title_and_journal_issue = LiteratureRecord({ 'publication_info': [ { 'journal_title': 'JINST', 'journal_issue': '02' } ] }) expected = { 'pub_info': [ '<i>JINST</i> 02, ' ] } result = publication_info(with_journal_title_and_journal_issue) assert expected == result
def test_publication_info_from_journal_title_and_year(): with_journal_title_and_year = LiteratureRecord({ 'publication_info': [ { 'journal_title': 'Eur.Phys.J.', 'year': 2015 } ] }) expected = { 'pub_info': [ '<i>Eur.Phys.J.</i> (2015)' ] } result = publication_info(with_journal_title_and_year) assert expected == result
def test_publication_info_from_journal_title_and_journal_volume(): with_journal_title_and_journal_volume = LiteratureRecord({ 'publication_info': [ { 'journal_title': 'JHEP', 'journal_volume': '1508' } ] }) expected = { 'pub_info': [ '<i>JHEP</i> 1508' ] } result = publication_info(with_journal_title_and_journal_volume) assert expected == result
def test_publication_info_from_not_conference_recid_and_parent_recid(): without_conference_recid_with_parent_recid = LiteratureRecord({ 'publication_info': [{ 'parent_record': { '$ref': 'http://x/y/720114' } }] }) expected = { 'conf_info': 'Published in <a href="/record/720114">proceedings</a> ' 'of 2005 International Linear Collider Physics and ' 'Detector Workshop and 2nd ILC Accelerator Workshop ' '(Snowmass 2005)' } result = publication_info(without_conference_recid_with_parent_recid) assert expected == result
def test_publication_info_with_pub_info_and_conf_info_not_found(r_r): conf_rec = {'$ref': 'http://x/y/976391'} parent_rec = {'$ref': 'http://x/y/706120'} r_r.return_value = None with_pub_info_and_conf_info = LiteratureRecord({ 'publication_info': [{ 'journal_title': 'eConf', 'journal_volume': 'C050318' }, { 'conference_record': conf_rec, 'parent_record': parent_rec }] }) expected = {'pub_info': ['<i>eConf</i> C050318']} result = publication_info(with_pub_info_and_conf_info) assert expected == result
def test_publication_info_from_conference_recid_and_not_parent_recid(r_r, mock_replace_refs): with_title = '20th International Workshop on Deep-Inelastic Scattering and Related Subjects' conf_rec = {'$ref': 'http://x/y/1086512'} r_r.side_effect = mock_replace_refs(with_title, [(conf_rec, 1086512)]) with_conference_recid_without_parent_recid = LiteratureRecord({ 'publication_info': [ {'conference_record': conf_rec} ] }) expected = { 'conf_info': 'Contribution to <a href="/record/1086512">20th ' 'International Workshop on Deep-Inelastic Scattering ' 'and Related Subjects</a>' } result = publication_info(with_conference_recid_without_parent_recid) assert expected == result
def test_publication_info_from_conference_recid_and_not_parent_recid( r_r, mock_replace_refs): with_title = '20th International Workshop on Deep-Inelastic Scattering and Related Subjects' conf_rec = {'$ref': 'http://x/y/1086512'} r_r.side_effect = mock_replace_refs(with_title, [(conf_rec, 1086512)]) with_conference_recid_without_parent_recid = LiteratureRecord( {'publication_info': [{ 'conference_record': conf_rec }]}) expected = { 'conf_info': 'Contribution to <a href="/record/1086512">20th ' 'International Workshop on Deep-Inelastic Scattering ' 'and Related Subjects</a>' } result = publication_info(with_conference_recid_without_parent_recid) assert expected == result
def test_publication_info_a_list_of_two_elements(): a_list_of_two_elements = LiteratureRecord({ 'publication_info': [{ 'journal_volume': '8', 'journal_title': 'JINST', 'artid': 'P09009', 'year': 2013 }, { 'journal_volume': '8', 'journal_title': 'JINST', 'page_start': '9009', 'year': 2013 }] }) expected = { 'pub_info': ['<i>JINST</i> 8 (2013) P09009', '<i>JINST</i> 8 (2013) 9009'] } result = publication_info(a_list_of_two_elements) assert expected == result