From 182e77ba82d9f40289c485174918f67d8beae494 Mon Sep 17 00:00:00 2001 From: solimant Date: Thu, 12 Jun 2025 05:46:43 +0000 Subject: [PATCH] Rebase tests Signed-off-by: solimant --- .../src/service/router.test.ts | 49 +++++++++---------- 1 file changed, 23 insertions(+), 26 deletions(-) diff --git a/plugins/scaffolder-backend/src/service/router.test.ts b/plugins/scaffolder-backend/src/service/router.test.ts index 38fbbea533..467b590bed 100644 --- a/plugins/scaffolder-backend/src/service/router.test.ts +++ b/plugins/scaffolder-backend/src/service/router.test.ts @@ -42,6 +42,7 @@ import { TaskSpec } from '@backstage/plugin-scaffolder-common'; import { JsonValue } from '@backstage/types'; import { StorageTaskBroker } from '../scaffolder/tasks/StorageTaskBroker'; import { AuthorizeResult } from '@backstage/plugin-permission-common'; +import { wrapServer } from '@backstage/backend-openapi-utils/testUtils'; import { mockCredentials, mockErrorHandler, @@ -57,6 +58,7 @@ import { } from '@backstage/plugin-scaffolder-node/alpha'; import { catalogServiceMock } from '@backstage/plugin-catalog-node/testUtils'; import { DatabaseService } from '@backstage/backend-plugin-api'; +import { createDebugLogAction } from '../scaffolder/actions/builtin'; import { ScmIntegrations } from '@backstage/integration'; import { extractFilterMetadata, @@ -66,24 +68,6 @@ import { import { createDefaultFilters } from '../lib/templating/filters/createDefaultFilters'; import { createRouter } from './router'; import { DatabaseTaskStore } from '../scaffolder/tasks/DatabaseTaskStore'; -import { Server } from 'http'; -import { wrapServer } from '@backstage/backend-openapi-utils/testUtils'; - -const mockAccess = jest.fn(); - -jest.mock('fs-extra', () => ({ - ...jest.requireActual('fs-extra'), - access: (...args: any[]) => mockAccess(...args), - promises: { - access: (...args: any[]) => mockAccess(...args), - }, - constants: { - F_OK: 0, - W_OK: 1, - }, - mkdir: jest.fn(), - remove: jest.fn(), -})); function createDatabase(): DatabaseService { return DatabaseManager.fromConfig( @@ -260,12 +244,20 @@ const createTestRouter = async ( }, handler: async () => {}, }), + createDebugLogAction(), ], }); router.use(mockErrorHandler()); - const app = await wrapServer(express().use(router)); - return { router: app, logger, taskBroker, permissions, catalog }; + const wrappedRouter = await wrapServer(express().use(router)); + return { + router: wrappedRouter, + unwrappedRouter: router, + logger, + taskBroker, + permissions, + catalog, + }; }; describe('scaffolder router', () => { @@ -281,7 +273,7 @@ describe('scaffolder router', () => { const response = await request(router).get('/v2/actions').send(); expect(response.status).toEqual(200); expect(response.body[0].id).toBeDefined(); - expect(response.body.length).toBe(1); + expect(response.body.length).toBe(2); }); }); @@ -723,7 +715,10 @@ describe('scaffolder router', () => { }, }); - console.log(status, body); + expect(status).toBe(201); + expect(body).toMatchObject({ + id: expect.any(String), + }); expect(logger.info).toHaveBeenCalledTimes(1); expect(logger.info).toHaveBeenCalledWith( 'Scaffolding task for template:default/create-react-app-template created by user:default/mock', @@ -1053,7 +1048,7 @@ describe('scaffolder router', () => { describe('GET /v2/tasks/:taskId/eventstream', () => { it('should return log messages', async () => { - const { router, taskBroker } = await createTestRouter(); + const { unwrappedRouter: router, taskBroker } = await createTestRouter(); (taskBroker.get as jest.Mocked['get']).mockResolvedValue({ id: 'a-random-id', spec: {} as any, @@ -1148,7 +1143,7 @@ data: {"id":1,"taskId":"a-random-id","type":"completion","createdAt":"","body":{ }); it('should return log messages with after query', async () => { - const { router, taskBroker } = await createTestRouter(); + const { unwrappedRouter: router, taskBroker } = await createTestRouter(); (taskBroker.get as jest.Mocked['get']).mockResolvedValue({ id: 'a-random-id', spec: {} as any, @@ -1452,7 +1447,7 @@ data: {"id":1,"taskId":"a-random-id","type":"completion","createdAt":"","body":{ it('should call the autocomplete handler', async () => { const handleAutocompleteRequest = jest.fn().mockResolvedValue({ - results: [{ title: 'blob' }], + results: [{ id: 'a-random-id', title: 'blob' }], }); const { router } = await createTestRouter({ @@ -1473,7 +1468,9 @@ data: {"id":1,"taskId":"a-random-id","type":"completion","createdAt":"","body":{ expect(response.status).toEqual(200); - expect(response.body).toEqual({ results: [{ title: 'blob' }] }); + expect(response.body).toEqual({ + results: [{ id: 'a-random-id', title: 'blob' }], + }); expect(handleAutocompleteRequest).toHaveBeenCalledWith({ token: mockToken, context,