diff options
Diffstat (limited to 'server/tests/utils/miscs.ts')
-rw-r--r-- | server/tests/utils/miscs.ts | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/server/tests/utils/miscs.ts b/server/tests/utils/miscs.ts new file mode 100644 index 000000000..424b0db98 --- /dev/null +++ b/server/tests/utils/miscs.ts | |||
@@ -0,0 +1,52 @@ | |||
1 | import * as WebTorrent from 'webtorrent' | ||
2 | import { readFile, readdir } from 'fs' | ||
3 | |||
4 | let webtorrent = new WebTorrent() | ||
5 | |||
6 | function readFilePromise (path: string) { | ||
7 | return new Promise<Buffer>((res, rej) => { | ||
8 | readFile(path, (err, data) => { | ||
9 | if (err) return rej(err) | ||
10 | |||
11 | return res(data) | ||
12 | }) | ||
13 | }) | ||
14 | } | ||
15 | |||
16 | function readdirPromise (path: string) { | ||
17 | return new Promise<string[]>((res, rej) => { | ||
18 | readdir(path, (err, files) => { | ||
19 | if (err) return rej(err) | ||
20 | |||
21 | return res(files) | ||
22 | }) | ||
23 | }) | ||
24 | } | ||
25 | |||
26 | // Default interval -> 2 minutes | ||
27 | function dateIsValid (dateString: string, interval = 120000) { | ||
28 | const dateToCheck = new Date(dateString) | ||
29 | const now = new Date() | ||
30 | |||
31 | return Math.abs(now.getTime() - dateToCheck.getTime()) <= interval | ||
32 | } | ||
33 | |||
34 | function wait (milliseconds: number) { | ||
35 | return new Promise(resolve => setTimeout(resolve, milliseconds)) | ||
36 | } | ||
37 | |||
38 | function webtorrentAdd (torrent: string, refreshWebTorrent = false) { | ||
39 | if (refreshWebTorrent === true) webtorrent = new WebTorrent() | ||
40 | |||
41 | return new Promise<WebTorrent.Torrent>(res => webtorrent.add(torrent, res)) | ||
42 | } | ||
43 | |||
44 | // --------------------------------------------------------------------------- | ||
45 | |||
46 | export { | ||
47 | readFilePromise, | ||
48 | readdirPromise, | ||
49 | dateIsValid, | ||
50 | wait, | ||
51 | webtorrentAdd | ||
52 | } | ||