From d96fb0642fa89991d75ef685db3d9baacd653366 Mon Sep 17 00:00:00 2001 From: Patrik Oldsberg Date: Thu, 21 Sep 2023 10:53:23 +0200 Subject: [PATCH] backend-test-utils: add DirectoryMocker.mockOsTmpDir Signed-off-by: Patrik Oldsberg --- .../src/files/DirectoryMocker.ts | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/packages/backend-test-utils/src/files/DirectoryMocker.ts b/packages/backend-test-utils/src/files/DirectoryMocker.ts index 593b2790c4..0422969762 100644 --- a/packages/backend-test-utils/src/files/DirectoryMocker.ts +++ b/packages/backend-test-utils/src/files/DirectoryMocker.ts @@ -14,6 +14,7 @@ * limitations under the License. */ +import os from 'os'; import { isChildPath, resolveSafeChildPath } from '@backstage/backend-common'; import fs from 'fs-extra'; import textextensions from 'textextensions'; @@ -83,6 +84,21 @@ export class DirectoryMocker { return mocker; } + static mockOsTmpDir() { + const mocker = DirectoryMocker.create(); + const origTmpdir = os.tmpdir; + os.tmpdir = () => mocker.path; + + try { + afterAll(() => { + os.tmpdir = origTmpdir; + }); + } catch { + /* ignore */ + } + return mocker; + } + readonly #root: string; private constructor(root: string) {