Skip to main content
Glama
test-correct-pricing-api.cjs•4.11 kB
const axios = require('axios'); const baseURL = 'https://aws-pricing.umbrellacost.io'; async function testAPI() { console.log('='.repeat(80)); console.log('Testing CORRECT Umbrella Pricing API'); console.log(`Base URL: ${baseURL}`); console.log('='.repeat(80)); // Test 1: Provider Cost endpoint - AWS EC2 console.log('\n1. Testing /provider-cost - AWS EC2 in us-east-1'); try { const response = await axios.get(`${baseURL}/provider-cost`, { params: { provider: 'AWS', serviceCode: 'AmazonEC2', regionCode: 'us-east-1' }, timeout: 10000 }); console.log('✅ Success!'); console.log(`Response type: ${Array.isArray(response.data) ? 'Array' : typeof response.data}`); console.log(`Items count: ${response.data.length}`); console.log('First 3 items:', JSON.stringify(response.data.slice(0, 3), null, 2)); } catch (error) { console.log('❌ Error:', error.response?.status, error.message); } // Test 2: Specific instance - t2.micro console.log('\n2. Testing /instance/AWS/AmazonEC2/t2.micro'); try { const response = await axios.get(`${baseURL}/instance/AWS/AmazonEC2/t2.micro`, { params: { region: 'us-east-1' }, timeout: 10000 }); console.log('✅ Success!'); console.log('Response:', JSON.stringify(response.data, null, 2)); } catch (error) { console.log('❌ Error:', error.response?.status, error.message); } // Test 3: RDS instance - db.r5.xlarge console.log('\n3. Testing /instance/AWS/AmazonRDS/db.r5.xlarge'); try { const response = await axios.get(`${baseURL}/instance/AWS/AmazonRDS/db.r5.xlarge`, { params: { region: 'us-east-1' }, timeout: 10000 }); console.log('✅ Success!'); console.log('Instance data found!'); console.log('Keys:', Object.keys(response.data)); } catch (error) { console.log('❌ Error:', error.response?.status, error.message); } // Test 4: Instance family types - t3 family console.log('\n4. Testing /instance-family-types/AmazonEC2/t3'); try { const response = await axios.get(`${baseURL}/instance-family-types/AmazonEC2/t3`, { timeout: 10000 }); console.log('✅ Success!'); console.log(`Found ${response.data.length} instance types in t3 family`); console.log('First 5:', JSON.stringify(response.data.slice(0, 5), null, 2)); } catch (error) { console.log('❌ Error:', error.response?.status, error.message); } // Test 5: Region prices for t2.micro console.log('\n5. Testing /region-prices/AWS/AmazonEC2/t2.micro'); try { const response = await axios.get(`${baseURL}/region-prices/AWS/AmazonEC2/t2.micro`, { timeout: 10000 }); console.log('✅ Success!'); console.log(`Found pricing for ${response.data.length} regions`); console.log('First 3 regions:', JSON.stringify(response.data.slice(0, 3), null, 2)); } catch (error) { console.log('❌ Error:', error.response?.status, error.message); } // Test 6: Azure SQL Database console.log('\n6. Testing /provider-cost - Azure SQL Database'); try { const response = await axios.get(`${baseURL}/provider-cost`, { params: { provider: 'Azure', serviceCode: 'AzureSQLDatabase', regionCode: 'eastus' }, timeout: 10000 }); console.log('✅ Success!'); console.log(`Found ${response.data.length} Azure SQL Database options`); console.log('First 3:', JSON.stringify(response.data.slice(0, 3), null, 2)); } catch (error) { console.log('❌ Error:', error.response?.status, error.message); } // Test 7: Last update console.log('\n7. Testing /last-update'); try { const response = await axios.get(`${baseURL}/last-update`, { timeout: 10000 }); console.log('✅ Success!'); console.log('Last update:', JSON.stringify(response.data, null, 2)); } catch (error) { console.log('❌ Error:', error.response?.status, error.message); } console.log('\n' + '='.repeat(80)); console.log('Testing Complete!'); console.log('='.repeat(80)); } testAPI().catch(console.error);

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/daviddraiumbrella/invoice-monitoring'

If you have feedback or need assistance with the MCP directory API, please join our Discord server