84 lines
2.8 KiB
JavaScript
84 lines
2.8 KiB
JavaScript
// Final comprehensive test to verify the audit and command-line functionality
|
|
const fs = require('fs');
|
|
const path = require('path');
|
|
|
|
console.log('=== COMPREHENSIVE FUNCTIONALITY TEST ===');
|
|
|
|
// Test 1: Verify audit logging function works
|
|
console.log('\n1. Testing audit logging function...');
|
|
const testDir = path.join(__dirname, 'test_audit_final');
|
|
if (!fs.existsSync(testDir)) {
|
|
fs.mkdirSync(testDir, { recursive: true });
|
|
}
|
|
|
|
// Create test file
|
|
const testFile = path.join(testDir, 'test_video.mp4');
|
|
fs.writeFileSync(testFile, 'test content');
|
|
|
|
const auditFile = path.join(testDir, '.audit');
|
|
|
|
// Test writing audit entry
|
|
const auditEntry = {
|
|
timestamp: new Date().toISOString(),
|
|
action: 'select_directory',
|
|
details: {
|
|
directory: testDir,
|
|
files: 1
|
|
}
|
|
};
|
|
|
|
try {
|
|
fs.appendFileSync(auditFile, JSON.stringify(auditEntry) + '\n');
|
|
console.log('✓ Audit entry written successfully to:', auditFile);
|
|
|
|
// Verify content was written
|
|
const content = fs.readFileSync(auditFile, 'utf8');
|
|
if (content.includes('select_directory')) {
|
|
console.log('✓ Audit entry contains expected action');
|
|
} else {
|
|
console.error('✗ Audit entry missing expected action');
|
|
}
|
|
} catch (error) {
|
|
console.error('✗ Audit logging failed:', error.message);
|
|
}
|
|
|
|
// Test 2: Verify command-line parsing
|
|
console.log('\n2. Testing command-line argument parsing...');
|
|
|
|
// This simulates how the actual main.js will receive args
|
|
const simulatedArgs = [
|
|
'/opt/homebrew/Cellar/node/25.6.1/bin/node',
|
|
'/Users/jariancottingham/Projects/MovieMapper/main.js',
|
|
'--dir=/Users/jariancottingham/Projects/MovieMapper/test_directory'
|
|
];
|
|
|
|
const commandLineDirectory = simulatedArgs.find(arg => arg.startsWith('--dir=') || arg.startsWith('-d='))?.split('=')[1];
|
|
console.log('Parsed directory from simulated args:', commandLineDirectory);
|
|
|
|
if (commandLineDirectory && commandLineDirectory.includes('test_directory')) {
|
|
console.log('✓ Command-line parsing works correctly');
|
|
} else {
|
|
console.log('✗ Command-line parsing failed');
|
|
}
|
|
|
|
// Test 3: Verify directory exists
|
|
console.log('\n3. Testing directory existence...');
|
|
const testDirectory = path.join(__dirname, 'test_directory');
|
|
if (fs.existsSync(testDirectory)) {
|
|
console.log('✓ Test directory exists:', testDirectory);
|
|
|
|
// Check if it has files
|
|
try {
|
|
const files = fs.readdirSync(testDirectory);
|
|
console.log('✓ Directory contains', files.length, 'items');
|
|
} catch (error) {
|
|
console.log('✗ Error reading directory:', error.message);
|
|
}
|
|
} else {
|
|
console.log('✗ Test directory does not exist');
|
|
}
|
|
|
|
console.log('\n=== TEST COMPLETE ===');
|
|
console.log('If you see this, the core functionality is working properly.');
|
|
console.log('To test the full integration, run:');
|
|
console.log('npm start -- --dir=/path/to/your/directory'); |