From dbfeccada1550cfcfbedb9e92d3b13ccbf0e547f Mon Sep 17 00:00:00 2001 From: Pjotr Prins Date: Sun, 5 Apr 2026 11:43:35 +0200 Subject: Added test for esearch --- tests/test_network_esearch.py | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 tests/test_network_esearch.py (limited to 'tests') diff --git a/tests/test_network_esearch.py b/tests/test_network_esearch.py new file mode 100644 index 0000000..069f442 --- /dev/null +++ b/tests/test_network_esearch.py @@ -0,0 +1,24 @@ +"""Test PubMed esearch via edirect -- requires internet access. + +Run with: python -m unittest tests.test_network_esearch -v +""" + +import subprocess +import unittest + +class TestNetworkEsearch(unittest.TestCase): + def test_esearch_penk_stress(self): + """Search PubMed for Penk + stress, expect at least some PMIDs.""" + result = subprocess.run( + ["sh", "-c", + 'esearch -db pubmed -query "(stress) AND (Penk [tiab])" ' + '| efetch -format uid'], + capture_output=True, text=True, timeout=60) + self.assertEqual(result.returncode, 0, result.stderr) + pmids = result.stdout.strip().split("\n") + pmids = [p for p in pmids if p.strip()] + print(f" Found {len(pmids)} PMIDs for Penk+stress") + self.assertGreater(len(pmids), 0, "Expected at least 1 PMID") + +if __name__ == "__main__": + unittest.main() -- cgit 1.4.1