Skip to content

Commit

Permalink
Merge branch 'release/0.2.3'
Browse files Browse the repository at this point in the history
  • Loading branch information
mfcovington committed Nov 1, 2019
2 parents ec48d1e + 7ca2f8d commit f9db2d6
Show file tree
Hide file tree
Showing 6 changed files with 44 additions and 41 deletions.
2 changes: 1 addition & 1 deletion .bumpversion.cfg
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[bumpversion]
current_version = 0.2.2
current_version = 0.2.3
parse = (?P<major>\d+)\.(?P<minor>\d+)\.(?P<patch>\d+)(\-dev(?P<dev>\d+))?
serialize =
{major}.{minor}.{patch}-dev{dev}
Expand Down
2 changes: 0 additions & 2 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
language: python
python:
- "3.3"
- "3.4"
- "3.5"
- "3.6"
- "3.7"
Expand Down
8 changes: 8 additions & 0 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
@@ -1,6 +1,14 @@
Revision History
================

0.2.3 2019-10-31

- Refactor tests
- Test are requiring biopython>=1.66 to run/pass
- Fix error message for Python (3.3+) version check
- Remove Python 3.3 and 3.4 from Travis CI config


0.2.2 2019-10-31

- Accommodate publications with no authors
Expand Down
2 changes: 1 addition & 1 deletion README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -185,4 +185,4 @@ pubmed-url
http://dx.doi.org/10.1073/pnas.1116368109


*Version 0.2.2*
*Version 0.2.3*
65 changes: 31 additions & 34 deletions pubmed_lookup/test_pubmed_lookup.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,61 +6,59 @@
from pubmed_lookup import command_line, Publication, PubMedLookup


article_url = 'https://www.pnas.org/content/109/12/4674'
citation = (
'Goodspeed D, Chehab EW, Min-Venditti A, Braam J, Covington MF (2012). '
'Arabidopsis synchronizes jasmonate-mediated defense with insect '
'circadian behavior. Proc Natl Acad Sci U S A 109(12): 4674-7.')
doi_url = 'http://dx.doi.org/10.1073/pnas.1116368109'
mini_citation = 'Goodspeed D - Covington MF - 2012 - Proc Natl Acad Sci U S A'
pmid = '22331878'


class TestConsole(unittest.TestCase):
"""Test command-line tools."""

def setUp(self):
self.out = StringIO()
self.pmid = '22331878'

self.citation = (
'Goodspeed D, Chehab EW, Min-Venditti A, Braam J, Covington MF '
'(2012). Arabidopsis synchronizes jasmonate-mediated defense with '
'insect circadian behavior. Proc Natl Acad Sci U S A 109(12): '
'4674-7.')
self.mini_citation = (
'Goodspeed D - Covington MF - 2012 - Proc Natl Acad Sci U S A')

self.article_url = 'http://www.pnas.org/content/109/12/4674'
self.doi_url = 'http://dx.doi.org/10.1073/pnas.1116368109'

def test_pubmed_citation(self):
command_line.pubmed_citation([self.pmid], out=self.out)
command_line.pubmed_citation([pmid], out=self.out)
output = self.out.getvalue()
self.assertEqual(output, self.citation + '\n')
self.assertEqual(output, citation + '\n')

def test_pubmed_citation_m(self):
command_line.pubmed_citation(['-m', self.pmid], out=self.out)
command_line.pubmed_citation(['-m', pmid], out=self.out)
output = self.out.getvalue()
self.assertEqual(output, self.mini_citation + '\n')
self.assertEqual(output, mini_citation + '\n')

def test_pubmed_citation_mini(self):
command_line.pubmed_citation(['--mini', self.pmid], out=self.out)
command_line.pubmed_citation(['--mini', pmid], out=self.out)
output = self.out.getvalue()
self.assertEqual(output, self.mini_citation + '\n')
self.assertEqual(output, mini_citation + '\n')

def test_pubmed_url(self):
command_line.pubmed_url([self.pmid], out=self.out)
command_line.pubmed_url([pmid], out=self.out)
output = self.out.getvalue()
self.assertEqual(output, self.article_url + '\n')
self.assertEqual(output, article_url + '\n')

