test-enhanced-server.js•2.15 kB
#!/usr/bin/env node
// Test the enhanced server directly
const EnhancedCalibreRAGServer = require('./server.js');
async function testEnhancedServer() {
try {
console.log('🔍 Testing Enhanced Calibre RAG Server with OCR...');
const server = new EnhancedCalibreRAGServer();
// Test search first
console.log('📚 Testing book search...');
const searchResults = await server.searchBooksMetadata('title:basic', 5);
console.log(`Found ${searchResults.length} books`);
if (searchResults.length > 0) {
const book = searchResults[0];
console.log('\\n📖 First book found:');
console.log('Title:', book.title);
console.log('Authors:', book.authors);
console.log('ID:', book.id);
console.log('Formats:', book.formats);
console.log('Has text:', book.has_text);
// Test OCR on this book
if (!book.has_text && book.formats && book.formats.length > 0) {
console.log('\\n🔍 Testing OCR on this book...');
// Create a mock book object for OCR testing
const bookForOCR = {
id: book.id,
title: book.title,
authors: book.authors,
formats: book.full_formats || book.formats
};
const ocrText = await server.processBookWithOCR(bookForOCR);
console.log(`OCR result: ${ocrText.length} characters extracted`);
if (ocrText.length > 0) {
console.log('Sample text:', ocrText.substring(0, 200) + '...');
} else {
console.log('⚠️ No text extracted via OCR');
}
}
}
console.log('\\n🎉 Enhanced server test completed!');
} catch (error) {
console.error('❌ Enhanced server test failed:', error.message);
console.error('Stack:', error.stack);
}
}
testEnhancedServer();