Files
upstream-mirror 30810eecd7
Some checks failed
Create issues from TODOs / todos (push) Failing after 3s
Close inactive issues / close-issues (push) Has been cancelled
Deploy GitHub Pages / deploy-preview (push) Has been cancelled
CI / ⚙️ Variables Setup (push) Has been cancelled
CI / ⚙️ Test Guard (push) Has been cancelled
CI / 🚀 Notify external services - draft (push) Has been cancelled
CI / 📦 Build Packages (push) Has been cancelled
CI / 📦 Meteor Build (coverage) (push) Has been cancelled
CI / 📦 Meteor Build (production) (push) Has been cancelled
CI / 🚢 Build Docker (amd64, [account-service presence-service omnichannel-transcript-service], ${{ (github.event_name != 'release' && github.ref != 'refs/heads/develop') && 'coverage' || 'production' }}) (push) Has been cancelled
CI / 🚢 Build Docker (amd64, [account-service presence-service omnichannel-transcript-service], fips) (push) Has been cancelled
CI / 🚢 Build Docker (amd64, [authorization-service queue-worker-service ddp-streamer-service], ${{ (github.event_name != 'release' && github.ref != 'refs/heads/develop') && 'coverage' || 'production' }}) (push) Has been cancelled
CI / 🚢 Build Docker (amd64, [authorization-service queue-worker-service ddp-streamer-service], fips) (push) Has been cancelled
CI / 🚢 Build Docker (amd64, [rocketchat], ${{ (github.event_name != 'release' && github.ref != 'refs/heads/develop') && 'coverage' || 'production' }}) (push) Has been cancelled
CI / 🚢 Build Docker (amd64, [rocketchat], coverage) (push) Has been cancelled
CI / 🚢 Build Docker (amd64, [rocketchat], fips) (push) Has been cancelled
CI / 🚢 Build Docker (arm64, [account-service presence-service omnichannel-transcript-service], ${{ (github.event_name != 'release' && github.ref != 'refs/heads/develop') && 'coverage' || 'production' }}) (push) Has been cancelled
CI / 🚢 Build Docker (arm64, [authorization-service queue-worker-service ddp-streamer-service], ${{ (github.event_name != 'release' && github.ref != 'refs/heads/develop') && 'coverage' || 'production' }}) (push) Has been cancelled
CI / 🚢 Build Docker (arm64, [rocketchat], ${{ (github.event_name != 'release' && github.ref != 'refs/heads/develop') && 'coverage' || 'production' }}) (push) Has been cancelled
CI / 🚢 Build Docker (arm64, [rocketchat], coverage) (push) Has been cancelled
CI / 🚢 Publish Docker Images (ghcr.io) (push) Has been cancelled
CI / 📦 Track Image Sizes (push) Has been cancelled
CI / 🔎 Code Check - Action Lint (push) Has been cancelled
CI / 🔎 Code Check (push) Has been cancelled
CI / 🔨 Test Storybook (push) Has been cancelled
CI / 🔨 Test Unit (push) Has been cancelled
CI / 🔨 Test API (CE) (push) Has been cancelled
CI / 🔨 Test API Livechat (CE) (push) Has been cancelled
CI / 🔨 Test UI (CE) (push) Has been cancelled
CI / 🔨 Test API (EE) (push) Has been cancelled
CI / 🔨 Test API Livechat (EE) (push) Has been cancelled
CI / 🔨 Test API Apps (deno-runtime - EE) (push) Has been cancelled
CI / 🔨 Test UI (EE) (push) Has been cancelled
CI / 🔨 Test API (FIPS) (push) Has been cancelled
CI / 🔨 Test API Livechat (FIPS) (push) Has been cancelled
CI / 🔨 Test UI (FIPS) (push) Has been cancelled
CI / 🔨 Test Federation Matrix (push) Has been cancelled
CI / 📊 Report Coverage (push) Has been cancelled
CI / ✅ Tests Done (push) Has been cancelled
CI / 🚀 Publish build assets (push) Has been cancelled
CI / 🚀 Publish Docker Images (DockerHub) (push) Has been cancelled
CI / 🚀 Notify external services (push) Has been cancelled
CI / Update Version Durability (push) Has been cancelled
Release / Release (push) Has been cancelled
Auto-close duplicate issues / auto-close-duplicates (push) Failing after 1s
Code scanning - action / CodeQL-Build (push) Failing after 2s
snapshot of https://github.com/RocketChat/Rocket.Chat.git (develop, 2026-09-16; blobs > 131072B omitted)
2026-09-16 01:21:02 +05:00

