test: improve test cleanup by adding disconnectFakeParticipants and consolidating room/recording deletions
This commit is contained in:
parent
a7528ba8ac
commit
b059acb159
@ -1,13 +1,13 @@
|
|||||||
import { beforeAll, beforeEach, describe, expect, it } from '@jest/globals';
|
import { afterEach, beforeAll, describe, expect, it } from '@jest/globals';
|
||||||
|
import { container } from '../../../../src/config/dependency-injector.config.js';
|
||||||
|
import { MeetStorageService } from '../../../../src/services/index.js';
|
||||||
|
import { AuthMode, AuthType } from '../../../../src/typings/ce/index.js';
|
||||||
import { expectValidationError } from '../../../helpers/assertion-helpers.js';
|
import { expectValidationError } from '../../../helpers/assertion-helpers.js';
|
||||||
import {
|
import {
|
||||||
getSecurityPreferences,
|
getSecurityPreferences,
|
||||||
startTestServer,
|
startTestServer,
|
||||||
updateSecurityPreferences
|
updateSecurityPreferences
|
||||||
} from '../../../helpers/request-helpers.js';
|
} from '../../../helpers/request-helpers.js';
|
||||||
import { AuthMode, AuthType } from '../../../../src/typings/ce/index.js';
|
|
||||||
import { container } from '../../../../src/config/dependency-injector.config.js';
|
|
||||||
import { MeetStorageService } from '../../../../src/services/index.js';
|
|
||||||
|
|
||||||
const defaultPreferences = {
|
const defaultPreferences = {
|
||||||
authentication: {
|
authentication: {
|
||||||
@ -28,7 +28,7 @@ describe('Security Preferences API Tests', () => {
|
|||||||
startTestServer();
|
startTestServer();
|
||||||
});
|
});
|
||||||
|
|
||||||
beforeEach(async () => {
|
afterEach(async () => {
|
||||||
await restoreDefaultGlobalPreferences();
|
await restoreDefaultGlobalPreferences();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@ -7,7 +7,6 @@ import {
|
|||||||
deleteParticipant,
|
deleteParticipant,
|
||||||
deleteRoom,
|
deleteRoom,
|
||||||
disconnectFakeParticipants,
|
disconnectFakeParticipants,
|
||||||
sleep,
|
|
||||||
startTestServer
|
startTestServer
|
||||||
} from '../../../helpers/request-helpers.js';
|
} from '../../../helpers/request-helpers.js';
|
||||||
import { RoomData, setupSingleRoom } from '../../../helpers/test-scenarios.js';
|
import { RoomData, setupSingleRoom } from '../../../helpers/test-scenarios.js';
|
||||||
@ -66,7 +65,6 @@ describe('Meetings API Tests', () => {
|
|||||||
let response = await deleteRoom(roomData.room.roomId, { force: true });
|
let response = await deleteRoom(roomData.room.roomId, { force: true });
|
||||||
expect(response.status).toBe(204);
|
expect(response.status).toBe(204);
|
||||||
|
|
||||||
await sleep('1s'); // Wait a bit for the meeting to be closed and the room deleted
|
|
||||||
response = await deleteParticipant(roomData.room.roomId, participantName, roomData.moderatorCookie);
|
response = await deleteParticipant(roomData.room.roomId, participantName, roomData.moderatorCookie);
|
||||||
expect(response.status).toBe(404);
|
expect(response.status).toBe(404);
|
||||||
expect(response.body.error).toBe('Room Error');
|
expect(response.body.error).toBe('Room Error');
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
import { afterAll, beforeAll, describe, expect, it } from '@jest/globals';
|
import { afterAll, beforeAll, describe, expect, it } from '@jest/globals';
|
||||||
import { container } from '../../../../src/config/index.js';
|
import { container } from '../../../../src/config/index.js';
|
||||||
|
import { OpenViduMeetError } from '../../../../src/models/error.model.js';
|
||||||
import { LiveKitService } from '../../../../src/services/index.js';
|
import { LiveKitService } from '../../../../src/services/index.js';
|
||||||
import {
|
import {
|
||||||
deleteAllRooms,
|
deleteAllRooms,
|
||||||
@ -7,11 +8,9 @@ import {
|
|||||||
disconnectFakeParticipants,
|
disconnectFakeParticipants,
|
||||||
endMeeting,
|
endMeeting,
|
||||||
getRoom,
|
getRoom,
|
||||||
sleep,
|
|
||||||
startTestServer
|
startTestServer
|
||||||
} from '../../../helpers/request-helpers.js';
|
} from '../../../helpers/request-helpers.js';
|
||||||
import { RoomData, setupSingleRoom } from '../../../helpers/test-scenarios.js';
|
import { RoomData, setupSingleRoom } from '../../../helpers/test-scenarios.js';
|
||||||
import { OpenViduMeetError } from '../../../../src/models/error.model.js';
|
|
||||||
|
|
||||||
describe('Meetings API Tests', () => {
|
describe('Meetings API Tests', () => {
|
||||||
let livekitService: LiveKitService;
|
let livekitService: LiveKitService;
|
||||||
@ -75,7 +74,6 @@ describe('Meetings API Tests', () => {
|
|||||||
let response = await deleteRoom(roomData.room.roomId, { force: true });
|
let response = await deleteRoom(roomData.room.roomId, { force: true });
|
||||||
expect(response.status).toBe(204);
|
expect(response.status).toBe(204);
|
||||||
|
|
||||||
await sleep('1s'); // Wait a bit for the meeting to be closed and the room deleted
|
|
||||||
response = await endMeeting(roomData.room.roomId, roomData.moderatorCookie);
|
response = await endMeeting(roomData.room.roomId, roomData.moderatorCookie);
|
||||||
expect(response.status).toBe(404);
|
expect(response.status).toBe(404);
|
||||||
});
|
});
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
import { afterAll, afterEach, beforeAll, describe, expect, it } from '@jest/globals';
|
import { afterEach, beforeAll, describe, expect, it } from '@jest/globals';
|
||||||
import { container } from '../../../../src/config';
|
import { container } from '../../../../src/config';
|
||||||
import { MeetStorageService } from '../../../../src/services';
|
import { MeetStorageService } from '../../../../src/services';
|
||||||
import { expectValidationError, expectValidStartRecordingResponse } from '../../../helpers/assertion-helpers';
|
import { expectValidationError, expectValidStartRecordingResponse } from '../../../helpers/assertion-helpers';
|
||||||
@ -6,6 +6,7 @@ import {
|
|||||||
bulkDeleteRecordings,
|
bulkDeleteRecordings,
|
||||||
deleteAllRecordings,
|
deleteAllRecordings,
|
||||||
deleteAllRooms,
|
deleteAllRooms,
|
||||||
|
disconnectFakeParticipants,
|
||||||
getAllRecordings,
|
getAllRecordings,
|
||||||
startRecording,
|
startRecording,
|
||||||
startTestServer,
|
startTestServer,
|
||||||
@ -16,14 +17,12 @@ import { setupMultiRecordingsTestContext } from '../../../helpers/test-scenarios
|
|||||||
describe('Recording API Tests', () => {
|
describe('Recording API Tests', () => {
|
||||||
beforeAll(async () => {
|
beforeAll(async () => {
|
||||||
startTestServer();
|
startTestServer();
|
||||||
});
|
await deleteAllRecordings();
|
||||||
|
|
||||||
afterAll(async () => {
|
|
||||||
await Promise.all([deleteAllRooms(), deleteAllRecordings()]);
|
|
||||||
});
|
});
|
||||||
|
|
||||||
afterEach(async () => {
|
afterEach(async () => {
|
||||||
// Ensure a clean state after each test
|
// Ensure a clean state after each test
|
||||||
|
await disconnectFakeParticipants();
|
||||||
await Promise.all([deleteAllRooms(), deleteAllRecordings()]);
|
await Promise.all([deleteAllRooms(), deleteAllRecordings()]);
|
||||||
const recordings = await getAllRecordings();
|
const recordings = await getAllRecordings();
|
||||||
expect(recordings.body.recordings).toHaveLength(0);
|
expect(recordings.body.recordings).toHaveLength(0);
|
||||||
|
|||||||
@ -7,6 +7,7 @@ import {
|
|||||||
deleteAllRecordings,
|
deleteAllRecordings,
|
||||||
deleteAllRooms,
|
deleteAllRooms,
|
||||||
deleteRecording,
|
deleteRecording,
|
||||||
|
disconnectFakeParticipants,
|
||||||
startRecording,
|
startRecording,
|
||||||
startTestServer,
|
startTestServer,
|
||||||
stopAllRecordings,
|
stopAllRecordings,
|
||||||
@ -17,10 +18,11 @@ import { setupMultiRecordingsTestContext } from '../../../helpers/test-scenarios
|
|||||||
describe('Recording API Tests', () => {
|
describe('Recording API Tests', () => {
|
||||||
beforeAll(async () => {
|
beforeAll(async () => {
|
||||||
startTestServer();
|
startTestServer();
|
||||||
await Promise.all([deleteAllRooms(), deleteAllRecordings()]);
|
await deleteAllRecordings();
|
||||||
});
|
});
|
||||||
|
|
||||||
afterAll(async () => {
|
afterAll(async () => {
|
||||||
|
await disconnectFakeParticipants();
|
||||||
await Promise.all([deleteAllRooms(), deleteAllRecordings()]);
|
await Promise.all([deleteAllRooms(), deleteAllRecordings()]);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@ -68,7 +68,7 @@ describe('Recording Garbage Collector Tests', () => {
|
|||||||
|
|
||||||
jest.clearAllMocks();
|
jest.clearAllMocks();
|
||||||
|
|
||||||
// No configurar mocks globalmente para mejorar el aislamiento entre tests
|
// Do not set up global mocks here to improve test isolation
|
||||||
});
|
});
|
||||||
|
|
||||||
afterEach(async () => {
|
afterEach(async () => {
|
||||||
@ -76,7 +76,7 @@ describe('Recording Garbage Collector Tests', () => {
|
|||||||
jest.clearAllMocks();
|
jest.clearAllMocks();
|
||||||
jest.restoreAllMocks();
|
jest.restoreAllMocks();
|
||||||
|
|
||||||
// Restaurar explícitamente el comportamiento del mock para getLockCreatedAt
|
// Explicitly restore the mock behavior for getLockCreatedAt
|
||||||
if (mutexService.getLockCreatedAt && jest.isMockFunction(mutexService.getLockCreatedAt)) {
|
if (mutexService.getLockCreatedAt && jest.isMockFunction(mutexService.getLockCreatedAt)) {
|
||||||
(mutexService.getLockCreatedAt as jest.Mock).mockReset();
|
(mutexService.getLockCreatedAt as jest.Mock).mockReset();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -4,29 +4,28 @@ import { expectSuccessRecordingMediaResponse, expectValidationError } from '../.
|
|||||||
import {
|
import {
|
||||||
deleteAllRecordings,
|
deleteAllRecordings,
|
||||||
deleteAllRooms,
|
deleteAllRooms,
|
||||||
|
disconnectFakeParticipants,
|
||||||
getRecordingMedia,
|
getRecordingMedia,
|
||||||
startTestServer,
|
startTestServer,
|
||||||
stopAllRecordings,
|
|
||||||
stopRecording
|
stopRecording
|
||||||
} from '../../../helpers/request-helpers';
|
} from '../../../helpers/request-helpers';
|
||||||
import { setupMultiRecordingsTestContext } from '../../../helpers/test-scenarios';
|
import { setupMultiRecordingsTestContext } from '../../../helpers/test-scenarios';
|
||||||
|
|
||||||
describe('Recording API Tests', () => {
|
describe('Recording API Tests', () => {
|
||||||
let room: MeetRoom, recordingId: string, moderatorCookie: string;
|
let room: MeetRoom, recordingId: string;
|
||||||
|
|
||||||
beforeAll(async () => {
|
beforeAll(async () => {
|
||||||
startTestServer();
|
startTestServer();
|
||||||
|
await deleteAllRecordings();
|
||||||
await Promise.all([deleteAllRooms(), deleteAllRecordings()]);
|
|
||||||
|
|
||||||
const testContext = await setupMultiRecordingsTestContext(1, 1, 1, '3s');
|
const testContext = await setupMultiRecordingsTestContext(1, 1, 1, '3s');
|
||||||
const roomData = testContext.getRoomByIndex(0)!;
|
const roomData = testContext.getRoomByIndex(0)!;
|
||||||
|
|
||||||
({ room, recordingId = '', moderatorCookie } = roomData);
|
({ room, recordingId = '' } = roomData);
|
||||||
});
|
});
|
||||||
|
|
||||||
afterAll(async () => {
|
afterAll(async () => {
|
||||||
await stopAllRecordings(moderatorCookie);
|
await disconnectFakeParticipants();
|
||||||
await Promise.all([deleteAllRecordings(), deleteAllRooms()]);
|
await Promise.all([deleteAllRecordings(), deleteAllRooms()]);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@ -19,6 +19,7 @@ describe('Recording API Tests', () => {
|
|||||||
|
|
||||||
beforeAll(async () => {
|
beforeAll(async () => {
|
||||||
app = startTestServer();
|
app = startTestServer();
|
||||||
|
await deleteAllRecordings();
|
||||||
|
|
||||||
const roomData = await setupSingleRoomWithRecording(true);
|
const roomData = await setupSingleRoomWithRecording(true);
|
||||||
recordingId = roomData.recordingId!;
|
recordingId = roomData.recordingId!;
|
||||||
@ -26,8 +27,7 @@ describe('Recording API Tests', () => {
|
|||||||
|
|
||||||
afterAll(async () => {
|
afterAll(async () => {
|
||||||
await disconnectFakeParticipants();
|
await disconnectFakeParticipants();
|
||||||
await deleteAllRooms();
|
await Promise.all([deleteAllRooms(), deleteAllRecordings()]);
|
||||||
await deleteAllRecordings();
|
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('Get Recording URL Tests', () => {
|
describe('Get Recording URL Tests', () => {
|
||||||
|
|||||||
@ -14,22 +14,20 @@ import { setupMultiRecordingsTestContext, TestContext } from '../../../helpers/t
|
|||||||
|
|
||||||
describe('Recording API Tests', () => {
|
describe('Recording API Tests', () => {
|
||||||
let context: TestContext | null = null;
|
let context: TestContext | null = null;
|
||||||
let room: MeetRoom, moderatorCookie: string, recordingId: string;
|
let room: MeetRoom, recordingId: string;
|
||||||
|
|
||||||
beforeAll(async () => {
|
beforeAll(async () => {
|
||||||
startTestServer();
|
startTestServer();
|
||||||
await Promise.all([deleteAllRooms(), deleteAllRecordings()]);
|
await deleteAllRecordings();
|
||||||
|
|
||||||
// Create a room and join a participant
|
// Create a room and join a participant
|
||||||
context = await setupMultiRecordingsTestContext(1, 1, 1);
|
context = await setupMultiRecordingsTestContext(1, 1, 1);
|
||||||
({ room, moderatorCookie, recordingId = '' } = context.getRoomByIndex(0)!);
|
({ room, recordingId = '' } = context.getRoomByIndex(0)!);
|
||||||
});
|
});
|
||||||
|
|
||||||
afterAll(async () => {
|
afterAll(async () => {
|
||||||
await stopAllRecordings(moderatorCookie);
|
|
||||||
await disconnectFakeParticipants();
|
await disconnectFakeParticipants();
|
||||||
await deleteAllRooms();
|
await Promise.all([deleteAllRooms(), deleteAllRecordings()]);
|
||||||
await deleteAllRecordings();
|
|
||||||
context = null;
|
context = null;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@ -26,7 +26,7 @@ describe('Recordings API Tests', () => {
|
|||||||
let context: TestContext | null = null;
|
let context: TestContext | null = null;
|
||||||
let room: MeetRoom;
|
let room: MeetRoom;
|
||||||
|
|
||||||
beforeAll(async () => {
|
beforeAll(() => {
|
||||||
startTestServer();
|
startTestServer();
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -40,7 +40,7 @@ describe('Recordings API Tests', () => {
|
|||||||
|
|
||||||
afterAll(async () => {
|
afterAll(async () => {
|
||||||
await disconnectFakeParticipants();
|
await disconnectFakeParticipants();
|
||||||
await deleteAllRooms();
|
await Promise.all([deleteAllRooms(), deleteAllRecordings()]);
|
||||||
context = null;
|
context = null;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@ -1,5 +1,7 @@
|
|||||||
import { afterEach, beforeAll, beforeEach, describe, expect, it, jest } from '@jest/globals';
|
import { afterEach, beforeAll, describe, expect, it, jest } from '@jest/globals';
|
||||||
import { container } from '../../../../src/config/index.js';
|
import { container } from '../../../../src/config/index.js';
|
||||||
|
import { setInternalConfig } from '../../../../src/config/internal-config.js';
|
||||||
|
import { SystemEventType } from '../../../../src/models/system-event.model.js';
|
||||||
import { RecordingService } from '../../../../src/services';
|
import { RecordingService } from '../../../../src/services';
|
||||||
import {
|
import {
|
||||||
expectValidStartRecordingResponse,
|
expectValidStartRecordingResponse,
|
||||||
@ -11,6 +13,7 @@ import {
|
|||||||
deleteAllRecordings,
|
deleteAllRecordings,
|
||||||
deleteAllRooms,
|
deleteAllRooms,
|
||||||
deleteRecording,
|
deleteRecording,
|
||||||
|
disconnectFakeParticipants,
|
||||||
getRecording,
|
getRecording,
|
||||||
getRecordingMedia,
|
getRecordingMedia,
|
||||||
sleep,
|
sleep,
|
||||||
@ -24,8 +27,6 @@ import {
|
|||||||
setupMultiRoomTestContext,
|
setupMultiRoomTestContext,
|
||||||
TestContext
|
TestContext
|
||||||
} from '../../../helpers/test-scenarios';
|
} from '../../../helpers/test-scenarios';
|
||||||
import { setInternalConfig } from '../../../../src/config/internal-config.js';
|
|
||||||
import { SystemEventType } from '../../../../src/models/system-event.model.js';
|
|
||||||
|
|
||||||
describe('Recording API Race Conditions Tests', () => {
|
describe('Recording API Race Conditions Tests', () => {
|
||||||
let context: TestContext | null = null;
|
let context: TestContext | null = null;
|
||||||
@ -33,13 +34,9 @@ describe('Recording API Race Conditions Tests', () => {
|
|||||||
|
|
||||||
beforeAll(async () => {
|
beforeAll(async () => {
|
||||||
startTestServer();
|
startTestServer();
|
||||||
await Promise.all([deleteAllRooms(), deleteAllRecordings()]);
|
|
||||||
|
|
||||||
recordingService = container.get(RecordingService);
|
recordingService = container.get(RecordingService);
|
||||||
});
|
|
||||||
|
|
||||||
beforeEach(async () => {
|
await deleteAllRecordings();
|
||||||
await Promise.all([deleteAllRooms(), deleteAllRecordings()]);
|
|
||||||
eventController.reset();
|
eventController.reset();
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -51,6 +48,7 @@ describe('Recording API Race Conditions Tests', () => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
eventController.reset();
|
eventController.reset();
|
||||||
|
await disconnectFakeParticipants();
|
||||||
await Promise.all([deleteAllRecordings(), deleteAllRooms()]);
|
await Promise.all([deleteAllRecordings(), deleteAllRooms()]);
|
||||||
jest.clearAllMocks();
|
jest.clearAllMocks();
|
||||||
});
|
});
|
||||||
|
|||||||
@ -1,6 +1,8 @@
|
|||||||
import { afterAll, afterEach, beforeAll, describe, expect, it } from '@jest/globals';
|
import { afterAll, afterEach, beforeAll, describe, expect, it } from '@jest/globals';
|
||||||
|
import { container } from '../../../../src/config/dependency-injector.config.js';
|
||||||
import { setInternalConfig } from '../../../../src/config/internal-config.js';
|
import { setInternalConfig } from '../../../../src/config/internal-config.js';
|
||||||
import { errorRoomNotFound } from '../../../../src/models/error.model.js';
|
import { errorRoomNotFound } from '../../../../src/models/error.model.js';
|
||||||
|
import { MeetStorageService } from '../../../../src/services/index.js';
|
||||||
import { MeetRoom } from '../../../../src/typings/ce/index.js';
|
import { MeetRoom } from '../../../../src/typings/ce/index.js';
|
||||||
import {
|
import {
|
||||||
expectValidationError,
|
expectValidationError,
|
||||||
@ -18,8 +20,6 @@ import {
|
|||||||
stopRecording
|
stopRecording
|
||||||
} from '../../../helpers/request-helpers.js';
|
} from '../../../helpers/request-helpers.js';
|
||||||
import { setupMultiRoomTestContext, TestContext } from '../../../helpers/test-scenarios.js';
|
import { setupMultiRoomTestContext, TestContext } from '../../../helpers/test-scenarios.js';
|
||||||
import { container } from '../../../../src/config/dependency-injector.config.js';
|
|
||||||
import { MeetStorageService } from '../../../../src/services/index.js';
|
|
||||||
|
|
||||||
describe('Recording API Tests', () => {
|
describe('Recording API Tests', () => {
|
||||||
let context: TestContext | null = null;
|
let context: TestContext | null = null;
|
||||||
@ -27,11 +27,10 @@ describe('Recording API Tests', () => {
|
|||||||
|
|
||||||
beforeAll(async () => {
|
beforeAll(async () => {
|
||||||
startTestServer();
|
startTestServer();
|
||||||
await Promise.all([deleteAllRooms(), deleteAllRecordings()]);
|
await deleteAllRecordings();
|
||||||
});
|
});
|
||||||
|
|
||||||
afterAll(async () => {
|
afterAll(async () => {
|
||||||
await stopAllRecordings(moderatorCookie);
|
|
||||||
await disconnectFakeParticipants();
|
await disconnectFakeParticipants();
|
||||||
await Promise.all([deleteAllRooms(), deleteAllRecordings()]);
|
await Promise.all([deleteAllRooms(), deleteAllRecordings()]);
|
||||||
});
|
});
|
||||||
@ -45,8 +44,7 @@ describe('Recording API Tests', () => {
|
|||||||
|
|
||||||
afterAll(async () => {
|
afterAll(async () => {
|
||||||
await disconnectFakeParticipants();
|
await disconnectFakeParticipants();
|
||||||
await deleteAllRooms();
|
await Promise.all([deleteAllRooms(), deleteAllRecordings()]);
|
||||||
await deleteAllRecordings();
|
|
||||||
context = null;
|
context = null;
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -77,7 +75,6 @@ describe('Recording API Tests', () => {
|
|||||||
expect(archivedRoom?.publisherRoomUrl).toBeDefined();
|
expect(archivedRoom?.publisherRoomUrl).toBeDefined();
|
||||||
expect(archivedRoom?.preferences).toBeDefined();
|
expect(archivedRoom?.preferences).toBeDefined();
|
||||||
|
|
||||||
// Check if secrets file is created
|
|
||||||
const secretsResponse = await stopRecording(recordingId, moderatorCookie);
|
const secretsResponse = await stopRecording(recordingId, moderatorCookie);
|
||||||
expectValidStopRecordingResponse(secretsResponse, recordingId, room.roomId);
|
expectValidStopRecordingResponse(secretsResponse, recordingId, room.roomId);
|
||||||
});
|
});
|
||||||
|
|||||||
@ -18,15 +18,13 @@ describe('Recording API Tests', () => {
|
|||||||
|
|
||||||
beforeAll(async () => {
|
beforeAll(async () => {
|
||||||
startTestServer();
|
startTestServer();
|
||||||
await Promise.all([deleteAllRooms(), deleteAllRecordings()]);
|
await deleteAllRecordings();
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
afterAll(async () => {
|
afterAll(async () => {
|
||||||
await stopAllRecordings(moderatorCookie);
|
await stopAllRecordings(moderatorCookie);
|
||||||
await disconnectFakeParticipants();
|
await disconnectFakeParticipants();
|
||||||
await deleteAllRooms();
|
await Promise.all([deleteAllRooms(), deleteAllRecordings()]);
|
||||||
await deleteAllRecordings();
|
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('Stop Recording Tests', () => {
|
describe('Stop Recording Tests', () => {
|
||||||
@ -39,14 +37,6 @@ describe('Recording API Tests', () => {
|
|||||||
recordingId = response.body.recordingId;
|
recordingId = response.body.recordingId;
|
||||||
});
|
});
|
||||||
|
|
||||||
afterAll(async () => {
|
|
||||||
await disconnectFakeParticipants();
|
|
||||||
await stopAllRecordings(moderatorCookie);
|
|
||||||
await deleteAllRooms();
|
|
||||||
await deleteAllRecordings();
|
|
||||||
context = null;
|
|
||||||
});
|
|
||||||
|
|
||||||
it('should stop an active recording and return 202', async () => {
|
it('should stop an active recording and return 202', async () => {
|
||||||
const response = await stopRecording(recordingId, moderatorCookie);
|
const response = await stopRecording(recordingId, moderatorCookie);
|
||||||
expectValidStopRecordingResponse(response, recordingId, room.roomId);
|
expectValidStopRecordingResponse(response, recordingId, room.roomId);
|
||||||
|
|||||||
@ -25,6 +25,7 @@ describe('Room Garbage Collector Tests', () => {
|
|||||||
|
|
||||||
afterEach(async () => {
|
afterEach(async () => {
|
||||||
// Remove all rooms created
|
// Remove all rooms created
|
||||||
|
await disconnectFakeParticipants();
|
||||||
await deleteAllRooms();
|
await deleteAllRooms();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@ -23,8 +23,7 @@ describe('Room API Tests', () => {
|
|||||||
|
|
||||||
afterAll(async () => {
|
afterAll(async () => {
|
||||||
await disconnectFakeParticipants();
|
await disconnectFakeParticipants();
|
||||||
await deleteAllRecordings();
|
await Promise.all([deleteAllRooms(), deleteAllRecordings()]);
|
||||||
await deleteAllRooms();
|
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('Generate Recording Token Tests', () => {
|
describe('Generate Recording Token Tests', () => {
|
||||||
|
|||||||
@ -13,6 +13,7 @@ describe('Room API Tests', () => {
|
|||||||
chatPreferences: { enabled: true },
|
chatPreferences: { enabled: true },
|
||||||
virtualBackgroundPreferences: { enabled: true }
|
virtualBackgroundPreferences: { enabled: true }
|
||||||
};
|
};
|
||||||
|
|
||||||
beforeAll(() => {
|
beforeAll(() => {
|
||||||
startTestServer();
|
startTestServer();
|
||||||
});
|
});
|
||||||
|
|||||||
@ -201,6 +201,7 @@ describe('Authentication API Tests', () => {
|
|||||||
const response = await getApiKeys();
|
const response = await getApiKeys();
|
||||||
|
|
||||||
expect(Array.isArray(response.body)).toBe(true);
|
expect(Array.isArray(response.body)).toBe(true);
|
||||||
|
|
||||||
if (response.body.length > 0) {
|
if (response.body.length > 0) {
|
||||||
expect(response.body[0]).toHaveProperty('key');
|
expect(response.body[0]).toHaveProperty('key');
|
||||||
expect(response.body[0]).toHaveProperty('creationDate');
|
expect(response.body[0]).toHaveProperty('creationDate');
|
||||||
|
|||||||
@ -33,8 +33,7 @@ describe('Recording API Security Tests', () => {
|
|||||||
|
|
||||||
afterAll(async () => {
|
afterAll(async () => {
|
||||||
await disconnectFakeParticipants();
|
await disconnectFakeParticipants();
|
||||||
await deleteAllRooms();
|
await Promise.all([deleteAllRooms(), deleteAllRecordings()]);
|
||||||
await deleteAllRecordings();
|
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('Start Recording Tests', () => {
|
describe('Start Recording Tests', () => {
|
||||||
|
|||||||
@ -7,7 +7,9 @@ import { AuthMode, MeetRecordingAccess } from '../../../../src/typings/ce/index.
|
|||||||
import {
|
import {
|
||||||
changeSecurityPreferences,
|
changeSecurityPreferences,
|
||||||
createRoom,
|
createRoom,
|
||||||
|
deleteAllRecordings,
|
||||||
deleteAllRooms,
|
deleteAllRooms,
|
||||||
|
disconnectFakeParticipants,
|
||||||
loginUser,
|
loginUser,
|
||||||
startTestServer,
|
startTestServer,
|
||||||
updateRecordingAccessPreferencesInRoom
|
updateRecordingAccessPreferencesInRoom
|
||||||
@ -27,7 +29,8 @@ describe('Room API Security Tests', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
afterAll(async () => {
|
afterAll(async () => {
|
||||||
await deleteAllRooms();
|
await disconnectFakeParticipants();
|
||||||
|
await Promise.all([deleteAllRooms(), deleteAllRecordings()]);
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('Create Room Tests', () => {
|
describe('Create Room Tests', () => {
|
||||||
|
|||||||
@ -10,7 +10,8 @@ import {
|
|||||||
endMeeting,
|
endMeeting,
|
||||||
updateWebbhookPreferences,
|
updateWebbhookPreferences,
|
||||||
deleteAllRooms,
|
deleteAllRooms,
|
||||||
deleteRoom
|
deleteRoom,
|
||||||
|
disconnectFakeParticipants
|
||||||
} from '../../helpers/request-helpers.js';
|
} from '../../helpers/request-helpers.js';
|
||||||
import { MeetWebhookEvent, MeetWebhookEventType } from '../../../src/typings/ce/webhook.model.js';
|
import { MeetWebhookEvent, MeetWebhookEventType } from '../../../src/typings/ce/webhook.model.js';
|
||||||
|
|
||||||
@ -52,8 +53,8 @@ describe('Webhook Integration Tests', () => {
|
|||||||
await stopWebhookServer();
|
await stopWebhookServer();
|
||||||
const defaultPreferences = await storageService['getDefaultPreferences']();
|
const defaultPreferences = await storageService['getDefaultPreferences']();
|
||||||
await updateWebbhookPreferences(defaultPreferences.webhooksPreferences);
|
await updateWebbhookPreferences(defaultPreferences.webhooksPreferences);
|
||||||
await deleteAllRecordings();
|
await disconnectFakeParticipants();
|
||||||
await deleteAllRooms();
|
await Promise.all([deleteAllRooms(), deleteAllRecordings()]);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should not send webhooks when disabled', async () => {
|
it('should not send webhooks when disabled', async () => {
|
||||||
@ -116,9 +117,6 @@ describe('Webhook Integration Tests', () => {
|
|||||||
// Forcefully delete the room
|
// Forcefully delete the room
|
||||||
await deleteRoom(roomData.roomId, { force: true });
|
await deleteRoom(roomData.roomId, { force: true });
|
||||||
|
|
||||||
// Wait for the room to be closed
|
|
||||||
await sleep('1s');
|
|
||||||
|
|
||||||
// Verify 'meetingEnded' webhook is sent
|
// Verify 'meetingEnded' webhook is sent
|
||||||
expect(receivedWebhooks.length).toBeGreaterThanOrEqual(1);
|
expect(receivedWebhooks.length).toBeGreaterThanOrEqual(1);
|
||||||
const meetingEndedWebhook = receivedWebhooks.find((w) => w.body.event === MeetWebhookEventType.MEETING_ENDED);
|
const meetingEndedWebhook = receivedWebhooks.find((w) => w.body.event === MeetWebhookEventType.MEETING_ENDED);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user