@simonecoelhosfo/optimizely-mcp-server
Version:
Optimizely MCP Server for AI assistants with integrated CLI tools
57 lines • 2.71 kB
JavaScript
/**
* 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