| 40 | } |
| 41 | |
| 42 | async function dateForUpdates(opts: { |
| 43 | minDelay: number; |
| 44 | maxDelay: number; |
| 45 | undefinedProbability: number; |
| 46 | }): Promise<number | undefined> { |
| 47 | // Randomly await between minDelay and maxDelay |
| 48 | await new Promise((resolve) => { |
| 49 | setTimeout(resolve, Math.random() * (opts.maxDelay - opts.minDelay) + opts.minDelay); |
| 50 | }); |
| 51 | |
| 52 | // There should be about a x% chance that this returns undefined |
| 53 | if (Math.random() < opts.undefinedProbability) { |
| 54 | logger.debug("Test SSE dataForUpdates returning undefined"); |
| 55 | |
| 56 | return undefined; |
| 57 | } |
| 58 | |
| 59 | // Randomly return true or false |
| 60 | return Date.now(); |
| 61 | } |
| 62 | |
| 63 | function calculateChangeSignals(ts: number) { |
| 64 | return { |