openvidu-test-e2e: fix recording in openvidu-local-deployment

v2compatibility
pabloFuente 2025-06-03 18:36:28 +02:00
parent 07401ca7c6
commit 2809f10f66
4 changed files with 56 additions and 55 deletions

View File

@ -182,8 +182,10 @@ public class RecordingUtils {
webmFile.delete(); webmFile.delete();
} }
// Assertions.assertEquals(recording.getSize(), totalFileSize, "Size of recording entity (" // Assertions.assertEquals(recording.getSize(), totalFileSize, "Size of
// + recording.getSessionId() + ") is not equal to real file size (" + totalFileSize + ")"); // recording entity ("
// + recording.getSessionId() + ") is not equal to real file size (" +
// totalFileSize + ")");
jsonSyncFile.delete(); jsonSyncFile.delete();
} }
@ -206,8 +208,7 @@ public class RecordingUtils {
} }
} }
if (resolution != null) { if (resolution != null) {
Assertions.assertEquals(resolution, metadata.getVideoWidth() + "x" + Assertions.assertEquals(resolution, metadata.getVideoWidth() + "x" + metadata.getVideoHeight());
metadata.getVideoHeight());
} }
if (frameRate != null) { if (frameRate != null) {
Assertions.assertEquals(frameRate.intValue(), metadata.getFrameRate()); Assertions.assertEquals(frameRate.intValue(), metadata.getFrameRate());
@ -223,13 +224,10 @@ public class RecordingUtils {
// Check duration with 1 decimal precision // Check duration with 1 decimal precision
DecimalFormat df = new DecimalFormat("#0.0"); DecimalFormat df = new DecimalFormat("#0.0");
df.setRoundingMode(RoundingMode.UP); df.setRoundingMode(RoundingMode.UP);
log.info("Duration of {} according to ffmpeg: {} s", file.getName(), log.info("Duration of {} according to ffmpeg: {} s", file.getName(), metadata.getDuration());
metadata.getDuration()); log.info("Duration of {} according to 'duration' property: {} s", file.getName(), duration);
log.info("Duration of {} according to 'duration' property: {} s", log.info("Difference in s duration: {}", Math.abs(metadata.getDuration() - duration));
file.getName(), duration); final double difference = 20;
log.info("Difference in s duration: {}", Math.abs(metadata.getDuration() -
duration));
final double difference = 10;
System.out.println("Duration of " + file.getName() + " according to ffmpeg: " + metadata.getDuration() + " s"); System.out.println("Duration of " + file.getName() + " according to ffmpeg: " + metadata.getDuration() + " s");
System.out.println("Duration of " + file.getName() + " according to 'duration' property: " + duration + " s"); System.out.println("Duration of " + file.getName() + " according to 'duration' property: " + duration + " s");
Assertions.assertTrue(Math.abs((metadata.getDuration() - duration)) < difference, Assertions.assertTrue(Math.abs((metadata.getDuration() - duration)) < difference,

View File

@ -108,6 +108,7 @@ public class OpenViduTestE2e {
protected static String EDGE_VERSION = "latest"; protected static String EDGE_VERSION = "latest";
protected static String OPENVIDU_DEPLOYMENT = "http://localhost:5000/"; protected static String OPENVIDU_DEPLOYMENT = "http://localhost:5000/";
protected static String OPENVIDU_LOCAL_RECORDING_PATH = "/opt/openvidu/recordings";
protected static String DOCKER_ANDROID_IMAGE = "budtmo/docker-android:latest"; protected static String DOCKER_ANDROID_IMAGE = "budtmo/docker-android:latest";
protected static Exception ex = null; protected static Exception ex = null;
@ -194,8 +195,8 @@ public class OpenViduTestE2e {
protected static void cleanFoldersAndSetUpOpenViduJavaClient() { protected static void cleanFoldersAndSetUpOpenViduJavaClient() {
try { try {
log.info("Cleaning folder /opt/openvidu/recordings"); log.info("Cleaning folder " + OPENVIDU_LOCAL_RECORDING_PATH);
FileUtils.cleanDirectory(new File("/opt/openvidu/recordings")); FileUtils.cleanDirectory(new File(OPENVIDU_LOCAL_RECORDING_PATH));
} catch (IOException e) { } catch (IOException e) {
log.error(e.getMessage()); log.error(e.getMessage());
} }
@ -328,6 +329,16 @@ public class OpenViduTestE2e {
OPENVIDU_DEPLOYMENT = openviduDeployment; OPENVIDU_DEPLOYMENT = openviduDeployment;
} }
log.info("Using URL {} to connect to OpenVidu deployment", OPENVIDU_DEPLOYMENT); log.info("Using URL {} to connect to OpenVidu deployment", OPENVIDU_DEPLOYMENT);
String openviduLocalRecordingPath = System.getProperty("OPENVIDU_LOCAL_RECORDING_PATH");
if (openviduLocalRecordingPath != null && !openviduLocalRecordingPath.isBlank()) {
OPENVIDU_LOCAL_RECORDING_PATH = openviduLocalRecordingPath;
}
if (OPENVIDU_LOCAL_RECORDING_PATH.endsWith("/")) {
OPENVIDU_LOCAL_RECORDING_PATH = OPENVIDU_LOCAL_RECORDING_PATH.substring(0,
OPENVIDU_LOCAL_RECORDING_PATH.length() - 1);
}
log.info("Using local recording path {}", OPENVIDU_LOCAL_RECORDING_PATH);
} }
protected BrowserUser setupBrowser(String browser) throws Exception { protected BrowserUser setupBrowser(String browser) throws Exception {
@ -563,7 +574,7 @@ public class OpenViduTestE2e {
} }
// removeAllRecordingContiners(); // removeAllRecordingContiners();
try { try {
FileUtils.cleanDirectory(new File("/opt/openvidu/recordings")); FileUtils.cleanDirectory(new File(OPENVIDU_LOCAL_RECORDING_PATH));
} catch (IOException e) { } catch (IOException e) {
log.error(e.getMessage()); log.error(e.getMessage());
} }

View File

@ -810,7 +810,7 @@ public class OpenViduProTestAppE2eTest extends AbstractOpenViduTestappE2eTest {
} }
} }
// Generate 3 total recordings of 1 second length for the stream of the user // Generate 3 total recordings of 3 seconds length for the stream of the user
// configured to NOT be recorded // configured to NOT be recorded
restClient.rest(HttpMethod.PATCH, "/openvidu/api/sessions/" + sessionName + "/connection/" + connectionId2, restClient.rest(HttpMethod.PATCH, "/openvidu/api/sessions/" + sessionName + "/connection/" + connectionId2,
"{'record':true}", HttpURLConnection.HTTP_OK); "{'record':true}", HttpURLConnection.HTTP_OK);
@ -835,14 +835,14 @@ public class OpenViduProTestAppE2eTest extends AbstractOpenViduTestappE2eTest {
restClient.rest(HttpMethod.PATCH, "/openvidu/api/sessions/" + sessionName + "/connection/" + connectionId2, restClient.rest(HttpMethod.PATCH, "/openvidu/api/sessions/" + sessionName + "/connection/" + connectionId2,
"{'record':true}", HttpURLConnection.HTTP_OK); "{'record':true}", HttpURLConnection.HTTP_OK);
Thread.sleep(5000); Thread.sleep(3000);
restClient.rest(HttpMethod.POST, "/openvidu/api/recordings/stop/" + sessionName, HttpURLConnection.HTTP_OK); restClient.rest(HttpMethod.POST, "/openvidu/api/recordings/stop/" + sessionName, HttpURLConnection.HTTP_OK);
user.getEventManager().waitUntilEventReaches("recordingStopped", 3); user.getEventManager().waitUntilEventReaches("recordingStopped", 3);
gracefullyLeaveParticipants(user, 3); gracefullyLeaveParticipants(user, 3);
String recPath = "/opt/openvidu/recordings/" + sessionName + "/"; String recPath = OPENVIDU_LOCAL_RECORDING_PATH + "/" + sessionName + "/";
Recording recording = new OpenVidu(OpenViduTestAppE2eTest.OPENVIDU_URL, OpenViduTestAppE2eTest.OPENVIDU_SECRET) Recording recording = new OpenVidu(OpenViduTestAppE2eTest.OPENVIDU_URL, OpenViduTestAppE2eTest.OPENVIDU_SECRET)
.getRecording(sessionName); .getRecording(sessionName);
// this.recordingUtils.checkIndividualRecording(recPath, recording, 4, "aac", // this.recordingUtils.checkIndividualRecording(recPath, recording, 4, "aac",
@ -3433,7 +3433,7 @@ public class OpenViduProTestAppE2eTest extends AbstractOpenViduTestappE2eTest {
user.getEventManager().waitUntilEventReaches("recordingStopped", 1); user.getEventManager().waitUntilEventReaches("recordingStopped", 1);
// Check recording // Check recording
String recordingsPath = "/opt/openvidu/recordings/"; String recordingsPath = OPENVIDU_LOCAL_RECORDING_PATH + "/";
File file1 = new File(recordingsPath + sessionName + "/" + sessionName + ".mp4"); File file1 = new File(recordingsPath + sessionName + "/" + sessionName + ".mp4");
File file2 = new File(recordingsPath + sessionName + "/" + sessionName + ".jpg"); File file2 = new File(recordingsPath + sessionName + "/" + sessionName + ".jpg");
Assertions.assertTrue( Assertions.assertTrue(
@ -3469,7 +3469,7 @@ public class OpenViduProTestAppE2eTest extends AbstractOpenViduTestappE2eTest {
private void checkRtmpRecordingIsFine(long secondsTimeout, Function<Map<String, Long>, Boolean> colorCheckFunction) private void checkRtmpRecordingIsFine(long secondsTimeout, Function<Map<String, Long>, Boolean> colorCheckFunction)
throws InterruptedException { throws InterruptedException {
final String broadcastRecordingPath = "/opt/openvidu/recordings"; final String broadcastRecordingPath = OPENVIDU_LOCAL_RECORDING_PATH;
final String cleanBroadcastPath = "rm -rf " + broadcastRecordingPath + "/tmp"; final String cleanBroadcastPath = "rm -rf " + broadcastRecordingPath + "/tmp";
try { try {
final long startTime = System.currentTimeMillis(); final long startTime = System.currentTimeMillis();

View File

@ -1668,7 +1668,7 @@ public class OpenViduTestAppE2eTest extends AbstractOpenViduTestappE2eTest {
user.getEventManager().waitUntilEventReaches("recordingStopped", 1); user.getEventManager().waitUntilEventReaches("recordingStopped", 1);
String recordingsPath = "/opt/openvidu/recordings/"; String recordingsPath = OPENVIDU_LOCAL_RECORDING_PATH + "/";
File file1 = new File(recordingsPath + sessionName + "/" + sessionName + ".mp4"); File file1 = new File(recordingsPath + sessionName + "/" + sessionName + ".mp4");
File file2 = new File(recordingsPath + sessionName + "/" + ".recording." + sessionName); File file2 = new File(recordingsPath + sessionName + "/" + ".recording." + sessionName);
File file3 = new File(recordingsPath + sessionName + "/" + sessionName + ".jpg"); File file3 = new File(recordingsPath + sessionName + "/" + sessionName + ".jpg");
@ -1951,7 +1951,7 @@ public class OpenViduTestAppE2eTest extends AbstractOpenViduTestappE2eTest {
// List<String> streamIds = activeStreamsOfSession(sessionName); // List<String> streamIds = activeStreamsOfSession(sessionName);
// for (String strId : streamIds) { // for (String strId : streamIds) {
// waitUntilFileExistsAndIsBiggerThan("/opt/openvidu/recordings/" + sessionName + "/" + strId + "." // waitUntilFileExistsAndIsBiggerThan(OPENVIDU_LOCAL_RECORDING_PATH + "/" + sessionName + "/" + strId + "."
// + this.getIndividualRecordingExtension(), 200, 60); // + this.getIndividualRecordingExtension(), 200, 60);
// } // }
@ -1985,7 +1985,7 @@ public class OpenViduTestAppE2eTest extends AbstractOpenViduTestappE2eTest {
user.getEventManager().waitUntilEventReaches("recordingStopped", 2); user.getEventManager().waitUntilEventReaches("recordingStopped", 2);
String recordingsPath = "/opt/openvidu/recordings/"; String recordingsPath = OPENVIDU_LOCAL_RECORDING_PATH + "/";
String recPath = recordingsPath + sessionName + "/"; String recPath = recordingsPath + sessionName + "/";
// At the moment the .webm recordings are not supported // At the moment the .webm recordings are not supported
@ -2030,7 +2030,7 @@ public class OpenViduTestAppE2eTest extends AbstractOpenViduTestappE2eTest {
final String RECORDING_COMPOSED_VIDEO = "COMPOSED_VIDEO_ONLY"; final String RECORDING_COMPOSED_VIDEO = "COMPOSED_VIDEO_ONLY";
final String RECORDING_INDIVIDUAL_VIDEO = "INDIVIDUAL_VIDEO_ONLY"; final String RECORDING_INDIVIDUAL_VIDEO = "INDIVIDUAL_VIDEO_ONLY";
final String RECORDING_INDIVIDUAL_AUDIO = "INDIVIDUAL_AUDIO_ONLY"; final String RECORDING_INDIVIDUAL_AUDIO = "INDIVIDUAL_AUDIO_ONLY";
final int RECORDING_DURATION = 5000; final int RECORDING_DURATION = 7000;
Thread.UncaughtExceptionHandler h = new Thread.UncaughtExceptionHandler() { Thread.UncaughtExceptionHandler h = new Thread.UncaughtExceptionHandler() {
public void uncaughtException(Thread th, Throwable ex) { public void uncaughtException(Thread th, Throwable ex) {
@ -2085,10 +2085,10 @@ public class OpenViduTestAppE2eTest extends AbstractOpenViduTestappE2eTest {
user2.getEventManager().waitUntilEventReaches("recordingStopped", 2); user2.getEventManager().waitUntilEventReaches("recordingStopped", 2);
user2.getEventManager().waitUntilEventReaches("recordingStarted", 4); user2.getEventManager().waitUntilEventReaches("recordingStarted", 4);
user2.getEventManager().waitUntilEventReaches("recordingStopped", 4, 120, true); user2.getEventManager().waitUntilEventReaches("recordingStopped", 4, 180, true);
user2.getEventManager().waitUntilEventReaches("recordingStarted", 6); user2.getEventManager().waitUntilEventReaches("recordingStarted", 6);
user2.getEventManager().waitUntilEventReaches("recordingStopped", 6, 120, true); user2.getEventManager().waitUntilEventReaches("recordingStopped", 6, 180, true);
user2.getEventManager().waitUntilEventReaches("streamDestroyed", 4); user2.getEventManager().waitUntilEventReaches("streamDestroyed", 4);
user2.getEventManager().waitUntilEventReaches("connectionDestroyed", 4); user2.getEventManager().waitUntilEventReaches("connectionDestroyed", 4);
@ -2172,7 +2172,7 @@ public class OpenViduTestAppE2eTest extends AbstractOpenViduTestappE2eTest {
user.getDriver().findElement(By.id("stop-recording-btn")).click(); user.getDriver().findElement(By.id("stop-recording-btn")).click();
user.getWaiter().until(ExpectedConditions.attributeToBe(By.id("api-response-text-area"), "value", user.getWaiter().until(ExpectedConditions.attributeToBe(By.id("api-response-text-area"), "value",
"Recording stopped [" + SESSION_NAME + "~1]")); "Recording stopped [" + SESSION_NAME + "~1]"));
user.getEventManager().waitUntilEventReaches("recordingStopped", 4, 120, true); user.getEventManager().waitUntilEventReaches("recordingStopped", 4, 180, true);
// Audio-only INDIVIDUAL recording // Audio-only INDIVIDUAL recording
recordingNameField.clear(); recordingNameField.clear();
@ -2192,20 +2192,15 @@ public class OpenViduTestAppE2eTest extends AbstractOpenViduTestappE2eTest {
user.getDriver().findElement(By.id("stop-recording-btn")).click(); user.getDriver().findElement(By.id("stop-recording-btn")).click();
user.getWaiter().until(ExpectedConditions.attributeToBe(By.id("api-response-text-area"), "value", user.getWaiter().until(ExpectedConditions.attributeToBe(By.id("api-response-text-area"), "value",
"Recording stopped [" + SESSION_NAME + "~2]")); "Recording stopped [" + SESSION_NAME + "~2]"));
user.getEventManager().waitUntilEventReaches("recordingStopped", 6, 120, true); user.getEventManager().waitUntilEventReaches("recordingStopped", 6, 180, true);
String recordingsPath = "/opt/openvidu/recordings/"; String recordingsPath = OPENVIDU_LOCAL_RECORDING_PATH + "/";
// Check video-only COMPOSED recording // Check video-only COMPOSED recording
String recPath = recordingsPath + SESSION_NAME + "/"; String recPath = recordingsPath + SESSION_NAME + "/";
Recording recording = new OpenVidu(OPENVIDU_URL, OPENVIDU_SECRET).getRecording(SESSION_NAME); Recording recording = new OpenVidu(OPENVIDU_URL, OPENVIDU_SECRET).getRecording(SESSION_NAME);
this.recordingUtils.checkMultimediaFile(new File(recPath + recording.getName() + ".mp4"), false, true,
// Commented because the duration file using ffmpeg probe is not the same as the recording.getDuration(), recording.getResolution(), recording.getFrameRate(), null, "h264", true);
// duration in the Livekit Egress entity
// this.recordingUtils.checkMultimediaFile(new File(recPath +
// recording.getName() + ".mp4"), false, true,
// recording.getDuration(), recording.getResolution(), recording.getFrameRate(),
// null, "h264", true);
// Check video-only INDIVIDUAL recording // Check video-only INDIVIDUAL recording
recPath = recordingsPath + SESSION_NAME + "~1/"; recPath = recordingsPath + SESSION_NAME + "~1/";
@ -2286,7 +2281,7 @@ public class OpenViduTestAppE2eTest extends AbstractOpenViduTestappE2eTest {
"Recording started [" + SESSION_NAME + "]")); "Recording started [" + SESSION_NAME + "]"));
user.getEventManager().waitUntilEventReaches("recordingStarted", 3); user.getEventManager().waitUntilEventReaches("recordingStarted", 3);
String recordingFilePath = "/opt/openvidu/recordings/" + SESSION_NAME + "/" + RECORDING_NAME + ".webm"; String recordingFilePath = OPENVIDU_LOCAL_RECORDING_PATH + "/" + SESSION_NAME + "/" + RECORDING_NAME + ".webm";
// waitUntilFileExistsAndIsBiggerThan(recordingFilePath, 40, 30); // waitUntilFileExistsAndIsBiggerThan(recordingFilePath, 40, 30);
user.getDriver().findElement(By.id("recording-id-field")).clear(); user.getDriver().findElement(By.id("recording-id-field")).clear();
@ -2367,7 +2362,7 @@ public class OpenViduTestAppE2eTest extends AbstractOpenViduTestappE2eTest {
user.getDriver().findElement(By.id("close-dialog-btn")).click(); user.getDriver().findElement(By.id("close-dialog-btn")).click();
Thread.sleep(500); Thread.sleep(500);
String recordingsPath = "/opt/openvidu/recordings/" + SESSION_NAME + "/"; String recordingsPath = OPENVIDU_LOCAL_RECORDING_PATH + "/" + SESSION_NAME + "/";
File file1 = new File(recordingsPath + SESSION_NAME + ".mp4"); File file1 = new File(recordingsPath + SESSION_NAME + ".mp4");
// The video duration using Ffmpeg is almost 1.5s longer than the actual // The video duration using Ffmpeg is almost 1.5s longer than the actual
@ -2428,7 +2423,7 @@ public class OpenViduTestAppE2eTest extends AbstractOpenViduTestappE2eTest {
user.getDriver().findElement(By.id("close-dialog-btn")).click(); user.getDriver().findElement(By.id("close-dialog-btn")).click();
Thread.sleep(500); Thread.sleep(500);
recordingsPath = "/opt/openvidu/recordings/" + SESSION_NAME + "~1/"; recordingsPath = OPENVIDU_LOCAL_RECORDING_PATH + "/" + SESSION_NAME + "~1/";
file1 = new File(recordingsPath + SESSION_NAME + "~1.mp4"); file1 = new File(recordingsPath + SESSION_NAME + "~1.mp4");
// The video duration using Ffmpeg is almost 1.5s longer than the actual // The video duration using Ffmpeg is almost 1.5s longer than the actual
@ -2933,9 +2928,8 @@ public class OpenViduTestAppE2eTest extends AbstractOpenViduTestappE2eTest {
Assertions.assertTrue(pub.hasAudio()); Assertions.assertTrue(pub.hasAudio());
Assertions.assertFalse(pub.isAudioActive()); Assertions.assertFalse(pub.isAudioActive());
waitUntilFileExistsAndIsBiggerThan( waitUntilFileExistsAndIsBiggerThan(OPENVIDU_LOCAL_RECORDING_PATH + "/" + customSessionId + "/" + customSessionId
"/opt/openvidu/recordings/" + customSessionId + "/" + customSessionId + "/" + customSessionId + ".json", + "/" + customSessionId + ".json", 0, 60);
0, 60);
Assertions.assertFalse(session.fetch(), "Session.fetch() should return false"); Assertions.assertFalse(session.fetch(), "Session.fetch() should return false");
Assertions.assertFalse(OV.fetch(), "OpenVidu.fetch() should return false"); Assertions.assertFalse(OV.fetch(), "OpenVidu.fetch() should return false");
@ -3060,7 +3054,7 @@ public class OpenViduTestAppE2eTest extends AbstractOpenViduTestappE2eTest {
// String streamId = session.getActiveConnections().stream().filter(c -> // String streamId = session.getActiveConnections().stream().filter(c ->
// c.getPublishers().size() > 0).findFirst() // c.getPublishers().size() > 0).findFirst()
// .get().getPublishers().get(0).getStreamId(); // .get().getPublishers().get(0).getStreamId();
// waitUntilFileExistsAndIsBiggerThan("/opt/openvidu/recordings/" + // waitUntilFileExistsAndIsBiggerThan(OPENVIDU_LOCAL_RECORDING_PATH + "/" +
// recording.getId() + "/" + streamId + "." // recording.getId() + "/" + streamId + "."
// + this.getIndividualRecordingExtension(), 200, 60); // + this.getIndividualRecordingExtension(), 200, 60);
@ -3084,8 +3078,8 @@ public class OpenViduTestAppE2eTest extends AbstractOpenViduTestappE2eTest {
Assertions.assertFalse(session.isBeingRecorded(), "Session shouldn't be being recorded"); Assertions.assertFalse(session.isBeingRecorded(), "Session shouldn't be being recorded");
Assertions.assertFalse(OV.fetch(), "OpenVidu.fetch() should return false"); Assertions.assertFalse(OV.fetch(), "OpenVidu.fetch() should return false");
this.recordingUtils.checkIndividualRecording("/opt/openvidu/recordings/" + customSessionId + "/", recording, 2, this.recordingUtils.checkIndividualRecording(OPENVIDU_LOCAL_RECORDING_PATH + "/" + customSessionId + "/",
"acc", "h264", false); recording, 2, "acc", "h264", false);
// Not recorded session // Not recorded session
try { try {
@ -3159,7 +3153,7 @@ public class OpenViduTestAppE2eTest extends AbstractOpenViduTestappE2eTest {
Assertions.assertFalse(session.isBeingRecorded(), "Session shouldn't be being recorded"); Assertions.assertFalse(session.isBeingRecorded(), "Session shouldn't be being recorded");
Assertions.assertFalse(session.fetch(), "Session.fetch() should return false"); Assertions.assertFalse(session.fetch(), "Session.fetch() should return false");
String recordingsPath = "/opt/openvidu/recordings/" + customSessionId + "~1/"; String recordingsPath = OPENVIDU_LOCAL_RECORDING_PATH + "/" + customSessionId + "~1/";
File file1 = new File(recordingsPath + customRecordingName + ".mp4"); File file1 = new File(recordingsPath + customRecordingName + ".mp4");
File file2 = new File(recordingsPath + customRecordingName + ".mp4" + ".json"); File file2 = new File(recordingsPath + customRecordingName + ".mp4" + ".json");
@ -4010,9 +4004,8 @@ public class OpenViduTestAppE2eTest extends AbstractOpenViduTestappE2eTest {
new RecordingProperties.Builder().outputMode(OutputMode.INDIVIDUAL).build()); new RecordingProperties.Builder().outputMode(OutputMode.INDIVIDUAL).build());
user.getEventManager().waitUntilEventReaches("recordingStarted", 2); user.getEventManager().waitUntilEventReaches("recordingStarted", 2);
waitUntilFileExistsAndIsBiggerThan( waitUntilFileExistsAndIsBiggerThan(OPENVIDU_LOCAL_RECORDING_PATH + "/TestSession/" + streamId + "."
"/opt/openvidu/recordings/TestSession/" + streamId + "." + this.getIndividualRecordingExtension(), + this.getIndividualRecordingExtension(), 200, 60);
200, 60);
final CountDownLatch latch = new CountDownLatch(2); final CountDownLatch latch = new CountDownLatch(2);
@ -4053,8 +4046,8 @@ public class OpenViduTestAppE2eTest extends AbstractOpenViduTestappE2eTest {
Assertions.assertTrue(rec.getDuration() > 0, "Recording duration is 0"); Assertions.assertTrue(rec.getDuration() > 0, "Recording duration is 0");
Assertions.assertTrue(rec.getSize() > 0, "Recording size is 0"); Assertions.assertTrue(rec.getSize() > 0, "Recording size is 0");
this.recordingUtils.checkIndividualRecording("/opt/openvidu/recordings/TestSession/", rec, 1, "opus", "vp8", this.recordingUtils.checkIndividualRecording(OPENVIDU_LOCAL_RECORDING_PATH + "/TestSession/", rec, 1,
true); "opus", "vp8", true);
user.getDriver().findElement(By.id("remove-all-users-btn")).click(); user.getDriver().findElement(By.id("remove-all-users-btn")).click();
user.getEventManager().clearAllCurrentEvents(); user.getEventManager().clearAllCurrentEvents();
@ -4088,9 +4081,8 @@ public class OpenViduTestAppE2eTest extends AbstractOpenViduTestappE2eTest {
new RecordingProperties.Builder().outputMode(OutputMode.INDIVIDUAL).build()); new RecordingProperties.Builder().outputMode(OutputMode.INDIVIDUAL).build());
user.getEventManager().waitUntilEventReaches("recordingStarted", 2); user.getEventManager().waitUntilEventReaches("recordingStarted", 2);
waitUntilFileExistsAndIsBiggerThan( waitUntilFileExistsAndIsBiggerThan(OPENVIDU_LOCAL_RECORDING_PATH + "/TestSession/" + streamId + "."
"/opt/openvidu/recordings/TestSession/" + streamId + "." + this.getIndividualRecordingExtension(), + this.getIndividualRecordingExtension(), 200, 60);
200, 60);
final CountDownLatch latch2 = new CountDownLatch(4); final CountDownLatch latch2 = new CountDownLatch(4);
@ -4137,8 +4129,8 @@ public class OpenViduTestAppE2eTest extends AbstractOpenViduTestappE2eTest {
Assertions.assertTrue(rec.getDuration() > 0, "Recording duration is 0"); Assertions.assertTrue(rec.getDuration() > 0, "Recording duration is 0");
Assertions.assertTrue(rec.getSize() > 0, "Recording size is 0"); Assertions.assertTrue(rec.getSize() > 0, "Recording size is 0");
this.recordingUtils.checkIndividualRecording("/opt/openvidu/recordings/TestSession/", rec, 1, "opus", "vp8", this.recordingUtils.checkIndividualRecording(OPENVIDU_LOCAL_RECORDING_PATH + "/TestSession/", rec, 1,
true); "opus", "vp8", true);
OV.fetch(); OV.fetch();
sessions = OV.getActiveSessions(); sessions = OV.getActiveSessions();