Merge pull request #26230 from backstage/nbs10/cleanup-error-handler-in-tests

[NBS 1.0] Use `mockErrorHandler` instead of `MiddlewareFactory` in tests
This commit is contained in:
Camila Belo
2024-08-27 10:54:16 +02:00
committed by GitHub
4 changed files with 22 additions and 27 deletions
@@ -19,13 +19,11 @@
import express from 'express';
import request from 'supertest';
import { createCredentialsBarrier } from './createCredentialsBarrier';
import { mockCredentials, mockServices } from '@backstage/backend-test-utils';
import { MiddlewareFactory } from '../rootHttpRouter/http';
const errorMiddleware = MiddlewareFactory.create({
config: mockServices.rootConfig(),
logger: mockServices.rootLogger(),
}).error();
import {
mockCredentials,
mockErrorHandler,
mockServices,
} from '@backstage/backend-test-utils';
function setup() {
const barrier = createCredentialsBarrier({
@@ -37,7 +35,7 @@ function setup() {
const app = express();
app.use(barrier.middleware);
app.use(errorMiddleware);
app.use(mockErrorHandler());
app.get('*', (_req, res) => res.status(200).end());
return { app, barrier };
@@ -44,9 +44,12 @@ import {
AuthorizeResult,
PermissionEvaluator,
} from '@backstage/plugin-permission-common';
import { mockCredentials, mockServices } from '@backstage/backend-test-utils';
import {
mockCredentials,
mockErrorHandler,
mockServices,
} from '@backstage/backend-test-utils';
import { AutocompleteHandler } from '@backstage/plugin-scaffolder-node/alpha';
import { MiddlewareFactory } from '@backstage/backend-defaults/rootHttpRouter';
import { UrlReaders } from '@backstage/backend-defaults/urlReader';
const mockAccess = jest.fn();
@@ -1501,8 +1504,6 @@ data: {"id":1,"taskId":"a-random-id","type":"completion","createdAt":"","body":{
results: [{ title: 'blob' }],
});
const logger = mockServices.logger.mock();
const middleware = MiddlewareFactory.create({ config, logger });
const router = await createRouter({
logger: loggerToWinstonLogger(mockServices.logger.mock()),
config: new ConfigReader({}),
@@ -1519,7 +1520,7 @@ data: {"id":1,"taskId":"a-random-id","type":"completion","createdAt":"","body":{
},
});
app = express().use(router).use(middleware.error());
app = express().use(router).use(mockErrorHandler());
});
it('should throw an error when the provider is not registered', async () => {
@@ -25,9 +25,12 @@ import request from 'supertest';
import { createRouter } from './router';
import { wrapInOpenApiTestServer } from '@backstage/backend-openapi-utils';
import { Server } from 'http';
import { mockCredentials, mockServices } from '@backstage/backend-test-utils';
import {
mockCredentials,
mockErrorHandler,
mockServices,
} from '@backstage/backend-test-utils';
import { DiscoveryService } from '@backstage/backend-plugin-api';
import { MiddlewareFactory } from '@backstage/backend-defaults/rootHttpRouter';
const mockPermissionEvaluator: PermissionEvaluator = {
authorize: () => {
@@ -84,11 +87,9 @@ describe('createRouter', () => {
auth: mockServices.auth(),
httpAuth: mockServices.httpAuth(),
});
const errorHandler = MiddlewareFactory.create({
config: mockServices.rootConfig(),
logger: mockServices.rootLogger(),
}).error();
app = wrapInOpenApiTestServer(express().use(router).use(errorHandler));
app = wrapInOpenApiTestServer(
express().use(router).use(mockErrorHandler()),
);
});
beforeEach(() => {
@@ -24,8 +24,7 @@ import {
UserInfoService,
} from '@backstage/backend-plugin-api';
import { ConfigReader } from '@backstage/config';
import { mockServices } from '@backstage/backend-test-utils';
import { MiddlewareFactory } from '@backstage/backend-defaults/rootHttpRouter';
import { mockErrorHandler, mockServices } from '@backstage/backend-test-utils';
const eventsServiceMock: jest.Mocked<EventsService> = {
subscribe: jest.fn(),
@@ -53,11 +52,7 @@ describe('createRouter', () => {
config: new ConfigReader({}),
auth: mockServices.auth(),
});
const errorHandler = MiddlewareFactory.create({
config: mockServices.rootConfig(),
logger: mockServices.rootLogger(),
}).error();
app = express().use(router).use(errorHandler);
app = express().use(router).use(mockErrorHandler());
});
beforeEach(() => {