Add MCP server code
This commit is contained in:
commit
5e89bc2b26
16 files changed
+1803
No files matched your search
@@ -0,0 +1,39 @@
|
||||
from pdf_mcp.server import get_table_of_contents
|
||||
|
||||
|
||||
class TestGetTableOfContents:
|
||||
def test_basic_toc(self, basic_pdf):
|
||||
toc = get_table_of_contents(basic_pdf)
|
||||
assert len(toc) == 3
|
||||
assert toc[0] == {"level": 1, "title": "Chapter 1", "page": 1}
|
||||
assert toc[1] == {"level": 1, "title": "Chapter 2", "page": 2}
|
||||
assert toc[2] == {"level": 1, "title": "Chapter 3", "page": 3}
|
||||
|
||||
def test_nested_toc_entries(self, nested_toc_pdf):
|
||||
toc = get_table_of_contents(nested_toc_pdf)
|
||||
assert len(toc) == 9
|
||||
|
||||
def test_nested_toc_levels(self, nested_toc_pdf):
|
||||
toc = get_table_of_contents(nested_toc_pdf)
|
||||
levels = [e["level"] for e in toc]
|
||||
assert levels == [1, 1, 2, 2, 3, 3, 1, 2, 2]
|
||||
|
||||
def test_nested_toc_titles(self, nested_toc_pdf):
|
||||
toc = get_table_of_contents(nested_toc_pdf)
|
||||
titles = [e["title"] for e in toc]
|
||||
assert "Introduction" in titles
|
||||
assert "Database Layer" in titles
|
||||
assert "Kubernetes" in titles
|
||||
|
||||
def test_nested_toc_page_numbers(self, nested_toc_pdf):
|
||||
toc = get_table_of_contents(nested_toc_pdf)
|
||||
pages = [e["page"] for e in toc]
|
||||
assert pages == list(range(1, 10))
|
||||
|
||||
def test_no_toc(self, search_pdf):
|
||||
toc = get_table_of_contents(search_pdf)
|
||||
assert toc == []
|
||||
|
||||
def test_no_toc_diagrams(self, diagrams_pdf):
|
||||
toc = get_table_of_contents(diagrams_pdf)
|
||||
assert toc == []
|
||||
Reference in new issue
Block a user