@@ -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
180245def test_send_request_invalid ():
181246 time .sleep (0.5 )
0 commit comments