85 lines
3.8 KiB
TypeScript

/* eslint-disable react-hooks/rules-of-hooks */
import type { APIResponse } from '@playwright/test';
import { test as baseTest } from '@playwright/test';
import { API_PREFIX } from '../../config/constants';
import * as constants from '../config/constants';
export type AnyObj = { [key: string]: any };
export type API = {
get(uri: string, prefix?: string): Promise<APIResponse>;
post(uri: string, data: AnyObj, prefix?: string): Promise<APIResponse>;
put(uri: string, data: AnyObj, prefix?: string): Promise<APIResponse>;
delete(uri: string, prefix?: string): Promise<APIResponse>;
};
export type BaseTest = {
apiServer1: API;
apiServer2: API;
};
const api = async (request: any, use: any, user: string, password: string, baseUrl: string) => {
const resp = await request.post(`${baseUrl + API_PREFIX}/login`, { data: { user, password } });
const json = await resp.json();
const headers = {
'X-Auth-Token': json.data.authToken,
'X-User-Id': json.data.userId,
};
await use({
get(uri: string, prefix = API_PREFIX) {
return request.get(baseUrl + prefix + uri, { headers });
},
post(uri: string, data: AnyObj, prefix = API_PREFIX) {
return request.post(baseUrl + prefix + uri, { headers, data });
},
put(uri: string, data: AnyObj, prefix = API_PREFIX) {
return request.put(baseUrl + prefix + uri, { headers, data });
},
delete(uri: string, prefix = API_PREFIX) {
return request.delete(baseUrl + prefix + uri, { headers });
},
});
};
export const test = baseTest.extend<BaseTest>({
apiServer1: async ({ request }, use) =>
api(request, use, constants.RC_SERVER_1.username, constants.RC_SERVER_1.password, constants.RC_SERVER_1.url),
apiServer2: async ({ request }, use) =>
api(request, use, constants.RC_SERVER_2.username, constants.RC_SERVER_2.password, constants.RC_SERVER_2.url),
});
export const { expect } = test;
export const setupTesting = async (api: API) => {
await api.post('/settings/Message_AudioRecorderEnabled', { value: true });
await api.post('/settings/Accounts_ManuallyApproveNewUsers', { value: false });
await api.post('/settings/API_Enable_Rate_Limiter', { value: false });
await api.post('/settings/DDP_Rate_Limit_IP_Enabled', { value: false });
await api.post('/settings/DDP_Rate_Limit_User_Enabled', { value: false });
await api.post('/settings/DDP_Rate_Limit_Connection_Enabled', { value: false });
await api.post('/settings/DDP_Rate_Limit_Connection_Interval_Time', { value: false });
await api.post('/settings/DDP_Rate_Limit_User_By_Method_Enabled', { value: false });
await api.post('/settings/DDP_Rate_Limit_Connection_By_Method_Enabled', { value: false });
await api.post('/settings/Accounts_RegistrationForm', { value: 'Public' });
await api.post('/settings/UI_Use_Real_Name', { value: false });
await api.post('/settings/Rate_Limiter_Limit_RegisterUser', { value: 10 });
await api.post('/settings/Hide_System_Messages', { value: [] });
await api.post('/permissions.update', { permissions: [{ _id: 'force-delete-message', roles: ['admin', 'user'] }] });
};
export const tearDownTesting = async (api: API) => {
await api.post('/settings/Accounts_ManuallyApproveNewUsers', { value: true });
await api.post('/settings/API_Enable_Rate_Limiter', { value: true });
await api.post('/settings/DDP_Rate_Limit_IP_Enabled', { value: true });
await api.post('/settings/DDP_Rate_Limit_User_Enabled', { value: true });
await api.post('/settings/DDP_Rate_Limit_Connection_Enabled', { value: true });
await api.post('/settings/DDP_Rate_Limit_Connection_Interval_Time', { value: true });
await api.post('/settings/DDP_Rate_Limit_User_By_Method_Enabled', { value: true });
await api.post('/settings/DDP_Rate_Limit_Connection_By_Method_Enabled', { value: true });
await api.post('/settings/Rate_Limiter_Limit_RegisterUser', { value: 1 });
await api.post('/settings/Accounts_RegistrationForm', { value: 'Disabled' });
};