UNPKG

@simonecoelhosfo/optimizely-mcp-server

Version:

Optimizely MCP Server for AI assistants with integrated CLI tools

57 lines 2.71 kB
/** * Test the SchemaResolver * Quick test to verify SchemaResolver can load and parse schemas */ import { fieldsSchemaResolver } from './FieldsSchemaResolver.js'; async function testFieldsSchemaResolver() { console.log('Testing SchemaResolver...\n'); try { // Initialize the resolver console.log('1. Initializing SchemaResolver...'); await fieldsSchemaResolver.initialize(); console.log('Initialization successful\n'); // Get available entity types console.log('2. Getting available entity types...'); const entityTypes = fieldsSchemaResolver.getAvailableEntityTypes(); console.log(`Found ${entityTypes.length} entity types:`, entityTypes.slice(0, 10), '...\n'); // Test with 'flag' entity console.log('3. Getting queryable paths for "flag" entity...'); const flagPaths = await fieldsSchemaResolver.getQueryablePaths('flag'); console.log(`Found ${flagPaths.length} queryable paths for flags\n`); // Show some example paths console.log('4. Example flag paths:'); flagPaths.slice(0, 10).forEach(path => { console.log(` - ${path.fullPath} (${path.type})`); }); console.log(''); // Search for specific fields console.log('5. Searching for fields containing "enabled"...'); const enabledFields = await fieldsSchemaResolver.searchFields('flag', 'enabled'); console.log(`Found ${enabledFields.length} fields:`); enabledFields.forEach(field => { console.log(` - ${field.fullPath} (${field.type})`); }); console.log(''); // Test with 'experiment' entity console.log('6. Getting queryable paths for "experiment" entity...'); const experimentPaths = await fieldsSchemaResolver.getQueryablePaths('experiment'); console.log(`Found ${experimentPaths.length} queryable paths for experiments\n`); // Show paths with cdnVariationSettings console.log('7. Searching for cdnVariationSettings...'); const cdnFields = await fieldsSchemaResolver.searchFields('experiment', 'cdnVariationSettings'); console.log(`Found ${cdnFields.length} CDN-related fields:`); cdnFields.forEach(field => { console.log(` - ${field.fullPath}`); console.log(` SQL: ${field.sqlPath}`); console.log(` JSONata: ${field.jsonataPath}`); }); console.log('\nAll tests passed!'); } catch (error) { console.error('Test failed:', error); process.exit(1); } } // Run the test testFieldsSchemaResolver().catch(console.error); //# sourceMappingURL=test-schema-resolver.js.map