#!/usr/bin/env python # -*- coding: utf-8 -*- """ Testes básicos para o SuperBot KB Autor: Descomplicar - Agência de Aceleração Digital Website: https://www.descomplicar.pt """ import os import sys import unittest from pathlib import Path # Adicionar diretório src ao PYTHONPATH project_root = Path(__file__).parent.parent sys.path.append(str(project_root / 'src')) from processors.base_processor import BaseProcessor from processors.pdf_processor import PDFProcessor from processors.txt_processor import TextProcessor class TestBasicFunctionality(unittest.TestCase): """Testes básicos de funcionalidade""" def setUp(self): """Configuração inicial dos testes""" self.input_dir = os.getenv('INPUT_DIR', 'input') self.output_dir = os.getenv('OUTPUT_DIR', 'output') # Criar ficheiro de teste self.test_file = Path(self.input_dir) / 'test.txt' self.test_file.parent.mkdir(parents=True, exist_ok=True) self.test_file.write_text('Este é um texto de teste.\nPara verificar o processamento básico.') def test_text_processor(self): """Testar processador de texto""" processor = TextProcessor(str(self.test_file)) self.assertTrue(hasattr(processor, 'process_content')) self.assertTrue(callable(processor.process_content)) content = processor.read_content() self.assertIsNotNone(content) self.assertIsInstance(content, str) def test_pdf_processor_initialization(self): """Testar inicialização do processador de PDF""" processor = PDFProcessor(str(self.test_file)) self.assertTrue(hasattr(processor, 'process_content')) self.assertTrue(callable(processor.process_content)) def test_metadata(self): """Testar metadados do processador""" processor = TextProcessor(str(self.test_file)) self.assertIsInstance(processor.metadata, dict) self.assertIn('título', processor.metadata) self.assertIn('autor_original', processor.metadata) def tearDown(self): """Limpeza após os testes""" if self.test_file.exists(): self.test_file.unlink() if __name__ == '__main__': unittest.main()