From fa28a5f10ad04d923ac42c7b621fe769a4325bff Mon Sep 17 00:00:00 2001 From: Mark Foresta Date: Sat, 12 Oct 2024 12:46:21 -0400 Subject: [PATCH] Adding test for metadata during dry run Signed-off-by: Mark Foresta --- .../tasks/NunjucksWorkflowRunner.test.ts | 34 +++++++++++++++++-- 1 file changed, 31 insertions(+), 3 deletions(-) diff --git a/plugins/scaffolder-backend/src/scaffolder/tasks/NunjucksWorkflowRunner.test.ts b/plugins/scaffolder-backend/src/scaffolder/tasks/NunjucksWorkflowRunner.test.ts index 0bcbd2f917..5dab8fb893 100644 --- a/plugins/scaffolder-backend/src/scaffolder/tasks/NunjucksWorkflowRunner.test.ts +++ b/plugins/scaffolder-backend/src/scaffolder/tasks/NunjucksWorkflowRunner.test.ts @@ -78,7 +78,7 @@ describe('NunjucksWorkflowRunner', () => { spec, secrets, isDryRun, - complete: async () => {}, + complete: async () => { }, done: false, emitLog: fakeTaskLog, cancelSignal: new AbortController().signal, @@ -636,8 +636,8 @@ describe('NunjucksWorkflowRunner', () => { }), getTaskState: (): Promise< | { - state: JsonObject; - } + state: JsonObject; + } | undefined > => { return Promise.resolve({ @@ -1331,6 +1331,34 @@ describe('NunjucksWorkflowRunner', () => { expect(fakeActionHandler.mock.calls[0][0].isDryRun).toEqual(true); }); + + it('should have metadata in action context during dry run', async () => { + const task = createMockTaskWithSpec( + { + apiVersion: 'scaffolder.backstage.io/v1beta3', + templateInfo: { entityRef: "dryRun-Entity", entity: { metadata: { name: "test-template" } } }, + parameters: {}, + output: {}, + steps: [ + { + id: 'test', + name: 'name', + action: 'jest-validated-action', + input: { foo: 1 }, + }, + ], + }, + { + backstageToken: token, + }, + true, + ); + + await runner.execute(task); + + expect(fakeActionHandler.mock.calls[0][0].isDryRun).toEqual(true); + expect(fakeActionHandler.mock.calls[0][0].templateInfo.entity.metadata.name).toEqual("test-template"); + }); }); describe('permissions', () => {