Skip to main content
Glama
test_apaper_iacr.py2.52 kB
# tests/test_apaper_iacr.py """ Unit tests for APaper IACR functionality """ import unittest import sys import os # Add the src directory to the path so we can import our modules sys.path.insert(0, os.path.join(os.path.dirname(__file__), "..", "src")) from apaper.platforms.iacr import IACRSearcher from apaper.models.paper import Paper class TestAPaperIACRSearcher(unittest.TestCase): def setUp(self): """Set up test fixtures""" self.searcher = IACRSearcher() def test_search_basic(self): """Test basic search functionality""" papers = self.searcher.search("cryptography", max_results=3, fetch_details=False) self.assertIsInstance(papers, list) self.assertLessEqual(len(papers), 3) if papers: paper = papers[0] self.assertIsInstance(paper, Paper) self.assertIsNotNone(paper.title) self.assertIsNotNone(paper.paper_id) self.assertIsInstance(paper.authors, list) self.assertEqual(paper.source, "iacr") def test_search_empty_query(self): """Test search with empty query""" papers = self.searcher.search("", max_results=2, fetch_details=False) self.assertIsInstance(papers, list) def test_search_max_results(self): """Test search respects max_results parameter""" papers = self.searcher.search("zero knowledge", max_results=2, fetch_details=False) self.assertLessEqual(len(papers), 2) def test_paper_model(self): """Test Paper model functionality""" from datetime import datetime paper = Paper( paper_id="test/123", title="Test Paper", authors=["Author One", "Author Two"], abstract="This is a test abstract", doi="", published_date=datetime.now(), pdf_url="https://example.com/test.pdf", url="https://example.com/paper", source="iacr" ) self.assertEqual(paper.paper_id, "test/123") self.assertEqual(paper.title, "Test Paper") self.assertEqual(len(paper.authors), 2) self.assertEqual(paper.source, "iacr") # Test to_dict method paper_dict = paper.to_dict() self.assertIsInstance(paper_dict, dict) self.assertEqual(paper_dict["paper_id"], "test/123") self.assertEqual(paper_dict["title"], "Test Paper") if __name__ == "__main__": unittest.main()

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/jiahaoxiang2000/all-in-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server