refactor: enterprise-grade project structure
- Move test files to tests/ - Archive session notes to docs/archive/ - Remove temp/diagnostic files - Clean src/ to only contain production code
This commit is contained in:
68
tests/test-api-formats.ts
Executable file
68
tests/test-api-formats.ts
Executable file
@@ -0,0 +1,68 @@
|
||||
#!/usr/bin/env bun
|
||||
/**
|
||||
* Test script to verify Dokploy API endpoint formats
|
||||
* Tests the three core operations needed for deployment
|
||||
*/
|
||||
|
||||
import { createDokployClient } from './api/dokploy.js';
|
||||
|
||||
const TEST_PROJECT_NAME = `test-api-${Date.now()}`;
|
||||
const TEST_APP_NAME = `test-app-${Date.now()}`;
|
||||
|
||||
console.log('═══════════════════════════════════════');
|
||||
console.log(' Dokploy API Format Tests');
|
||||
console.log('═══════════════════════════════════════\n');
|
||||
|
||||
try {
|
||||
const client = createDokployClient();
|
||||
|
||||
// Test 1: project.create
|
||||
console.log('📋 Test 1: project.create');
|
||||
console.log('Request: { name, description }');
|
||||
const project = await client.createProject(
|
||||
TEST_PROJECT_NAME,
|
||||
'API format test project'
|
||||
);
|
||||
console.log('Response format:');
|
||||
console.log(JSON.stringify(project, null, 2));
|
||||
console.log(`✅ Project created: ${project.projectId}\n`);
|
||||
|
||||
// Test 2: application.create
|
||||
console.log('📋 Test 2: application.create');
|
||||
console.log('Request: { name, appName, projectId, dockerImage, sourceType }');
|
||||
const application = await client.createApplication(
|
||||
TEST_APP_NAME,
|
||||
project.projectId,
|
||||
'nginx:alpine'
|
||||
);
|
||||
console.log('Response format:');
|
||||
console.log(JSON.stringify(application, null, 2));
|
||||
console.log(`✅ Application created: ${application.applicationId}\n`);
|
||||
|
||||
// Test 3: application.deploy
|
||||
console.log('📋 Test 3: application.deploy');
|
||||
console.log('Request: { applicationId }');
|
||||
await client.deployApplication(application.applicationId);
|
||||
console.log('Response: void (no return value)');
|
||||
console.log(`✅ Deployment triggered\n`);
|
||||
|
||||
// Cleanup
|
||||
console.log('🧹 Cleaning up test resources...');
|
||||
await client.deleteApplication(application.applicationId);
|
||||
console.log(`✅ Deleted application: ${application.applicationId}`);
|
||||
await client.deleteProject(project.projectId);
|
||||
console.log(`✅ Deleted project: ${project.projectId}`);
|
||||
|
||||
console.log('\n═══════════════════════════════════════');
|
||||
console.log(' All API Format Tests Passed!');
|
||||
console.log('═══════════════════════════════════════');
|
||||
|
||||
} catch (error) {
|
||||
console.error('\n❌ Test failed:');
|
||||
console.error(error);
|
||||
if (error instanceof Error) {
|
||||
console.error('Error message:', error.message);
|
||||
console.error('Error stack:', error.stack);
|
||||
}
|
||||
process.exit(1);
|
||||
}
|
||||
Reference in New Issue
Block a user