refactor(core): Simplify createDeferredPromise, and add tests (no-changelog) (#10811)
This commit is contained in:
committed by
GitHub
parent
d647ef41ac
commit
cef64329a9
@@ -85,12 +85,12 @@ describe('ActiveExecutions', () => {
|
||||
test('Should attach and resolve response promise to existing execution', async () => {
|
||||
const newExecution = mockExecutionData();
|
||||
await activeExecutions.add(newExecution, FAKE_EXECUTION_ID);
|
||||
const deferredPromise = await mockDeferredPromise();
|
||||
const deferredPromise = mockDeferredPromise();
|
||||
activeExecutions.attachResponsePromise(FAKE_EXECUTION_ID, deferredPromise);
|
||||
const fakeResponse = { data: { resultData: { runData: {} } } };
|
||||
activeExecutions.resolveResponsePromise(FAKE_EXECUTION_ID, fakeResponse);
|
||||
|
||||
await expect(deferredPromise.promise()).resolves.toEqual(fakeResponse);
|
||||
await expect(deferredPromise.promise).resolves.toEqual(fakeResponse);
|
||||
});
|
||||
|
||||
test('Should remove an existing execution', async () => {
|
||||
@@ -163,5 +163,5 @@ function mockFullRunData(): IRun {
|
||||
|
||||
// eslint-disable-next-line @typescript-eslint/promise-function-async
|
||||
const mockCancelablePromise = () => new PCancelable<IRun>((resolve) => resolve());
|
||||
// eslint-disable-next-line @typescript-eslint/promise-function-async
|
||||
|
||||
const mockDeferredPromise = () => createDeferredPromise<IExecuteResponsePromiseData>();
|
||||
|
||||
@@ -184,9 +184,9 @@ export class ActiveExecutions {
|
||||
*/
|
||||
async getPostExecutePromise(executionId: string): Promise<IRun | undefined> {
|
||||
// Create the promise which will be resolved when the execution finished
|
||||
const waitPromise = await createDeferredPromise<IRun | undefined>();
|
||||
const waitPromise = createDeferredPromise<IRun | undefined>();
|
||||
this.getExecution(executionId).postExecutePromises.push(waitPromise);
|
||||
return await waitPromise.promise();
|
||||
return await waitPromise.promise;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -437,9 +437,8 @@ export async function executeWebhook(
|
||||
|
||||
let responsePromise: IDeferredPromise<IN8nHttpFullResponse> | undefined;
|
||||
if (responseMode === 'responseNode') {
|
||||
responsePromise = await createDeferredPromise<IN8nHttpFullResponse>();
|
||||
responsePromise
|
||||
.promise()
|
||||
responsePromise = createDeferredPromise<IN8nHttpFullResponse>();
|
||||
responsePromise.promise
|
||||
.then(async (response: IN8nHttpFullResponse) => {
|
||||
if (didSendResponse) {
|
||||
return;
|
||||
@@ -550,7 +549,7 @@ export async function executeWebhook(
|
||||
|
||||
// in `responseNode` mode `responseCallback` is called by `responsePromise`
|
||||
if (responseMode === 'responseNode' && responsePromise) {
|
||||
await Promise.allSettled([responsePromise.promise()]);
|
||||
await Promise.allSettled([responsePromise.promise]);
|
||||
return undefined;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user