1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- #!/usr/bin/env npx tsx
- /**
- * Pacifica凭据管理服务测试脚本
- */
- import fs from 'fs';
- import { PacificaCredentialService } from './src/app/credential-service.js';
- async function testCredentialService() {
- console.log('🧪 开始测试Pacifica凭据管理服务');
- // 创建测试配置
- const testConfig = {
- pacifica: [
- {
- accountId: 'test-account',
- alias: '测试账户',
- privateKey: '5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3', // 测试私钥
- environment: 'development'
- }
- ]
- };
- const configPath = './credentials.test.json';
- fs.writeFileSync(configPath, JSON.stringify(testConfig, null, 2));
- let service: PacificaCredentialService | undefined;
- try {
- // 启动服务
- service = new PacificaCredentialService(configPath, 3002);
- await service.start();
- console.log('✅ 服务启动成功');
- // 测试1:获取服务状态
- console.log('\n📊 测试1: 获取服务状态');
- const statusResponse = await fetch('http://localhost:3002/api/v1/status');
- const statusData = await statusResponse.json();
- console.log('状态:', statusData.data.status);
- console.log('账户数量:', statusData.data.accounts.total);
- // 测试2:执行签名
- console.log('\n🔏 测试2: 执行Pacifica签名');
- const signRequest = {
- platformId: 'pacifica',
- accountId: 'test-account',
- data: {
- instruction: {
- type: 'place_order',
- market: 'BTC-USD',
- side: 'bid',
- amount: '0.001',
- price: '65000'
- },
- nonce: Date.now()
- }
- };
- const signResponse = await fetch('http://localhost:3002/api/v1/sign', {
- method: 'POST',
- headers: { 'Content-Type': 'application/json' },
- body: JSON.stringify(signRequest)
- });
- const signData = await signResponse.json();
- console.log('签名成功:', signData.success);
- console.log('算法:', signData.data.algorithm);
- console.log('签名长度:', signData.data.signature.length);
- console.log('执行时间:', signData.data.metadata.executionTimeMs, 'ms');
- // 测试3:获取账户列表
- console.log('\n📋 测试3: 获取账户列表');
- const accountsResponse = await fetch('http://localhost:3002/api/v1/accounts?platform=pacifica');
- const accountsData = await accountsResponse.json();
- console.log('账户数量:', accountsData.data.total);
- console.log('第一个账户ID:', accountsData.data.accounts[0].accountId);
- console.log('\n✅ 所有测试通过!');
- } catch (error) {
- console.error('❌ 测试失败:', error);
- } finally {
- // 清理
- if (service) {
- await service.stop();
- }
- if (fs.existsSync(configPath)) {
- fs.unlinkSync(configPath);
- }
- console.log('🧹 清理完成');
- }
- }
- // 运行测试
- if (import.meta.url === `file://${process.argv[1]}`) {
- testCredentialService().catch(console.error);
- }
|