From 81d47b57d64113059d68e725fe117e6a1f04ac70 Mon Sep 17 00:00:00 2001 From: David Mehren Date: Fri, 11 Feb 2022 19:45:31 +0100 Subject: [PATCH] test: app should not crash on requests to / Regression test for 396ad181d00a5a46daa5637f862aa919e29f9b4e Signed-off-by: David Mehren --- test/app.e2e-spec.ts | 58 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 test/app.e2e-spec.ts diff --git a/test/app.e2e-spec.ts b/test/app.e2e-spec.ts new file mode 100644 index 000000000..add0e1561 --- /dev/null +++ b/test/app.e2e-spec.ts @@ -0,0 +1,58 @@ +/* + * SPDX-FileCopyrightText: 2022 The HedgeDoc developers (see AUTHORS file) + * + * SPDX-License-Identifier: AGPL-3.0-only + */ +import { getConfigToken } from '@nestjs/config'; +import { Test } from '@nestjs/testing'; +import request from 'supertest'; + +import { AppModule } from '../src/app.module'; +import { BackendType } from '../src/media/backends/backend-type.enum'; + +describe('App', () => { + it('should not crash on requests to /', async () => { + const moduleRef = await Test.createTestingModule({ + imports: [AppModule], + }) + .overrideProvider(getConfigToken('appConfig')) + .useValue({ + domain: 'localhost', + port: 3333, + loglevel: 'debug', + }) + .overrideProvider(getConfigToken('mediaConfig')) + .useValue({ + backend: { + use: BackendType.FILESYSTEM, + filesystem: { + uploadPath: + 'test_uploads' + Math.floor(Math.random() * 100000).toString(), + }, + }, + }) + .overrideProvider(getConfigToken('databaseConfig')) + .useValue({ + storage: ':memory:', + dialect: 'sqlite', + }) + .overrideProvider(getConfigToken('authConfig')) + .useValue({ + session: { + secret: 'secret', + }, + }) + .compile(); + + /** + * TODO: This is not really a regression test, as it does not use the + * real initialization code in main.ts. + * Should be fixed after https://github.com/hedgedoc/hedgedoc/issues/2083 + * is done. + */ + const app = moduleRef.createNestApplication(); + await app.init(); + await request(app.getHttpServer()).get('/').expect(404); + await app.close(); + }); +});