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) {