Exemplo n.º 1
0
    def test_get_entry_type(self):
        from invenio.modules.records.models import Record
        from invenio.modules.records.api import get_record

        records = []
        record_list = Record.query.all()
        for rec in record_list:
            rec = get_record(rec.id)
            if rec:
                records.append(rec)

        for r in records:
            b = Bibtex(r)
            self.assertEqual(r['upload_type']['type'], b._get_entry_type())

        self.assertEqual(test_record['upload_type']['type'],
                         self.record_good._get_entry_type())
        self.assertEqual('default', self.record_bad._get_entry_type())
Exemplo n.º 2
0
    def test_get_entry_type(self):
        from invenio.modules.records.models import Record
        from invenio.modules.records.api import get_record

        records = []
        record_list = Record.query.all()
        for rec in record_list:
            rec = get_record(rec.id)
            if rec:
                records.append(rec)

        for r in records:
            b = Bibtex(r)
            self.assertEqual(r['upload_type']['type'],
                             b._get_entry_type())

        self.assertEqual(test_record['upload_type']['type'],
                         self.record_good._get_entry_type())
        self.assertEqual('default', self.record_bad._get_entry_type())
Exemplo n.º 3
0
def bibtex_filter(record):
    return Bibtex(record).format()
Exemplo n.º 4
0
 def setUp(self):
     from invenio.modules.records.api import Record
     self.record_good = Bibtex(Record.create(test_record, 'json'))
     self.record_bad = Bibtex(Record.create(test_bad_record, 'json'))
     self.record_empty = Bibtex({})
Exemplo n.º 5
0
class BibTexFormatterTest(InvenioTestCase):

    def setUp(self):
        from invenio.modules.records.api import Record
        self.record_good = Bibtex(Record.create(test_record, 'json'))
        self.record_bad = Bibtex(Record.create(test_bad_record, 'json'))
        self.record_empty = Bibtex({})

    def test_get_entry_type(self):
        from invenio.modules.records.models import Record
        from invenio.modules.records.api import get_record

        records = []
        record_list = Record.query.all()
        for rec in record_list:
            rec = get_record(rec.id)
            if rec:
                records.append(rec)

        for r in records:
            b = Bibtex(r)
            self.assertEqual(r['upload_type']['type'],
                             b._get_entry_type())

        self.assertEqual(test_record['upload_type']['type'],
                         self.record_good._get_entry_type())
        self.assertEqual('default', self.record_bad._get_entry_type())

    def test_get_entry_subtype(self):
        self.assertEqual(test_record['upload_type']['subtype'],
                         self.record_good._get_entry_subtype())
        self.assertEqual('default',
                         self.record_bad._get_entry_subtype())

    def test_get_citation_key(self):
        self.assertEqual("doe_2014_12345",
                         self.record_good._get_citation_key())
        self.assertEqual("12345", self.record_bad._get_citation_key())
        self.assertRaises(MissingRequiredFieldError,
                          self.record_empty._get_citation_key)

    def test_get_doi(self):
        self.assertEqual(test_record['doi'],
                         self.record_good._get_doi())
        self.assertRaises(MissingRequiredFieldError,
                          self.record_empty._get_doi)

    def test_get_author(self):
        authors = []
        for author in test_record['authors']:
            authors.append(author['name'])

        self.assertEqual(authors, self.record_good._get_author())
        self.assertEqual([], self.record_empty._get_author())

    def test_get_title(self):
        self.assertEqual(test_record['title'],
                         self.record_good._get_title())
        self.assertEqual("", self.record_empty._get_title())

    def test_get_month(self):
        good_month = test_record['publication_date'].strftime("%B")[:3].lower()

        self.assertEqual(good_month, self.record_good._get_month())
        self.assertEqual("", self.record_empty._get_month())

    def test_get_year(self):
        self.assertEqual(test_record['publication_date'].strftime("%Y"),
                         self.record_good._get_year())
        self.assertEqual("", self.record_empty._get_year())

    def test_get_note(self):
        self.assertEqual(test_record['notes'],
                         self.record_good._get_note())
        self.assertEqual("", self.record_empty._get_note())

    def test_get_address(self):
        self.assertEqual(test_record["imprint"]["place"],
                         self.record_good._get_address())
        self.assertEqual("", self.record_empty._get_note())

    def test_get_annote(self):
        self.assertEqual("", self.record_good._get_annote())
        self.assertEqual("", self.record_empty._get_annote())

    def test_get_booktitle(self):
        self.assertEqual(test_record["part_of"]["title"],
                         self.record_good._get_booktitle())
        self.assertEqual("", self.record_empty._get_booktitle())

    def test_get_chapter(self):
        self.assertEqual("", self.record_good._get_chapter())
        self.assertEqual("", self.record_empty._get_chapter())

    def test_get_edition(self):
        self.assertEqual("", self.record_good._get_edition())
        self.assertEqual("", self.record_empty._get_edition())

    def test_get_editor(self):
        self.assertEqual("", self.record_good._get_editor())
        self.assertEqual("", self.record_empty._get_editor())

    def test_get_crossref(self):
        self.assertEqual("", self.record_good._get_crossref())
        self.assertEqual("", self.record_empty._get_crossref())

    def test_get_howpublished(self):
        self.assertEqual("", self.record_good._get_howpublished())
        self.assertEqual("", self.record_empty._get_howpublished())

    def test_get_institution(self):
        self.assertEqual("", self.record_good._get_institution())
        self.assertEqual("", self.record_empty._get_institution())

    def test_get_journal(self):
        self.assertEqual(test_record['journal']['title'],
                         self.record_good._get_journal())
        self.assertEqual("", self.record_empty._get_journal())

    def test_get_key(self):
        self.assertEqual("", self.record_good._get_key())
        self.assertEqual("", self.record_empty._get_key())

    def test_get_number(self):
        self.assertEqual(test_record['journal']['issue'],
                         self.record_good._get_number())
        self.assertEqual("", self.record_empty._get_number())

    def test_get_organization(self):
        self.assertEqual("", self.record_good._get_organization())
        self.assertEqual("", self.record_empty._get_organization())

    def test_get_pages(self):
        self.assertEqual(test_record['journal']['pages'],
                         self.record_good._get_pages())
        self.assertEqual("", self.record_empty._get_pages())

    def test_get_publisher(self):
        global_cfg = ""
        if "CFG_SITE_NAME" in cfg:
            global_cfg = cfg["CFG_SITE_NAME"]
        self.assertEqual(test_record['imprint']['publisher'],
                         self.record_good._get_publisher())
        self.assertEqual(global_cfg,
                         self.record_empty._get_publisher())

    def test_get_school(self):
        self.assertEqual(test_record['thesis_university'],
                         self.record_good._get_school())
        self.assertEqual("", self.record_empty._get_school())

    def test_get_series(self):
        self.assertEqual("", self.record_good._get_series())
        self.assertEqual("", self.record_empty._get_series())

    def test_get_type(self):
        self.assertEqual("", self.record_good._get_type())
        self.assertEqual("", self.record_empty._get_type())

    def test_get_url(self):
        url = "http://dx.doi.org/" + test_record['doi']
        self.assertEqual(url, self.record_good._get_url())
        self.assertEqual("", self.record_empty._get_url())

    def test_get_volume(self):
        self.assertEqual(test_record['journal']['volume'],
                         self.record_good._get_volume())
        self.assertEqual("", self.record_empty._get_volume())
