agentbee / test /fixtures /generate_fixtures.py
mangubee's picture
fix: correct author name formatting in multiple files
e7b4937
"""
Generate test fixtures for file parser tests
Author: @mangubee
"""
from pathlib import Path
# ============================================================================
# CONFIG
# ============================================================================
FIXTURES_DIR = Path(__file__).parent
# ============================================================================
# Generate PDF
# ============================================================================
def generate_pdf():
"""Generate sample PDF file using fpdf"""
try:
from fpdf import FPDF
except ImportError:
print("Skipping PDF generation (fpdf not installed)")
return
pdf = FPDF()
pdf.add_page()
pdf.set_font("Arial", size=12)
pdf.cell(200, 10, txt="Test PDF Document", ln=True)
pdf.cell(200, 10, txt="This is page 1 content.", ln=True)
pdf.add_page()
pdf.cell(200, 10, txt="Page 2", ln=True)
pdf.cell(200, 10, txt="This is page 2 content.", ln=True)
pdf_path = FIXTURES_DIR / "sample.pdf"
pdf.output(str(pdf_path))
print(f"Created: {pdf_path}")
# ============================================================================
# Generate Excel
# ============================================================================
def generate_excel():
"""Generate sample Excel file"""
from openpyxl import Workbook
wb = Workbook()
# Sheet 1
ws1 = wb.active
ws1.title = "Data"
ws1.append(["Product", "Price", "Quantity"])
ws1.append(["Apple", 1.50, 100])
ws1.append(["Banana", 0.75, 150])
ws1.append(["Orange", 2.00, 80])
# Sheet 2
ws2 = wb.create_sheet("Summary")
ws2.append(["Total Products", 3])
ws2.append(["Total Quantity", 330])
excel_path = FIXTURES_DIR / "sample.xlsx"
wb.save(excel_path)
print(f"Created: {excel_path}")
# ============================================================================
# Generate Word
# ============================================================================
def generate_word():
"""Generate sample Word document"""
from docx import Document
doc = Document()
doc.add_heading("Test Word Document", 0)
doc.add_paragraph("This is the first paragraph.")
doc.add_paragraph("This is the second paragraph with some content.")
doc.add_heading("Section 2", level=1)
doc.add_paragraph("Content in section 2.")
word_path = FIXTURES_DIR / "sample.docx"
doc.save(word_path)
print(f"Created: {word_path}")
# ============================================================================
# Main
# ============================================================================
if __name__ == "__main__":
print("Generating test fixtures...")
generate_pdf()
generate_excel()
generate_word()
print("All fixtures generated successfully!")