64 lines
2.2 KiB
Python
Executable File
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()
|