Exemplo n.º 6
0
 def setUp(self):
     from invenio.modules.records.api import Record
     self.record_good = Bibtex(Record.create(test_record, 'json'))
     self.record_bad = Bibtex(Record.create(test_bad_record, 'json'))
     self.record_empty = Bibtex({})
Exemplo n.º 7
0
class BibTexFormatterTest(InvenioTestCase):

    def setUp(self):
        from invenio.modules.records.api import Record
        self.record_good = Bibtex(Record.create(test_record, 'json'))
        self.record_bad = Bibtex(Record.create(test_bad_record, 'json'))
        self.record_empty = Bibtex({})

    def test_get_entry_type(self):
        from invenio.modules.records.models import Record
        from invenio.modules.records.api import get_record

        records = []
        record_list = Record.query.all()
        for rec in record_list:
            rec = get_record(rec.id)
            if rec:
                records.append(rec)

        for r in records:
            b = Bibtex(r)
            self.assertEqual(r['upload_type']['type'],
                             b._get_entry_type())

        self.assertEqual(test_record['upload_type']['type'],
                         self.record_good._get_entry_type())
        self.assertEqual('default', self.record_bad._get_entry_type())

    def test_get_entry_subtype(self):
        self.assertEqual(test_record['upload_type']['subtype'],
                         self.record_good._get_entry_subtype())
        self.assertEqual('default',
                         self.record_bad._get_entry_subtype())

    def test_get_citation_key(self):
        self.assertEqual("doe_2014_12345",
                         self.record_good._get_citation_key())
        self.assertEqual("12345", self.record_bad._get_citation_key())
        self.assertRaises(MissingRequiredFieldError,
                          self.record_empty._get_citation_key)

    def test_get_doi(self):
        self.assertEqual(test_record['doi'],
                         self.record_good._get_doi())
        self.assertIsNone(self.record_empty._get_doi())

    def test_get_author(self):
        authors = []
        for author in test_record['authors']:
            authors.append(author['name'])

        self.assertEqual(authors, self.record_good._get_author())
        self.assertEqual([], self.record_empty._get_author())

    def test_get_title(self):
        self.assertEqual(test_record['title'],
                         self.record_good._get_title())
        self.assertEqual("", self.record_empty._get_title())

    def test_get_month(self):
        good_month = test_record['publication_date'].strftime("%B")[:3].lower()

        self.assertEqual(good_month, self.record_good._get_month())
        self.assertEqual("", self.record_empty._get_month())

    def test_get_year(self):
        self.assertEqual(test_record['publication_date'].strftime("%Y"),
                         self.record_good._get_year())
        self.assertEqual("", self.record_empty._get_year())

    def test_get_note(self):
        self.assertEqual(test_record['notes'],
                         self.record_good._get_note())
        self.assertEqual("", self.record_empty._get_note())

    def test_get_address(self):
        self.assertEqual(test_record["imprint"]["place"],
                         self.record_good._get_address())
        self.assertEqual("", self.record_empty._get_note())

    def test_get_annote(self):
        self.assertEqual("", self.record_good._get_annote())
        self.assertEqual("", self.record_empty._get_annote())

    def test_get_booktitle(self):
        self.assertEqual(test_record["part_of"]["title"],
                         self.record_good._get_booktitle())
        self.assertEqual("", self.record_empty._get_booktitle())

    def test_get_chapter(self):
        self.assertEqual("", self.record_good._get_chapter())
        self.assertEqual("", self.record_empty._get_chapter())

    def test_get_edition(self):
        self.assertEqual("", self.record_good._get_edition())
        self.assertEqual("", self.record_empty._get_edition())

    def test_get_editor(self):
        self.assertEqual("", self.record_good._get_editor())
        self.assertEqual("", self.record_empty._get_editor())

    def test_get_crossref(self):
        self.assertEqual("", self.record_good._get_crossref())
        self.assertEqual("", self.record_empty._get_crossref())

    def test_get_howpublished(self):
        self.assertEqual("", self.record_good._get_howpublished())
        self.assertEqual("", self.record_empty._get_howpublished())

    def test_get_institution(self):
        self.assertEqual("", self.record_good._get_institution())
        self.assertEqual("", self.record_empty._get_institution())

    def test_get_journal(self):
        self.assertEqual(test_record['journal']['title'],
                         self.record_good._get_journal())
        self.assertEqual("", self.record_empty._get_journal())

    def test_get_key(self):
        self.assertEqual("", self.record_good._get_key())
        self.assertEqual("", self.record_empty._get_key())

    def test_get_number(self):
        self.assertEqual(test_record['journal']['issue'],
                         self.record_good._get_number())
        self.assertEqual("", self.record_empty._get_number())

    def test_get_organization(self):
        self.assertEqual("", self.record_good._get_organization())
        self.assertEqual("", self.record_empty._get_organization())

    def test_get_pages(self):
        self.assertEqual(test_record['journal']['pages'],
                         self.record_good._get_pages())
        self.assertEqual("", self.record_empty._get_pages())

    def test_get_publisher(self):
        global_cfg = ""
        if "CFG_SITE_NAME" in cfg:
            global_cfg = cfg["CFG_SITE_NAME"]
        self.assertEqual(test_record['imprint']['publisher'],
                         self.record_good._get_publisher())
        self.assertEqual(global_cfg,
                         self.record_empty._get_publisher())

    def test_get_school(self):
        self.assertEqual(test_record['thesis_university'],
                         self.record_good._get_school())
        self.assertEqual("", self.record_empty._get_school())

    def test_get_series(self):
        self.assertEqual("", self.record_good._get_series())
        self.assertEqual("", self.record_empty._get_series())

    def test_get_type(self):
        self.assertEqual("", self.record_good._get_type())
        self.assertEqual("", self.record_empty._get_type())

    def test_get_url(self):
        url = "http://dx.doi.org/" + test_record['doi']
        self.assertEqual(url, self.record_good._get_url())
        self.assertEqual("", self.record_empty._get_url())

    def test_get_volume(self):
        self.assertEqual(test_record['journal']['volume'],
                         self.record_good._get_volume())
        self.assertEqual("", self.record_empty._get_volume())