def test_pubmed_url_d(self):
command_line.pubmed_url(['-d', self.pmid], out=self.out)
command_line.pubmed_url(['-d', pmid], out=self.out)
output = self.out.getvalue()
self.assertEqual(output, self.doi_url + '\n')
self.assertEqual(output, doi_url + '\n')

def test_pubmed_url_doi(self):
command_line.pubmed_url(['--doi', self.pmid], out=self.out)
command_line.pubmed_url(['--doi', pmid], out=self.out)
output = self.out.getvalue()
self.assertEqual(output, self.doi_url + '\n')
self.assertEqual(output, doi_url + '\n')


class TestPublication(unittest.TestCase):
@classmethod
def setUpClass(cls):
# Get publication record
email = ''
cls.pmid = '22331878'
cls.pmid = pmid
cls.lookup = PubMedLookup(cls.pmid, email)
cls.master_record = Publication(cls.lookup)

Expand Down Expand Up @@ -93,7 +91,7 @@ def test_fields(self):
self.assertEqual(self.record.pmid, self.pmid)
self.assertEqual(
self.record.pubmed_url,
'http://www.ncbi.nlm.nih.gov/pubmed/22331878')
'http://www.ncbi.nlm.nih.gov/pubmed/{}'.format(pmid))
self.assertEqual(self.record.title, self.title)
self.assertEqual(self.record.authors, self.authors)
self.assertEqual(self.record.first_author, 'Goodspeed D')
Expand All @@ -116,9 +114,7 @@ def test_authors_et_al(self):
self.record.authors_et_al(max_authors=10), self.authors)

def test_cite_mini(self):
self.assertEqual(
self.record.cite_mini(),
'Goodspeed D - Covington MF - 2012 - Proc Natl Acad Sci U S A')
self.assertEqual(self.record.cite_mini(), mini_citation)

def test_cite(self):
self.assertEqual(
Expand Down Expand Up @@ -158,7 +154,7 @@ def test_cite_without_issue_pages_volume(self):
"Skipping this test on Travis CI.")
def test_doi(self):
self.assertEqual(
self.record.url, 'http://www.pnas.org/content/109/12/4674')
self.record.url, 'https://www.pnas.org/content/109/12/4674')

def test_missing_doi(self):
del self.record.record['DOI']
Expand All @@ -168,18 +164,19 @@ def test_missing_doi(self):
def test_invalid_doi(self):
self.record.record.update({'DOI': 'not a valid DOI'})
self.record.set_article_url()
self.assertEqual(self.record.url, '')
self.assertEqual(self.record.url, 'http://dx.doi.org/not a valid DOI')

def test_dont_resolve_doi(self):
record = Publication(self.lookup, resolve_doi=False)
self.assertEqual(record.url, 'http://dx.doi.org/10.1073/pnas.1116368109')
self.assertEqual(
record.url, doi_url)


class TestPubMedLookup(unittest.TestCase):
def setUp(self):
self.email = ''
self.pubmed_url = 'http://www.ncbi.nlm.nih.gov/pubmed/22331878'
self.pmid = '22331878'
self.pubmed_url = 'http://www.ncbi.nlm.nih.gov/pubmed/{}'.format(pmid)
self.pmid = pmid

def test_pmid_and_url_return_same_record(self):
self.assertEqual(
Expand Down
6 changes: 3 additions & 3 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
from setuptools import setup

if sys.version_info < (3, 3):
print("Sorry, djangocms-lab-publications currently requires Python 3.3+.")
print("Sorry, pubmed-lookup currently requires Python 3.3+.")
sys.exit(1)

# From: https://hynek.me/articles/sharing-your-labor-of-love-pypi-quick-and-dirty/
Expand All @@ -16,13 +16,13 @@ def read(*paths):
os.chdir(os.path.normpath(os.path.join(os.path.abspath(__file__), os.pardir)))

install_requires = [
"biopython>=1.65",
"biopython>=1.66",
"xmltodict>=0.9.2",
]

setup(
name='pubmed-lookup',
version='0.2.2',
version='0.2.3',
packages=['pubmed_lookup'],
test_suite='pubmed_lookup.test_pubmed_lookup',
include_package_data=True,
Expand Down

0 comments on commit f9db2d6

Please sign in to comment.