about summary refs log tree commit diff
path: root/tests
diff options
context:
space:
mode:
authorPjotr Prins2026-04-05 11:43:35 +0200
committerPjotr Prins2026-04-05 11:43:35 +0200
commitdbfeccada1550cfcfbedb9e92d3b13ccbf0e547f (patch)
tree4ca11a0c443d5f8f429c248e5aa03b56b5b5805a /tests
parent433e5670464565948ead89097190b303168e27f0 (diff)
downloadgenecup-dbfeccada1550cfcfbedb9e92d3b13ccbf0e547f.tar.gz
Added test for esearch
Diffstat (limited to 'tests')
-rw-r--r--tests/test_network_esearch.py24
1 files changed, 24 insertions, 0 deletions
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()