Skip to content

Commit b1d1a09

Browse files
committed
Add test for detailed date getter
1 parent 1f64f4b commit b1d1a09

1 file changed

Lines changed: 65 additions & 0 deletions

File tree

indra/tests/test_pubmed_client.py

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -176,6 +176,71 @@ def test_get_pub_date():
176176
assert metadata[pmids[2]]['publication_date']['day'] == 27
177177

178178

179+
def test_get_detailed_dates():
180+
time.sleep(0.5)
181+
pmid = "23888980"
182+
metadata = pubmed_client.get_metadata_for_ids([pmid])[pmid]
183+
detailed_dates = metadata["detailed_publication_dates"]
184+
assert len(detailed_dates) == 5
185+
assert detailed_dates["date_completed"]["year"] == 2014
186+
assert detailed_dates["date_completed"]["month"] == 3
187+
assert detailed_dates["date_completed"]["day"] == 20
188+
assert detailed_dates["date_revised"]["year"] == 2022
189+
assert detailed_dates["date_revised"]["month"] == 4
190+
assert detailed_dates["date_revised"]["day"] == 8
191+
assert detailed_dates["article_date"]["year"] == 2012
192+
assert detailed_dates["article_date"]["month"] == 12
193+
assert detailed_dates["article_date"]["day"] == 19
194+
assert detailed_dates["journal_pub_date"]["year"] == 2013
195+
assert detailed_dates["journal_pub_date"]["month"] == 8
196+
197+
# Now check the pubmedpubdate entries, which should come from this:
198+
# <PubMedPubDate PubStatus="accepted">
199+
# <Year>2012</Year>
200+
# <Month>11</Month>
201+
# <Day>13</Day>
202+
# </PubMedPubDate>
203+
# <PubMedPubDate PubStatus="entrez">
204+
# <Year>2013</Year>
205+
# <Month>7</Month>
206+
# <Day>30</Day>
207+
# <Hour>6</Hour>
208+
# <Minute>0</Minute>
209+
# </PubMedPubDate>
210+
# <PubMedPubDate PubStatus="pubmed">
211+
# <Year>2013</Year>
212+
# <Month>7</Month>
213+
# <Day>31</Day>
214+
# <Hour>6</Hour>
215+
# <Minute>0</Minute>
216+
# </PubMedPubDate>
217+
# <PubMedPubDate PubStatus="medline">
218+
# <Year>2014</Year>
219+
# <Month>3</Month>
220+
# <Day>22</Day>
221+
# <Hour>6</Hour>
222+
# <Minute>0</Minute>
223+
# </PubMedPubDate>
224+
assert detailed_dates["pubmed_pubdates"]["accepted"]["year"] == 2012
225+
assert detailed_dates["pubmed_pubdates"]["accepted"]["month"] == 11
226+
assert detailed_dates["pubmed_pubdates"]["accepted"]["day"] == 13
227+
assert detailed_dates["pubmed_pubdates"]["entrez"]["year"] == 2013
228+
assert detailed_dates["pubmed_pubdates"]["entrez"]["month"] == 7
229+
assert detailed_dates["pubmed_pubdates"]["entrez"]["day"] == 30
230+
assert detailed_dates["pubmed_pubdates"]["entrez"]["hour"] == 6
231+
assert detailed_dates["pubmed_pubdates"]["entrez"]["minute"] == 0
232+
assert detailed_dates["pubmed_pubdates"]["pubmed"]["year"] == 2013
233+
assert detailed_dates["pubmed_pubdates"]["pubmed"]["month"] == 7
234+
assert detailed_dates["pubmed_pubdates"]["pubmed"]["day"] == 31
235+
assert detailed_dates["pubmed_pubdates"]["pubmed"]["hour"] == 6
236+
assert detailed_dates["pubmed_pubdates"]["pubmed"]["minute"] == 0
237+
assert detailed_dates["pubmed_pubdates"]["medline"]["year"] == 2014
238+
assert detailed_dates["pubmed_pubdates"]["medline"]["month"] == 3
239+
assert detailed_dates["pubmed_pubdates"]["medline"]["day"] == 22
240+
assert detailed_dates["pubmed_pubdates"]["medline"]["hour"] == 6
241+
assert detailed_dates["pubmed_pubdates"]["medline"]["minute"] == 0
242+
243+
179244
@pytest.mark.webservice
180245
def test_send_request_invalid():
181246
time.sleep(0.5)

0 commit comments

Comments
 (0)