hedgedoc/test/utils.ts
David Mehren 79065b8d3f
Media E2E tests: Add error handling for upload cleanup
Previously, `fs.rmdir` was called multiple times on the same path,
even when the path was already deleted.
This causes test failures in Node 16.

This commit extracts the cleanup code into a utility function
and ensures that no error is thrown when the given path is already deleted.

Signed-off-by: David Mehren <git@herrmehren.de>
2021-04-22 21:29:23 +02:00

23 lines
531 B
TypeScript

/*
* SPDX-FileCopyrightText: 2021 The HedgeDoc developers (see AUTHORS file)
*
* SPDX-License-Identifier: AGPL-3.0-only
*/
import { promises as fs } from 'fs';
/**
* Ensures the directory at `path` is deleted.
* If `path` does not exist, nothing happens.
*/
export async function ensureDeleted(path: string): Promise<void> {
try {
await fs.rmdir(path, { recursive: true });
} catch (e) {
if (e.code && e.code == 'ENOENT') {
// ignore error, path is already deleted
return;
}
throw e;
}
}