snapshot of https://github.com/jitsi/jitsi-meet.git @ fd1749dd28f4138aa80234fc7f311b19aaffa0e7 (2026-09-15)
This commit is contained in:
71
tests/specs/jaas/chat.spec.ts
Normal file
71
tests/specs/jaas/chat.spec.ts
Normal file
@@ -0,0 +1,71 @@
|
||||
import type { Participant } from '../../helpers/Participant';
|
||||
import { setTestProperties } from '../../helpers/TestProperties';
|
||||
import { config as testsConfig } from '../../helpers/TestsConfig';
|
||||
import WebhookProxy from '../../helpers/WebhookProxy';
|
||||
import { joinJaasMuc, generateJaasToken as t } from '../../helpers/jaas';
|
||||
import { fetchJson } from '../../helpers/utils';
|
||||
|
||||
setTestProperties(__filename, {
|
||||
requireWebhookProxy: true,
|
||||
useJaas: true,
|
||||
usesBrowsers: [ 'p1', 'p2' ]
|
||||
});
|
||||
|
||||
describe('JaaS CHAT_UPLOADED webhook.', () => {
|
||||
const tenant = testsConfig.jaas.tenant;
|
||||
const customerId = tenant?.replace('vpaas-magic-cookie-', '');
|
||||
let p1: Participant, p2: Participant;
|
||||
let webhooksProxy: WebhookProxy;
|
||||
let fqn: string;
|
||||
|
||||
it('setup', async () => {
|
||||
const room = ctx.roomName;
|
||||
|
||||
webhooksProxy = ctx.webhooksProxy;
|
||||
p1 = await joinJaasMuc({ name: 'p1', token: t({ room }) });
|
||||
p2 = await joinJaasMuc({ name: 'p2', token: t({ room }) });
|
||||
fqn = `${testsConfig.jaas.tenant}/${room}`;
|
||||
});
|
||||
|
||||
it('test webhook', async () => {
|
||||
await p1.getChatPanel().sendMessage('foo');
|
||||
await p2.getChatPanel().sendMessage('bar');
|
||||
await p1.getChatPanel().sendMessage('baz');
|
||||
|
||||
await p1.hangup();
|
||||
await p2.hangup();
|
||||
|
||||
const event: {
|
||||
appId: string;
|
||||
customerId: string;
|
||||
data: {
|
||||
preAuthenticatedLink: string;
|
||||
};
|
||||
eventType: string;
|
||||
fqn: string;
|
||||
} = await webhooksProxy.waitForEvent('CHAT_UPLOADED');
|
||||
|
||||
expect(event.appId).toBe(tenant);
|
||||
expect(event.customerId).toBe(customerId);
|
||||
expect(event.data.preAuthenticatedLink).toBeDefined();
|
||||
expect(event.eventType).toBe('CHAT_UPLOADED');
|
||||
expect(event.fqn).toBe(fqn);
|
||||
|
||||
const uploadedChat: any = await fetchJson(event.data.preAuthenticatedLink);
|
||||
|
||||
expect(uploadedChat.meetingFqn).toBe(fqn);
|
||||
expect(uploadedChat.messageType).toBe('CHAT');
|
||||
|
||||
const messages: any[] = uploadedChat.messages;
|
||||
|
||||
expect(messages).toBeDefined();
|
||||
expect(messages.length).toBe(3);
|
||||
console.log(JSON.stringify(messages));
|
||||
expect(messages.some(m => m.name === 'p1' && m.content === 'foo')).toBe(true);
|
||||
expect(messages.some(m => m.name === 'p2' && m.content === 'bar')).toBe(true);
|
||||
expect(messages.some(m => m.name === 'p1' && m.content === 'baz')).toBe(true);
|
||||
messages.forEach(m => {
|
||||
expect(typeof m.timestamp).toBe('number');
|
||||
});
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user