From 2fd764ce7c99cc84e5a2cfd4a2c02949a28b7b16 Mon Sep 17 00:00:00 2001 From: csantosm <4a.santos@gmail.com> Date: Thu, 2 Jun 2022 17:05:41 +0200 Subject: [PATCH] openvidu-components: Commented recording e2e test --- .../openvidu-components-angular-E2E.yml | 4 - .../e2e/selenium.conf.ts | 1 + .../e2e/webcomponent-app/app.js | 89 ++++++++++--------- .../e2e/webcomponent.test.ts | 54 +++++------ 4 files changed, 76 insertions(+), 72 deletions(-) diff --git a/.github/workflows/openvidu-components-angular-E2E.yml b/.github/workflows/openvidu-components-angular-E2E.yml index 32cb5e7f..8c8ab846 100644 --- a/.github/workflows/openvidu-components-angular-E2E.yml +++ b/.github/workflows/openvidu-components-angular-E2E.yml @@ -26,10 +26,6 @@ jobs: run: | docker run -p 4443:4443 --rm -d \ -e OPENVIDU_SECRET=MY_SECRET \ - -e OPENVIDU_RECORDING=true \ - -e OPENVIDU_RECORDING_PATH=/home/openvidu/recordings \ - -v /var/run/docker.sock:/var/run/docker.sock \ - -v /home/openvidu/recordings:/home/openvidu/recordings \ openvidu/openvidu-server-kms:latest - name: Build openvidu-browser run: | diff --git a/openvidu-components-angular/e2e/selenium.conf.ts b/openvidu-components-angular/e2e/selenium.conf.ts index 2aed20fd..ea9d196a 100644 --- a/openvidu-components-angular/e2e/selenium.conf.ts +++ b/openvidu-components-angular/e2e/selenium.conf.ts @@ -12,6 +12,7 @@ interface BrowserConfig { let chromeArguments = ['--window-size=1024,768', '--use-fake-ui-for-media-stream', '--use-fake-device-for-media-stream']; let chromeArgumentsCI = [ + '--headless', '--disable-dev-shm-usage', '--window-size=1024,768', '--use-fake-ui-for-media-stream', diff --git a/openvidu-components-angular/e2e/webcomponent-app/app.js b/openvidu-components-angular/e2e/webcomponent-app/app.js index 240c4073..d2c0869a 100644 --- a/openvidu-components-angular/e2e/webcomponent-app/app.js +++ b/openvidu-components-angular/e2e/webcomponent-app/app.js @@ -68,23 +68,26 @@ $(document).ready(() => { webComponent.addEventListener('onToolbarStartRecordingClicked', async (event) => { appendElement('onToolbarStartRecordingClicked'); - RECORDING_ID = await startRecording(SESSION_NAME); + // Can't test the recording + // RECORDING_ID = await startRecording(SESSION_NAME); }); - webComponent.addEventListener('onToolbarStopRecordingClicked', async (event) => { - appendElement('onToolbarStopRecordingClicked'); - await stopRecording(RECORDING_ID); - }); + // Can't test the recording + // webComponent.addEventListener('onToolbarStopRecordingClicked', async (event) => { + // appendElement('onToolbarStopRecordingClicked'); + // await stopRecording(RECORDING_ID); + // }); webComponent.addEventListener('onActivitiesPanelStartRecordingClicked', async (event) => { appendElement('onActivitiesPanelStartRecordingClicked'); - RECORDING_ID = await startRecording(SESSION_NAME); + // RECORDING_ID = await startRecording(SESSION_NAME); }); - webComponent.addEventListener('onActivitiesPanelStopRecordingClicked', async (event) => { - appendElement('onActivitiesPanelStopRecordingClicked'); - await stopRecording(RECORDING_ID); - }); + // Can't test the recording + // webComponent.addEventListener('onActivitiesPanelStopRecordingClicked', async (event) => { + // appendElement('onActivitiesPanelStopRecordingClicked'); + // await stopRecording(RECORDING_ID); + // }); webComponent.addEventListener('onActivitiesPanelDownloadRecordingClicked', (event) => appendElement('onActivitiesPanelDownloadRecordingClicked')); webComponent.addEventListener('onActivitiesPanelDeleteRecordingClicked', (event) => appendElement('onActivitiesPanelDeleteRecordingClicked')); @@ -232,38 +235,38 @@ function createToken(sessionId) { }); } -function startRecording(sessionId) { - return new Promise((resolve, reject) => { - $.ajax({ - type: 'POST', - url: `${OPENVIDU_SERVER_URL}/openvidu/api/recordings/start`, - data: JSON.stringify({ session: sessionId }), - headers: { - Authorization: 'Basic ' + btoa('OPENVIDUAPP:' + OPENVIDU_SERVER_SECRET), - 'Content-Type': 'application/json', - }, - success: (response) => {console.log(response); resolve(response.id)}, - error: (error) => { - reject(error) - }, - }); - }); +// function startRecording(sessionId) { +// return new Promise((resolve, reject) => { +// $.ajax({ +// type: 'POST', +// url: `${OPENVIDU_SERVER_URL}/openvidu/api/recordings/start`, +// data: JSON.stringify({ session: sessionId }), +// headers: { +// Authorization: 'Basic ' + btoa('OPENVIDUAPP:' + OPENVIDU_SERVER_SECRET), +// 'Content-Type': 'application/json', +// }, +// success: (response) => {console.log(response); resolve(response.id)}, +// error: (error) => { +// reject(error) +// }, +// }); +// }); -} +// } -function stopRecording(recordingId) { - return new Promise((resolve, reject) => { - $.ajax({ - type: 'POST', - url: `${OPENVIDU_SERVER_URL}/openvidu/api/recordings/stop/${recordingId}`, - headers: { - Authorization: 'Basic ' + btoa('OPENVIDUAPP:' + OPENVIDU_SERVER_SECRET), - 'Content-Type': 'application/json', - }, - success: (response) => resolve(response), - error: (error) => { - reject(error) - }, - }); - }); -} +// function stopRecording(recordingId) { +// return new Promise((resolve, reject) => { +// $.ajax({ +// type: 'POST', +// url: `${OPENVIDU_SERVER_URL}/openvidu/api/recordings/stop/${recordingId}`, +// headers: { +// Authorization: 'Basic ' + btoa('OPENVIDUAPP:' + OPENVIDU_SERVER_SECRET), +// 'Content-Type': 'application/json', +// }, +// success: (response) => resolve(response), +// error: (error) => { +// reject(error) +// }, +// }); +// }); +// } diff --git a/openvidu-components-angular/e2e/webcomponent.test.ts b/openvidu-components-angular/e2e/webcomponent.test.ts index 89531a88..07d72f12 100644 --- a/openvidu-components-angular/e2e/webcomponent.test.ts +++ b/openvidu-components-angular/e2e/webcomponent.test.ts @@ -3,7 +3,7 @@ import { expect } from 'chai'; import { WebComponentConfig } from './selenium.conf'; const url = WebComponentConfig.appUrl; -const TIMEOUT = 5000; +const TIMEOUT = 30000; describe('Testing API Directives', () => { let browser: WebDriver; @@ -687,7 +687,7 @@ describe('Testing videoconference EVENTS', () => { expect(await element.isDisplayed()).to.be.true; }); - it('should receive the onToolbarStartRecordingClicked and onToolbarStopRecordingClicked event', async () => { + it('should receive the onToolbarStartRecordingClicked event', async () => { let element; await browser.get(`${url}?prejoin=false`); @@ -702,34 +702,37 @@ describe('Testing videoconference EVENTS', () => { element = await browser.wait(until.elementLocated(By.id('more-options-btn')), TIMEOUT); await element.click(); + await browser.sleep(500); + // Clicking to recording button element = await browser.wait(until.elementLocated(By.className('mat-menu-content')), TIMEOUT); const recordingButton = await browser.findElement(By.id('recording-btn')); expect(await recordingButton.isDisplayed()).to.be.true; await recordingButton.click(); - element = await browser.wait(until.elementLocated(By.id('recording-tag')), TIMEOUT); - // Checking if onToolbarStartRecordingClicked has been received element = await browser.wait(until.elementLocated(By.id('onToolbarStartRecordingClicked')), TIMEOUT); expect(await element.isDisplayed()).to.be.true; + // Can't test the recording + // element = await browser.wait(until.elementLocated(By.id('recording-tag')), TIMEOUT); + // Open more options menu - element = await browser.wait(until.elementLocated(By.id('more-options-btn')), TIMEOUT); - await element.click(); + // element = await browser.wait(until.elementLocated(By.id('more-options-btn')), TIMEOUT); + // await element.click(); - // Clicking to recording button - element = await browser.wait(until.elementLocated(By.className('mat-menu-content')), TIMEOUT); - element = await browser.findElement(By.id('recording-btn')); - expect(await recordingButton.isDisplayed()).to.be.true; - await recordingButton.click(); + // // Clicking to recording button + // element = await browser.wait(until.elementLocated(By.className('mat-menu-content')), TIMEOUT); + // element = await browser.findElement(By.id('recording-btn')); + // expect(await recordingButton.isDisplayed()).to.be.true; + // await recordingButton.click(); - // Checking if onToolbarStopRecordingClicked has been received - element = await browser.wait(until.elementLocated(By.id('onToolbarStopRecordingClicked')), TIMEOUT); - expect(await element.isDisplayed()).to.be.true; + // // Checking if onToolbarStopRecordingClicked has been received + // element = await browser.wait(until.elementLocated(By.id('onToolbarStopRecordingClicked')), TIMEOUT); + // expect(await element.isDisplayed()).to.be.true; }); - it('should receive the onActivitiesPanelStartRecordingClicked and onActivitiesPanelStopRecordingClicked event', async () => { + it('should receive the onActivitiesPanelStartRecordingClicked event', async () => { let element; await browser.get(`${url}?prejoin=false`); @@ -757,21 +760,22 @@ describe('Testing videoconference EVENTS', () => { element = await browser.wait(until.elementLocated(By.id('start-recording-btn')), TIMEOUT); await element.click(); - // Wait until recording ready - element = await browser.wait(until.elementLocated(By.id('recording-tag')), TIMEOUT); - // Checking if onActivitiesPanelStartRecordingClicked has been received element = await browser.wait(until.elementLocated(By.id('onActivitiesPanelStartRecordingClicked')), TIMEOUT); expect(await element.isDisplayed()).to.be.true; - // Clicking to recording button - element = await browser.findElement(By.id('stop-recording-btn')); - expect(await element.isDisplayed()).to.be.true; - await element.click(); + /// Can't test the recording + // Wait until recording ready + // element = await browser.wait(until.elementLocated(By.id('recording-tag')), TIMEOUT); - // Checking if onActivitiesPanelStopRecordingClicked has been received - element = await browser.wait(until.elementLocated(By.id('onActivitiesPanelStopRecordingClicked')), TIMEOUT); - expect(await element.isDisplayed()).to.be.true; + // Clicking to recording button + // element = await browser.findElement(By.id('stop-recording-btn')); + // expect(await element.isDisplayed()).to.be.true; + // await element.click(); + + // // Checking if onActivitiesPanelStopRecordingClicked has been received + // element = await browser.wait(until.elementLocated(By.id('onActivitiesPanelStopRecordingClicked')), TIMEOUT); + // expect(await element.isDisplayed()).to.be.true; }); it('should receive the PLAY, DOWNLOAD and DELETE recording events', async () => {