From f9453c64dd1fc2324cb00ddc53919973b41540b1 Mon Sep 17 00:00:00 2001 From: Fedor Indutny <79877362+indutny-signal@users.noreply.github.com> Date: Mon, 19 Sep 2022 15:08:55 -0700 Subject: [PATCH] Test rate-limiting, stories in mock server --- package.json | 2 +- ts/CI.ts | 5 + ts/background.ts | 4 + ts/components/SendStoryModal.tsx | 4 +- ts/services/storage.ts | 1 + ts/test-mock/bootstrap.ts | 27 ++++- ts/test-mock/playwright.ts | 17 +++ ts/test-mock/rate-limit/story_test.ts | 154 ++++++++++++++++++++++++++ yarn.lock | 8 +- 9 files changed, 212 insertions(+), 10 deletions(-) create mode 100644 ts/test-mock/rate-limit/story_test.ts diff --git a/package.json b/package.json index ae59f4f74..128ba4b87 100644 --- a/package.json +++ b/package.json @@ -193,7 +193,7 @@ "@babel/preset-typescript": "7.17.12", "@electron/fuses": "1.5.0", "@mixer/parallel-prettier": "2.0.1", - "@signalapp/mock-server": "2.8.1", + "@signalapp/mock-server": "2.9.0", "@storybook/addon-a11y": "6.5.6", "@storybook/addon-actions": "6.5.6", "@storybook/addon-controls": "6.5.6", diff --git a/ts/CI.ts b/ts/CI.ts index 145799cd7..63d8bfc30 100644 --- a/ts/CI.ts +++ b/ts/CI.ts @@ -6,6 +6,7 @@ import { ipcRenderer } from 'electron'; import { explodePromise } from './util/explodePromise'; import { SECOND } from './util/durations'; import * as log from './logging/log'; +import type { IPCResponse as ChallengeResponseType } from './challenge'; type ResolveType = (data: unknown) => void; @@ -84,4 +85,8 @@ export class CI { } resultList.push(data); } + + public solveChallenge(response: ChallengeResponseType): void { + window.Signal.challengeHandler?.onResponse(response); + } } diff --git a/ts/background.ts b/ts/background.ts index fdbe76eb2..82fd991e5 100644 --- a/ts/background.ts +++ b/ts/background.ts @@ -238,6 +238,10 @@ export async function startApp(): Promise { }, requestChallenge(request) { + if (window.CI) { + window.CI.handleEvent('challenge', request); + return; + } window.sendChallengeRequest(request); }, diff --git a/ts/components/SendStoryModal.tsx b/ts/components/SendStoryModal.tsx index 5ec81ec07..56275ba66 100644 --- a/ts/components/SendStoryModal.tsx +++ b/ts/components/SendStoryModal.tsx @@ -692,7 +692,7 @@ export const SendStoryModal = ({ )} {page === Page.ChooseGroups && (