Skip to main content
Glama
test-local-plain-sub-users.cjs4.09 kB
#!/usr/bin/env node /** * Test the plain-sub-users API directly through our local server/client */ // Import our local modules from dist const path = require('path'); const projectRoot = path.resolve(__dirname, '../..'); const { UmbrellaDualAuth } = require(path.join(projectRoot, 'dist/dual-auth.js')); const { UmbrellaApiClient } = require(path.join(projectRoot, 'dist/api-client.js')); async function testLocalPlainSubUsers() { console.log('🔍 Testing plain-sub-users API through local client...\n'); const baseURL = 'https://api.umbrellacost.io/api/v1'; try { // Step 1: Set up dual auth console.log('1️⃣ Setting up authentication...'); const dualAuth = new UmbrellaDualAuth(baseURL); // Try Cognito authentication first const authResult = await dualAuth.authenticateCognito('david+allcloud@umbrellacost.com', 'UmbrellaCost2024!'); if (!authResult.Authorization) { throw new Error('Authentication failed'); } console.log(`✅ Authentication successful`); console.log(` Authorization: ${authResult.Authorization.substring(0, 50)}...`); // Step 2: Set up API client console.log('\n2️⃣ Setting up API client...'); const apiClient = new UmbrellaApiClient(baseURL); apiClient.setAuthToken(authResult); console.log('✅ API client configured'); // Step 3: Test plain-sub-users WITHOUT additional parameters console.log('\n3️⃣ Testing /users/plain-sub-users (no special parameters)...'); try { const response1 = await apiClient.makeDirectRequest('/users/plain-sub-users'); console.log(`✅ Request succeeded`); console.log(` Success: ${response1.success}`); console.log(` Data:`, JSON.stringify(response1.data, null, 2)); } catch (error) { console.log(`❌ Request failed: ${error.message}`); } console.log('\n' + '='.repeat(80) + '\n'); // Step 4: Test plain-sub-users WITH isPpApplied in parameters console.log('4️⃣ Testing /users/plain-sub-users with isPpApplied: true in params...'); try { const response2 = await apiClient.makeDirectRequest('/users/plain-sub-users', { isPpApplied: true }); console.log(`✅ Request succeeded`); console.log(` Success: ${response2.success}`); console.log(` Data:`, JSON.stringify(response2.data, null, 2)); } catch (error) { console.log(`❌ Request failed: ${error.message}`); } console.log('\n' + '='.repeat(80) + '\n'); // Step 5: Test plain-sub-users WITH isPpApplied: false in parameters console.log('5️⃣ Testing /users/plain-sub-users with isPpApplied: false in params...'); try { const response3 = await apiClient.makeDirectRequest('/users/plain-sub-users', { isPpApplied: false }); console.log(`✅ Request succeeded`); console.log(` Success: ${response3.success}`); console.log(` Data:`, JSON.stringify(response3.data, null, 2)); } catch (error) { console.log(`❌ Request failed: ${error.message}`); } console.log('\n' + '='.repeat(80) + '\n'); // Step 6: Test plain-sub-users with customer_account_key (MSP mode) console.log('6️⃣ Testing /users/plain-sub-users with customer_account_key (MSP mode)...'); try { const response4 = await apiClient.makeDirectRequest('/users/plain-sub-users', { customer_account_key: '22676', // Bank Leumi account isPpApplied: true }); console.log(`✅ Request succeeded`); console.log(` Success: ${response4.success}`); console.log(` Data:`, JSON.stringify(response4.data, null, 2)); } catch (error) { console.log(`❌ Request failed: ${error.message}`); } } catch (error) { console.error('💥 Test failed:', error.message); if (error.response) { console.error(' Status:', error.response.status); console.error(' Data:', error.response.data); } } } // Run the test testLocalPlainSubUsers().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