Skip to main content
Glama
test-corrected-pricing-tools.cjs3.56 kB
const axios = require('axios'); const baseURL = 'https://aws-pricing.umbrellacost.io'; async function testPricingTools() { console.log('='.repeat(80)); console.log('Testing Corrected Pricing API Implementation'); console.log(`Base URL: ${baseURL}`); console.log('='.repeat(80)); // Test 1: get_instance_pricing - AWS EC2 t2.micro console.log('\n1. Testing get_instance_pricing - AWS EC2 t2.micro in us-east-1'); 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 2: get_instance_pricing - AWS RDS db.r5.xlarge console.log('\n2. Testing get_instance_pricing - AWS RDS db.r5.xlarge in us-east-1'); 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)); console.log('Sample data:', JSON.stringify(response.data, null, 2).substring(0, 500)); } catch (error) { console.log('❌ Error:', error.response?.status, error.message); } // Test 3: compare_regional_pricing - t2.micro console.log('\n3. Testing compare_regional_pricing - AWS EC2 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 4: get_pricing_last_update console.log('\n4. Testing get_pricing_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); } // Test 5: Azure SQL Database instance console.log('\n5. Testing Azure SQL Database - Basic tier'); 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`); // Look for r5.xlarge equivalent const sqlInstanceEquivalent = response.data.find(item => item.instanceType && ( item.instanceType.includes('S3') || item.instanceType.includes('P2') || item.instanceType.includes('GP_Gen5_4') ) ); if (sqlInstanceEquivalent) { console.log('Found equivalent to db.r5.xlarge:', JSON.stringify(sqlInstanceEquivalent, null, 2)); } else { console.log('Sample instances:', JSON.stringify(response.data.slice(0, 3), 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)); } testPricingTools().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