Module manubot.cite.tests.test_unpaywall
View Source
from ..unpaywall import Unpaywall, Unpaywall_arXiv, Unpaywall_DOI
def test_unpaywall_doi():
doi = "10.1371/journal.pcbi.1007250"
unpaywall = Unpaywall_DOI(doi)
assert isinstance(unpaywall.oa_locations, list)
assert unpaywall.best_pdf.has_creative_commons_license
def test_unpaywall_arxiv():
arxiv_id = "1912.04616"
unpaywall = Unpaywall_arXiv(arxiv_id, use_doi=False)
assert isinstance(unpaywall.oa_locations, list)
best_pdf = unpaywall.best_pdf
assert isinstance(best_pdf, dict)
assert best_pdf["url"] == "https://arxiv.org/pdf/1912.04616.pdf"
assert best_pdf["url_for_landing_page"] == "https://arxiv.org/abs/1912.04616"
assert best_pdf["license"] == "cc-by-sa"
def test_unpaywall_from_citekey():
"""
https://arxiv.org/abs/1906.11964 is now published in https://doi.org/10.1162/qss_a_00023.
Therefore, locations are coming from Unpaywall_DOI since defaulting to use_doi=True.
"""
unpaywall = Unpaywall.from_citekey("arxiv:1906.11964v3")
assert isinstance(unpaywall, Unpaywall_arXiv)
best_pdf = unpaywall.best_pdf
assert best_pdf["url_for_landing_page"] == "https://doi.org/10.1162/qss_a_00023"
def test_unpaywall_from_csl_item():
csl_item = {
"id": "ijxfHyzg",
"URL": "https://arxiv.org/abs/1908.11459",
"title": "Introducing: The Game Jam License",
"note": "license: http://arxiv.org/licenses/nonexclusive-distrib/1.0/\nstandard_id: arxiv:1908.11459",
}
unpaywall = Unpaywall.from_csl_item(csl_item)
assert isinstance(unpaywall, Unpaywall_arXiv)
best_pdf = unpaywall.best_pdf
assert best_pdf["url_for_landing_page"] == "https://arxiv.org/abs/1908.11459"
def test_unpaywall_from_csl_item_with_doi():
csl_item = {
"id": "ijxfHyzg",
"URL": "https://arxiv.org/abs/1908.11459",
"title": "Introducing: The Game Jam License",
"note": "license: http://arxiv.org/licenses/nonexclusive-distrib/1.0/\nstandard_id: arxiv:1908.11459",
"DOI": "10.1145/3337722.3341844",
}
unpaywall = Unpaywall.from_csl_item(csl_item)
# Unpaywall.from_csl_item uses DOI lookup when available
assert isinstance(unpaywall, Unpaywall_DOI)
assert unpaywall.best_pdf["url_for_pdf"]
Functions
test_unpaywall_arxiv
def test_unpaywall_arxiv(
)
View Source
def test_unpaywall_arxiv():
arxiv_id = "1912.04616"
unpaywall = Unpaywall_arXiv(arxiv_id, use_doi=False)
assert isinstance(unpaywall.oa_locations, list)
best_pdf = unpaywall.best_pdf
assert isinstance(best_pdf, dict)
assert best_pdf["url"] == "https://arxiv.org/pdf/1912.04616.pdf"
assert best_pdf["url_for_landing_page"] == "https://arxiv.org/abs/1912.04616"
assert best_pdf["license"] == "cc-by-sa"
test_unpaywall_doi
def test_unpaywall_doi(
)
View Source
def test_unpaywall_doi():
doi = "10.1371/journal.pcbi.1007250"
unpaywall = Unpaywall_DOI(doi)
assert isinstance(unpaywall.oa_locations, list)
assert unpaywall.best_pdf.has_creative_commons_license
test_unpaywall_from_citekey
def test_unpaywall_from_citekey(
)
https://arxiv.org/abs/1906.11964 is now published in https://doi.org/10.1162/qss_a_00023.
Therefore, locations are coming from Unpaywall_DOI since defaulting to use_doi=True.
View Source
def test_unpaywall_from_citekey():
"""
https://arxiv.org/abs/1906.11964 is now published in https://doi.org/10.1162/qss_a_00023.
Therefore, locations are coming from Unpaywall_DOI since defaulting to use_doi=True.
"""
unpaywall = Unpaywall.from_citekey("arxiv:1906.11964v3")
assert isinstance(unpaywall, Unpaywall_arXiv)
best_pdf = unpaywall.best_pdf
assert best_pdf["url_for_landing_page"] == "https://doi.org/10.1162/qss_a_00023"
test_unpaywall_from_csl_item
def test_unpaywall_from_csl_item(
)
View Source
def test_unpaywall_from_csl_item():
csl_item = {
"id": "ijxfHyzg",
"URL": "https://arxiv.org/abs/1908.11459",
"title": "Introducing: The Game Jam License",
"note": "license: http://arxiv.org/licenses/nonexclusive-distrib/1.0/\nstandard_id: arxiv:1908.11459",
}
unpaywall = Unpaywall.from_csl_item(csl_item)
assert isinstance(unpaywall, Unpaywall_arXiv)
best_pdf = unpaywall.best_pdf
assert best_pdf["url_for_landing_page"] == "https://arxiv.org/abs/1908.11459"
test_unpaywall_from_csl_item_with_doi
def test_unpaywall_from_csl_item_with_doi(
)
View Source
def test_unpaywall_from_csl_item_with_doi():
csl_item = {
"id": "ijxfHyzg",
"URL": "https://arxiv.org/abs/1908.11459",
"title": "Introducing: The Game Jam License",
"note": "license: http://arxiv.org/licenses/nonexclusive-distrib/1.0/\nstandard_id: arxiv:1908.11459",
"DOI": "10.1145/3337722.3341844",
}
unpaywall = Unpaywall.from_csl_item(csl_item)
# Unpaywall.from_csl_item uses DOI lookup when available
assert isinstance(unpaywall, Unpaywall_DOI)
assert unpaywall.best_pdf["url_for_pdf"]