Files
scripts/kb-processor/tests/test_basic.py

64 lines
2.2 KiB
Python
Executable File

#!/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()