mirror of
https://github.com/Abdulazizzn/n8n-enterprise-unlocked.git
synced 2025-12-17 01:56:46 +00:00
refactor: Overhaul nodes-testing setup - Part 3 (no-changelog) (#14967)
This commit is contained in:
committed by
GitHub
parent
3e43f9f8bc
commit
979f9e6327
79
packages/@n8n/nodes-langchain/nodes/vendors/OpenAi/test/OpenAI.workflow.test.ts
vendored
Normal file
79
packages/@n8n/nodes-langchain/nodes/vendors/OpenAi/test/OpenAI.workflow.test.ts
vendored
Normal file
@@ -0,0 +1,79 @@
|
||||
import { NodeTestHarness } from '@nodes-testing/node-test-harness';
|
||||
import { pick } from 'lodash';
|
||||
import type { WorkflowTestData } from 'n8n-workflow';
|
||||
import path from 'node:path';
|
||||
|
||||
describe('OpenAI Workflow', () => {
|
||||
const baseUrl = 'https://api.openai.com/v1';
|
||||
const credentials = {
|
||||
openAiApi: { url: baseUrl },
|
||||
};
|
||||
|
||||
const testHarness = new NodeTestHarness({
|
||||
additionalPackagePaths: [path.dirname(require.resolve('n8n-nodes-base'))],
|
||||
});
|
||||
|
||||
const assistants = [
|
||||
{
|
||||
id: 'asst_abc123',
|
||||
object: 'assistant',
|
||||
created_at: 1698982736,
|
||||
name: 'Coding Tutor',
|
||||
description: null,
|
||||
model: 'gpt-4o',
|
||||
tools: [],
|
||||
tool_resources: {},
|
||||
metadata: {},
|
||||
top_p: 1.0,
|
||||
temperature: 1.0,
|
||||
response_format: 'auto',
|
||||
},
|
||||
{
|
||||
id: 'asst_abc456',
|
||||
object: 'assistant',
|
||||
created_at: 1698982718,
|
||||
name: 'My Assistant',
|
||||
description: null,
|
||||
model: 'gpt-4o',
|
||||
tools: [],
|
||||
tool_resources: {},
|
||||
metadata: {},
|
||||
top_p: 1.0,
|
||||
temperature: 1.0,
|
||||
response_format: 'auto',
|
||||
},
|
||||
];
|
||||
|
||||
const testData: WorkflowTestData = {
|
||||
description: 'List Assistants',
|
||||
input: {
|
||||
workflowData: testHarness.readWorkflowJSON('list-assistants.workflow.json'),
|
||||
},
|
||||
output: {
|
||||
nodeExecutionOrder: ['When clicking ‘Test workflow’', 'OpenAI'],
|
||||
nodeData: {
|
||||
OpenAI: [
|
||||
assistants.map((assistant) => ({
|
||||
json: pick(assistant, ['id', 'model', 'name']),
|
||||
})),
|
||||
],
|
||||
},
|
||||
},
|
||||
nock: {
|
||||
baseUrl,
|
||||
mocks: [
|
||||
{
|
||||
method: 'get',
|
||||
path: '/assistants?limit=100',
|
||||
statusCode: 200,
|
||||
responseBody: {
|
||||
object: 'list',
|
||||
data: assistants,
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
};
|
||||
|
||||
testHarness.setupTest(testData, { credentials });
|
||||
});
|
||||
43
packages/@n8n/nodes-langchain/nodes/vendors/OpenAi/test/list-assistants.workflow.json
vendored
Normal file
43
packages/@n8n/nodes-langchain/nodes/vendors/OpenAi/test/list-assistants.workflow.json
vendored
Normal file
@@ -0,0 +1,43 @@
|
||||
{
|
||||
"nodes": [
|
||||
{
|
||||
"parameters": {},
|
||||
"type": "n8n-nodes-base.manualTrigger",
|
||||
"typeVersion": 1,
|
||||
"position": [0, 0],
|
||||
"id": "ce6133c3-2eb6-4262-8e0c-54015ed0f795",
|
||||
"name": "When clicking ‘Test workflow’"
|
||||
},
|
||||
{
|
||||
"parameters": {
|
||||
"resource": "assistant",
|
||||
"operation": "list"
|
||||
},
|
||||
"type": "@n8n/n8n-nodes-langchain.openAi",
|
||||
"typeVersion": 1.8,
|
||||
"position": [220, 0],
|
||||
"id": "070d2fcc-032c-4c3f-ae33-80a5352785f8",
|
||||
"name": "OpenAI",
|
||||
"credentials": {
|
||||
"openAiApi": {
|
||||
"id": "123",
|
||||
"name": "OpenAi account"
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"connections": {
|
||||
"When clicking ‘Test workflow’": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "OpenAI",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
},
|
||||
"pinData": {}
|
||||
}
|
||||
Reference in New Issue
Block a user