n8n-mcp
Version:
Integration between n8n workflow automation and Model Context Protocol (MCP)
74 lines • 2.99 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const node_parser_1 = require("../parsers/node-parser");
async function testVersionExtraction() {
console.log('Testing version extraction from different node types...\n');
const parser = new node_parser_1.NodeParser();
const testCases = [
{
name: 'Gmail Trigger (version array)',
nodeType: 'nodes-base.gmailTrigger',
expectedVersion: '1.2',
expectedVersioned: true
},
{
name: 'HTTP Request (VersionedNodeType)',
nodeType: 'nodes-base.httpRequest',
expectedVersion: '4.2',
expectedVersioned: true
},
{
name: 'Code (version array)',
nodeType: 'nodes-base.code',
expectedVersion: '2',
expectedVersioned: true
}
];
const basePackagePath = process.cwd() + '/node_modules/n8n/node_modules/n8n-nodes-base';
for (const testCase of testCases) {
console.log(`\nTesting: ${testCase.name}`);
console.log(`Node Type: ${testCase.nodeType}`);
try {
const nodeName = testCase.nodeType.split('.')[1];
const possiblePaths = [
`${basePackagePath}/dist/nodes/${nodeName}.node.js`,
`${basePackagePath}/dist/nodes/Google/Gmail/GmailTrigger.node.js`,
`${basePackagePath}/dist/nodes/HttpRequest/HttpRequest.node.js`,
`${basePackagePath}/dist/nodes/Code/Code.node.js`
];
let nodeClass = null;
for (const path of possiblePaths) {
try {
const module = require(path);
nodeClass = module[Object.keys(module)[0]];
if (nodeClass)
break;
}
catch (e) {
}
}
if (!nodeClass) {
console.log('❌ Could not load node');
continue;
}
const parsed = parser.parse(nodeClass, 'n8n-nodes-base');
console.log(`Loaded node: ${parsed.displayName} (${parsed.nodeType})`);
console.log(`Extracted version: ${parsed.version}`);
console.log(`Is versioned: ${parsed.isVersioned}`);
console.log(`Expected version: ${testCase.expectedVersion}`);
console.log(`Expected versioned: ${testCase.expectedVersioned}`);
if (parsed.version === testCase.expectedVersion &&
parsed.isVersioned === testCase.expectedVersioned) {
console.log('✅ PASS');
}
else {
console.log('❌ FAIL');
}
}
catch (error) {
console.log(`❌ Error: ${error instanceof Error ? error.message : String(error)}`);
}
}
}
testVersionExtraction().catch(console.error);
//# sourceMappingURL=test-version-extraction.js.map