codenuk_backend_mine/services/git-integration/test-webhook.js
2025-09-26 17:04:14 +05:30

71 lines
1.5 KiB
JavaScript

// test-webhook.js - Simple test script for webhook endpoint
const fetch = require('node-fetch');
const WEBHOOK_URL = 'http://localhost:8012/api/github/webhook';
// Test webhook with a sample GitHub push event
const testPayload = {
ref: 'refs/heads/main',
before: 'abc123',
after: 'def456',
repository: {
id: 123456,
name: 'test-repo',
full_name: 'testuser/test-repo',
owner: {
login: 'testuser',
id: 789
}
},
pusher: {
name: 'testuser',
email: 'test@example.com'
},
commits: [
{
id: 'def456',
message: 'Test commit',
author: {
name: 'Test User',
email: 'test@example.com'
}
}
]
};
async function testWebhook() {
try {
console.log('🧪 Testing webhook endpoint...');
console.log(`📡 Sending POST request to: ${WEBHOOK_URL}`);
const response = await fetch(WEBHOOK_URL, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'X-GitHub-Event': 'push',
'X-GitHub-Delivery': 'test-delivery-123'
},
body: JSON.stringify(testPayload)
});
const result = await response.json();
console.log('📊 Response Status:', response.status);
console.log('📋 Response Body:', JSON.stringify(result, null, 2));
if (response.ok) {
console.log('✅ Webhook test successful!');
} else {
console.log('❌ Webhook test failed!');
}
} catch (error) {
console.error('❌ Error testing webhook:', error.message);
}
}
// Run the test
testWebhook();