backend-test-utils: add DirectoryMocker.mockOsTmpDir

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
This commit is contained in:
Patrik Oldsberg
2023-09-21 10:53:23 +02:00
parent 24f1dfa58f
commit d96fb0642f
@@ -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) {