61 lines
2.0 KiB
TypeScript
61 lines
2.0 KiB
TypeScript
// 数据库架构测试文件
|
|
import { database } from './database-factory';
|
|
import { UploadTask } from './types';
|
|
|
|
// 测试数据库基本功能
|
|
export async function testDatabase() {
|
|
console.log('开始测试数据库功能...');
|
|
|
|
try {
|
|
// 初始化数据库
|
|
await database.initUploadTable();
|
|
console.log('✓ 数据库初始化成功');
|
|
|
|
// 测试插入任务
|
|
const testTask: Omit<UploadTask, 'created_at'> = {
|
|
uri: 'test://example.jpg',
|
|
filename: 'example.jpg',
|
|
status: 'pending',
|
|
progress: 0,
|
|
file_id: undefined
|
|
};
|
|
|
|
await database.insertUploadTask(testTask);
|
|
console.log('✓ 任务插入成功');
|
|
|
|
// 测试查询任务
|
|
const retrievedTask = await database.getUploadTaskStatus(testTask.uri);
|
|
if (retrievedTask) {
|
|
console.log('✓ 任务查询成功:', retrievedTask);
|
|
} else {
|
|
console.log('✗ 任务查询失败');
|
|
}
|
|
|
|
// 测试更新任务状态
|
|
await database.updateUploadTaskStatus(testTask.uri, 'success', 'file123');
|
|
console.log('✓ 任务状态更新成功');
|
|
|
|
// 测试获取所有任务
|
|
const allTasks = await database.getUploadTasks();
|
|
console.log('✓ 获取所有任务成功,数量:', allTasks.length);
|
|
|
|
// 测试应用状态
|
|
await database.setAppState('test_key', 'test_value');
|
|
const stateValue = await database.getAppState('test_key');
|
|
console.log('✓ 应用状态测试成功:', stateValue);
|
|
|
|
// 清理测试数据
|
|
await database.cleanUpUploadTasks();
|
|
console.log('✓ 数据清理成功');
|
|
|
|
console.log('🎉 所有数据库测试通过!');
|
|
|
|
} catch (error) {
|
|
console.error('❌ 数据库测试失败:', error);
|
|
throw error;
|
|
}
|
|
}
|
|
|
|
// 导出测试函数供调用
|
|
export default testDatabase;
|