mirror of https://github.com/OpenVidu/openvidu.git
Add 20 minute @Timeout to each e2e test
parent
3e24877067
commit
c9f438ee1b
|
@ -36,6 +36,7 @@ import org.junit.jupiter.api.BeforeAll;
|
||||||
import org.junit.jupiter.api.Disabled;
|
import org.junit.jupiter.api.Disabled;
|
||||||
import org.junit.jupiter.api.DisplayName;
|
import org.junit.jupiter.api.DisplayName;
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
|
import org.junit.jupiter.api.Timeout;
|
||||||
import org.openqa.selenium.Alert;
|
import org.openqa.selenium.Alert;
|
||||||
import org.openqa.selenium.By;
|
import org.openqa.selenium.By;
|
||||||
import org.openqa.selenium.Keys;
|
import org.openqa.selenium.Keys;
|
||||||
|
@ -229,6 +230,7 @@ public class OpenViduProTestAppE2eTest extends AbstractOpenViduTestappE2eTest {
|
||||||
* events triggered.
|
* events triggered.
|
||||||
*/
|
*/
|
||||||
@Test
|
@Test
|
||||||
|
@Timeout(1200)
|
||||||
@DisplayName("End reason")
|
@DisplayName("End reason")
|
||||||
void endReasonTest() throws Exception {
|
void endReasonTest() throws Exception {
|
||||||
|
|
||||||
|
@ -267,9 +269,9 @@ public class OpenViduProTestAppE2eTest extends AbstractOpenViduTestappE2eTest {
|
||||||
try {
|
try {
|
||||||
|
|
||||||
// Map<String, Object> newConfig = Map.of("OPENVIDU_PRO_NETWORK_QUALITY", false,
|
// Map<String, Object> newConfig = Map.of("OPENVIDU_PRO_NETWORK_QUALITY", false,
|
||||||
// "OPENVIDU_PRO_SPEECH_TO_TEXT", "disabled", "OPENVIDU_WEBHOOK", true,
|
// "OPENVIDU_PRO_SPEECH_TO_TEXT", "disabled", "OPENVIDU_WEBHOOK", true,
|
||||||
// "OPENVIDU_WEBHOOK_ENDPOINT", "http://127.0.0.1:7777/webhook",
|
// "OPENVIDU_WEBHOOK_ENDPOINT", "http://127.0.0.1:7777/webhook",
|
||||||
// "OPENVIDU_RECORDING_AUTOSTOP_TIMEOUT", 0);
|
// "OPENVIDU_RECORDING_AUTOSTOP_TIMEOUT", 0);
|
||||||
// restartOpenViduServer(newConfig);
|
// restartOpenViduServer(newConfig);
|
||||||
|
|
||||||
OpenViduTestappUser user = setupBrowserAndConnectToOpenViduTestapp("chrome");
|
OpenViduTestappUser user = setupBrowserAndConnectToOpenViduTestapp("chrome");
|
||||||
|
@ -278,16 +280,19 @@ public class OpenViduProTestAppE2eTest extends AbstractOpenViduTestappE2eTest {
|
||||||
this.connectTwoUsers(user, restClient, false, false, null);
|
this.connectTwoUsers(user, restClient, false, false, null);
|
||||||
user.getDriver().findElement(By.cssSelector("#openvidu-instance-1 .sub-btn")).click();
|
user.getDriver().findElement(By.cssSelector("#openvidu-instance-1 .sub-btn")).click();
|
||||||
|
|
||||||
// webrtcConnectionDestroyed event is not triggered when unsubscribing in v2Compatibility (only OUTBOUND)
|
// webrtcConnectionDestroyed event is not triggered when unsubscribing in
|
||||||
|
// v2Compatibility (only OUTBOUND)
|
||||||
// Assertions.assertEquals("unsubscribe",
|
// Assertions.assertEquals("unsubscribe",
|
||||||
// CustomWebhook.waitForEvent("webrtcConnectionDestroyed", 2).get("reason").getAsString());
|
// CustomWebhook.waitForEvent("webrtcConnectionDestroyed",
|
||||||
|
// 2).get("reason").getAsString());
|
||||||
CustomWebhook.events.values().forEach(collection -> Assertions.assertTrue(collection.isEmpty()));
|
CustomWebhook.events.values().forEach(collection -> Assertions.assertTrue(collection.isEmpty()));
|
||||||
|
|
||||||
// unpublish: webrtcConnectionDestroyed
|
// unpublish: webrtcConnectionDestroyed
|
||||||
this.connectTwoUsers(user, restClient, false, false, null);
|
this.connectTwoUsers(user, restClient, false, false, null);
|
||||||
user.getDriver().findElement(By.cssSelector("#openvidu-instance-0 .pub-btn")).click();
|
user.getDriver().findElement(By.cssSelector("#openvidu-instance-0 .pub-btn")).click();
|
||||||
// for (int i = 0; i < 2; i++) {
|
// for (int i = 0; i < 2; i++) {
|
||||||
// webrtcConnectionDestroyed event is not triggered when unsubscribing in v2Compatibility (only OUTBOUND)
|
// webrtcConnectionDestroyed event is not triggered when unsubscribing in
|
||||||
|
// v2Compatibility (only OUTBOUND)
|
||||||
Assertions.assertEquals("unpublish",
|
Assertions.assertEquals("unpublish",
|
||||||
CustomWebhook.waitForEvent("webrtcConnectionDestroyed", 30).get("reason").getAsString());
|
CustomWebhook.waitForEvent("webrtcConnectionDestroyed", 30).get("reason").getAsString());
|
||||||
// }
|
// }
|
||||||
|
@ -299,29 +304,34 @@ public class OpenViduProTestAppE2eTest extends AbstractOpenViduTestappE2eTest {
|
||||||
this.connectTwoUsers(user, restClient, false, true, BROADCAST_IP);
|
this.connectTwoUsers(user, restClient, false, true, BROADCAST_IP);
|
||||||
// First user out
|
// First user out
|
||||||
user.getDriver().findElement(By.cssSelector("#openvidu-instance-0 .leave-btn")).click();
|
user.getDriver().findElement(By.cssSelector("#openvidu-instance-0 .leave-btn")).click();
|
||||||
// webrtcConnectionDestroyed event is only triggered when participant left in v2Compatibility
|
// webrtcConnectionDestroyed event is only triggered when participant left in
|
||||||
|
// v2Compatibility
|
||||||
// for (int i = 0; i < 3; i++) {
|
// for (int i = 0; i < 3; i++) {
|
||||||
Assertions.assertEquals("unpublish", // reason is always "unpublish" in v2Compatibility
|
Assertions.assertEquals("unpublish", // reason is always "unpublish" in v2Compatibility
|
||||||
CustomWebhook.waitForEvent("webrtcConnectionDestroyed", 30).get("reason").getAsString());
|
CustomWebhook.waitForEvent("webrtcConnectionDestroyed", 30).get("reason").getAsString());
|
||||||
// }
|
// }
|
||||||
Assertions.assertEquals("disconnect",
|
Assertions.assertEquals("disconnect",
|
||||||
CustomWebhook.waitForEvent("participantLeft", 2).get("reason").getAsString());
|
CustomWebhook.waitForEvent("participantLeft", 2).get("reason").getAsString());
|
||||||
// Second user out
|
// Second user out
|
||||||
user.getDriver().findElement(By.cssSelector("#openvidu-instance-1 .leave-btn")).click();
|
user.getDriver().findElement(By.cssSelector("#openvidu-instance-1 .leave-btn")).click();
|
||||||
Assertions.assertEquals("unpublish", // reason is always "unpublish" in v2Compatibility
|
Assertions.assertEquals("unpublish", // reason is always "unpublish" in v2Compatibility
|
||||||
CustomWebhook.waitForEvent("webrtcConnectionDestroyed", 30).get("reason").getAsString());
|
CustomWebhook.waitForEvent("webrtcConnectionDestroyed", 30).get("reason").getAsString());
|
||||||
Assertions.assertEquals("disconnect",
|
Assertions.assertEquals("disconnect",
|
||||||
CustomWebhook.waitForEvent("participantLeft", 2).get("reason").getAsString());
|
CustomWebhook.waitForEvent("participantLeft", 2).get("reason").getAsString());
|
||||||
for (int i = 0; i < 2; i++) {
|
for (int i = 0; i < 2; i++) {
|
||||||
Assertions.assertEquals("recordingStoppedByServer", // reason is always "recordingStoppedByServer" in v2Compatibility
|
Assertions.assertEquals("recordingStoppedByServer", // reason is always "recordingStoppedByServer"
|
||||||
|
// in v2Compatibility
|
||||||
CustomWebhook.waitForEvent("recordingStatusChanged", 60).get("reason").getAsString());
|
CustomWebhook.waitForEvent("recordingStatusChanged", 60).get("reason").getAsString());
|
||||||
}
|
}
|
||||||
// broadcastStopped does not exist in the official OpenVidu docs and v2Compatibility does not trigger it
|
// broadcastStopped does not exist in the official OpenVidu docs and
|
||||||
|
// v2Compatibility does not trigger it
|
||||||
// Assertions.assertEquals("lastParticipantLeft",
|
// Assertions.assertEquals("lastParticipantLeft",
|
||||||
// CustomWebhook.waitForEvent("broadcastStopped", 2).get("reason").getAsString());
|
// CustomWebhook.waitForEvent("broadcastStopped",
|
||||||
Assertions.assertEquals("sessionClosedByServer", // reason is always "sessionClosedByServer" in v2Compatibility
|
// 2).get("reason").getAsString());
|
||||||
|
Assertions.assertEquals("sessionClosedByServer", // reason is always "sessionClosedByServer" in
|
||||||
|
// v2Compatibility
|
||||||
CustomWebhook.waitForEvent("sessionDestroyed", 30).get("reason").getAsString());
|
CustomWebhook.waitForEvent("sessionDestroyed", 30).get("reason").getAsString());
|
||||||
if(CustomWebhook.events.values().stream().anyMatch(collection -> !collection.isEmpty())) {
|
if (CustomWebhook.events.values().stream().anyMatch(collection -> !collection.isEmpty())) {
|
||||||
CustomWebhook.events.values().forEach(collection -> {
|
CustomWebhook.events.values().forEach(collection -> {
|
||||||
if (!collection.isEmpty()) {
|
if (!collection.isEmpty()) {
|
||||||
// clean up
|
// clean up
|
||||||
|
@ -334,10 +344,11 @@ public class OpenViduProTestAppE2eTest extends AbstractOpenViduTestappE2eTest {
|
||||||
// forceUnpublishByUser: webrtcConnectionDestroyed
|
// forceUnpublishByUser: webrtcConnectionDestroyed
|
||||||
this.connectTwoUsers(user, restClient, true, false, null);
|
this.connectTwoUsers(user, restClient, true, false, null);
|
||||||
user.getDriver().findElement(By.cssSelector("#openvidu-instance-0 .force-unpub-btn")).click();
|
user.getDriver().findElement(By.cssSelector("#openvidu-instance-0 .force-unpub-btn")).click();
|
||||||
// webrtcConnectionDestroyed event is only triggered when participant left in v2Compatibility
|
// webrtcConnectionDestroyed event is only triggered when participant left in
|
||||||
|
// v2Compatibility
|
||||||
// for (int i = 0; i < 2; i++) {
|
// for (int i = 0; i < 2; i++) {
|
||||||
Assertions.assertEquals("unpublish", // reason is always "unpublish" in v2Compatibility
|
Assertions.assertEquals("unpublish", // reason is always "unpublish" in v2Compatibility
|
||||||
CustomWebhook.waitForEvent("webrtcConnectionDestroyed", 30).get("reason").getAsString());
|
CustomWebhook.waitForEvent("webrtcConnectionDestroyed", 30).get("reason").getAsString());
|
||||||
// }
|
// }
|
||||||
CustomWebhook.events.values().forEach(collection -> Assertions.assertTrue(collection.isEmpty()));
|
CustomWebhook.events.values().forEach(collection -> Assertions.assertTrue(collection.isEmpty()));
|
||||||
|
|
||||||
|
@ -353,10 +364,11 @@ public class OpenViduProTestAppE2eTest extends AbstractOpenViduTestappE2eTest {
|
||||||
|
|
||||||
restClient.rest(HttpMethod.DELETE, "/openvidu/api/sessions/TestSession/stream/" + streamId,
|
restClient.rest(HttpMethod.DELETE, "/openvidu/api/sessions/TestSession/stream/" + streamId,
|
||||||
HttpURLConnection.HTTP_NO_CONTENT);
|
HttpURLConnection.HTTP_NO_CONTENT);
|
||||||
// webrtcConnectionDestroyed event is only triggered when participant left in v2Compatibility
|
// webrtcConnectionDestroyed event is only triggered when participant left in
|
||||||
|
// v2Compatibility
|
||||||
// for (int i = 0; i < 2; i++) {
|
// for (int i = 0; i < 2; i++) {
|
||||||
Assertions.assertEquals("unpublish", // reason is always "unpublish" in v2Compatibility
|
Assertions.assertEquals("unpublish", // reason is always "unpublish" in v2Compatibility
|
||||||
CustomWebhook.waitForEvent("webrtcConnectionDestroyed", 2).get("reason").getAsString());
|
CustomWebhook.waitForEvent("webrtcConnectionDestroyed", 2).get("reason").getAsString());
|
||||||
// }
|
// }
|
||||||
CustomWebhook.events.values().forEach(collection -> Assertions.assertTrue(collection.isEmpty()));
|
CustomWebhook.events.values().forEach(collection -> Assertions.assertTrue(collection.isEmpty()));
|
||||||
|
|
||||||
|
@ -365,13 +377,14 @@ public class OpenViduProTestAppE2eTest extends AbstractOpenViduTestappE2eTest {
|
||||||
Thread.sleep(5000);
|
Thread.sleep(5000);
|
||||||
user.getDriver().findElement(By.cssSelector("#openvidu-instance-0 .force-disconnect-btn")).click();
|
user.getDriver().findElement(By.cssSelector("#openvidu-instance-0 .force-disconnect-btn")).click();
|
||||||
// for (int i = 0; i < 3; i++) {
|
// for (int i = 0; i < 3; i++) {
|
||||||
// webrtcConnectionDestroyed event is only triggered when participant left in v2Compatibility
|
// webrtcConnectionDestroyed event is only triggered when participant left in
|
||||||
|
// v2Compatibility
|
||||||
Assertions.assertEquals("unpublish", // reason is always "unpublish" in v2Compatibility
|
Assertions.assertEquals("unpublish", // reason is always "unpublish" in v2Compatibility
|
||||||
CustomWebhook.waitForEvent("webrtcConnectionDestroyed", 5).get("reason").getAsString());
|
CustomWebhook.waitForEvent("webrtcConnectionDestroyed", 5).get("reason").getAsString());
|
||||||
// }
|
// }
|
||||||
Assertions.assertEquals("disconnect", // reason is always "disconnect" in v2Compatibility
|
Assertions.assertEquals("disconnect", // reason is always "disconnect" in v2Compatibility
|
||||||
CustomWebhook.waitForEvent("participantLeft", 2).get("reason").getAsString());
|
CustomWebhook.waitForEvent("participantLeft", 2).get("reason").getAsString());
|
||||||
if(CustomWebhook.events.values().stream().anyMatch(collection -> !collection.isEmpty())) {
|
if (CustomWebhook.events.values().stream().anyMatch(collection -> !collection.isEmpty())) {
|
||||||
CustomWebhook.events.values().forEach(collection -> {
|
CustomWebhook.events.values().forEach(collection -> {
|
||||||
if (!collection.isEmpty()) {
|
if (!collection.isEmpty()) {
|
||||||
// clean up
|
// clean up
|
||||||
|
@ -394,7 +407,8 @@ public class OpenViduProTestAppE2eTest extends AbstractOpenViduTestappE2eTest {
|
||||||
restClient.rest(HttpMethod.DELETE, "/openvidu/api/sessions/TestSession/connection/" + connectionIds[0],
|
restClient.rest(HttpMethod.DELETE, "/openvidu/api/sessions/TestSession/connection/" + connectionIds[0],
|
||||||
HttpURLConnection.HTTP_NO_CONTENT);
|
HttpURLConnection.HTTP_NO_CONTENT);
|
||||||
|
|
||||||
// webrtcConnectionDestroyed event is only triggered when participant left in v2Compatibility
|
// webrtcConnectionDestroyed event is only triggered when participant left in
|
||||||
|
// v2Compatibility
|
||||||
// for (int i = 0; i < 3; i++) {
|
// for (int i = 0; i < 3; i++) {
|
||||||
Assertions.assertEquals("unpublish", // reason is always "unpublish" in v2Compatibility
|
Assertions.assertEquals("unpublish", // reason is always "unpublish" in v2Compatibility
|
||||||
CustomWebhook.waitForEvent("webrtcConnectionDestroyed", 60).get("reason").getAsString());
|
CustomWebhook.waitForEvent("webrtcConnectionDestroyed", 60).get("reason").getAsString());
|
||||||
|
@ -409,15 +423,19 @@ public class OpenViduProTestAppE2eTest extends AbstractOpenViduTestappE2eTest {
|
||||||
Assertions.assertEquals("disconnect", // reason is always "disconnect" in v2Compatibility
|
Assertions.assertEquals("disconnect", // reason is always "disconnect" in v2Compatibility
|
||||||
CustomWebhook.waitForEvent("participantLeft", 2).get("reason").getAsString());
|
CustomWebhook.waitForEvent("participantLeft", 2).get("reason").getAsString());
|
||||||
for (int i = 0; i < 2; i++) {
|
for (int i = 0; i < 2; i++) {
|
||||||
Assertions.assertEquals("recordingStoppedByServer", // reason is always "recordingStoppedByServer" in v2Compatibility
|
Assertions.assertEquals("recordingStoppedByServer", // reason is always "recordingStoppedByServer"
|
||||||
|
// in v2Compatibility
|
||||||
CustomWebhook.waitForEvent("recordingStatusChanged", 30).get("reason").getAsString());
|
CustomWebhook.waitForEvent("recordingStatusChanged", 30).get("reason").getAsString());
|
||||||
}
|
}
|
||||||
// broadcastStopped does not exist in the official OpenVidu docs and v2Compatibility does not trigger it
|
// broadcastStopped does not exist in the official OpenVidu docs and
|
||||||
|
// v2Compatibility does not trigger it
|
||||||
// Assertions.assertEquals("lastParticipantLeft",
|
// Assertions.assertEquals("lastParticipantLeft",
|
||||||
// CustomWebhook.waitForEvent("broadcastStopped", 2).get("reason").getAsString());
|
// CustomWebhook.waitForEvent("broadcastStopped",
|
||||||
Assertions.assertEquals("sessionClosedByServer", // reason is always "sessionClosedByServer" in v2Compatibility
|
// 2).get("reason").getAsString());
|
||||||
|
Assertions.assertEquals("sessionClosedByServer", // reason is always "sessionClosedByServer" in
|
||||||
|
// v2Compatibility
|
||||||
CustomWebhook.waitForEvent("sessionDestroyed", 30).get("reason").getAsString());
|
CustomWebhook.waitForEvent("sessionDestroyed", 30).get("reason").getAsString());
|
||||||
if(CustomWebhook.events.values().stream().anyMatch(collection -> !collection.isEmpty())) {
|
if (CustomWebhook.events.values().stream().anyMatch(collection -> !collection.isEmpty())) {
|
||||||
CustomWebhook.events.values().forEach(collection -> {
|
CustomWebhook.events.values().forEach(collection -> {
|
||||||
if (!collection.isEmpty()) {
|
if (!collection.isEmpty()) {
|
||||||
// clean up
|
// clean up
|
||||||
|
@ -433,7 +451,8 @@ public class OpenViduProTestAppE2eTest extends AbstractOpenViduTestappE2eTest {
|
||||||
Thread.sleep(2000);
|
Thread.sleep(2000);
|
||||||
restClient.rest(HttpMethod.DELETE, "/openvidu/api/sessions/TestSession",
|
restClient.rest(HttpMethod.DELETE, "/openvidu/api/sessions/TestSession",
|
||||||
HttpURLConnection.HTTP_NO_CONTENT);
|
HttpURLConnection.HTTP_NO_CONTENT);
|
||||||
// webrtcConnectionDestroyed event is only triggered when participant left in v2Compatibility
|
// webrtcConnectionDestroyed event is only triggered when participant left in
|
||||||
|
// v2Compatibility
|
||||||
for (int i = 0; i < 2; i++) {
|
for (int i = 0; i < 2; i++) {
|
||||||
Assertions.assertEquals("unpublish", // reason is always "unpublish" in v2Compatibility
|
Assertions.assertEquals("unpublish", // reason is always "unpublish" in v2Compatibility
|
||||||
CustomWebhook.waitForEvent("webrtcConnectionDestroyed", 30).get("reason").getAsString());
|
CustomWebhook.waitForEvent("webrtcConnectionDestroyed", 30).get("reason").getAsString());
|
||||||
|
@ -443,12 +462,15 @@ public class OpenViduProTestAppE2eTest extends AbstractOpenViduTestappE2eTest {
|
||||||
CustomWebhook.waitForEvent("participantLeft", 30).get("reason").getAsString());
|
CustomWebhook.waitForEvent("participantLeft", 30).get("reason").getAsString());
|
||||||
}
|
}
|
||||||
for (int i = 0; i < 2; i++) {
|
for (int i = 0; i < 2; i++) {
|
||||||
Assertions.assertEquals("recordingStoppedByServer", // reason is always "recordingStoppedByServer" in v2Compatibility
|
Assertions.assertEquals("recordingStoppedByServer", // reason is always "recordingStoppedByServer"
|
||||||
|
// in v2Compatibility
|
||||||
CustomWebhook.waitForEvent("recordingStatusChanged", 30).get("reason").getAsString());
|
CustomWebhook.waitForEvent("recordingStatusChanged", 30).get("reason").getAsString());
|
||||||
}
|
}
|
||||||
// broadcastStopped does not exist in the official OpenVidu docs and v2Compatibility does not trigger it
|
// broadcastStopped does not exist in the official OpenVidu docs and
|
||||||
|
// v2Compatibility does not trigger it
|
||||||
// Assertions.assertEquals("sessionClosedByServer",
|
// Assertions.assertEquals("sessionClosedByServer",
|
||||||
// CustomWebhook.waitForEvent("broadcastStopped", 2).get("reason").getAsString());
|
// CustomWebhook.waitForEvent("broadcastStopped",
|
||||||
|
// 2).get("reason").getAsString());
|
||||||
Assertions.assertEquals("sessionClosedByServer",
|
Assertions.assertEquals("sessionClosedByServer",
|
||||||
CustomWebhook.waitForEvent("sessionDestroyed", 30).get("reason").getAsString());
|
CustomWebhook.waitForEvent("sessionDestroyed", 30).get("reason").getAsString());
|
||||||
CustomWebhook.events.values().forEach(collection -> Assertions.assertTrue(collection.isEmpty()));
|
CustomWebhook.events.values().forEach(collection -> Assertions.assertTrue(collection.isEmpty()));
|
||||||
|
@ -459,7 +481,8 @@ public class OpenViduProTestAppE2eTest extends AbstractOpenViduTestappE2eTest {
|
||||||
this.connectTwoUsers(user, restClient, false, true, BROADCAST_IP);
|
this.connectTwoUsers(user, restClient, false, true, BROADCAST_IP);
|
||||||
// First user out
|
// First user out
|
||||||
user.getDriver().findElement(By.cssSelector("#openvidu-instance-0 .network-drop-btn")).click();
|
user.getDriver().findElement(By.cssSelector("#openvidu-instance-0 .network-drop-btn")).click();
|
||||||
// webrtcConnectionDestroyed event is only triggered when participant left in v2Compatibility
|
// webrtcConnectionDestroyed event is only triggered when participant left in
|
||||||
|
// v2Compatibility
|
||||||
// for (int i = 0; i < 3; i++) {
|
// for (int i = 0; i < 3; i++) {
|
||||||
Assertions.assertEquals("unpublish",
|
Assertions.assertEquals("unpublish",
|
||||||
CustomWebhook.waitForEvent("webrtcConnectionDestroyed", 60).get("reason").getAsString());
|
CustomWebhook.waitForEvent("webrtcConnectionDestroyed", 60).get("reason").getAsString());
|
||||||
|
@ -473,13 +496,17 @@ public class OpenViduProTestAppE2eTest extends AbstractOpenViduTestappE2eTest {
|
||||||
Assertions.assertEquals("disconnect", // reason is always "disconnect" in v2Compatibility
|
Assertions.assertEquals("disconnect", // reason is always "disconnect" in v2Compatibility
|
||||||
CustomWebhook.waitForEvent("participantLeft", 30).get("reason").getAsString());
|
CustomWebhook.waitForEvent("participantLeft", 30).get("reason").getAsString());
|
||||||
for (int i = 0; i < 2; i++) {
|
for (int i = 0; i < 2; i++) {
|
||||||
Assertions.assertEquals("recordingStoppedByServer", // reason is always "recordingStoppedByServer" in v2Compatibility
|
Assertions.assertEquals("recordingStoppedByServer", // reason is always "recordingStoppedByServer"
|
||||||
|
// in v2Compatibility
|
||||||
CustomWebhook.waitForEvent("recordingStatusChanged", 30).get("reason").getAsString());
|
CustomWebhook.waitForEvent("recordingStatusChanged", 30).get("reason").getAsString());
|
||||||
}
|
}
|
||||||
// broadcastStopped does not exist in the official OpenVidu docs and v2Compatibility does not trigger it
|
// broadcastStopped does not exist in the official OpenVidu docs and
|
||||||
|
// v2Compatibility does not trigger it
|
||||||
// Assertions.assertEquals("lastParticipantLeft",
|
// Assertions.assertEquals("lastParticipantLeft",
|
||||||
// CustomWebhook.waitForEvent("broadcastStopped", 2).get("reason").getAsString());
|
// CustomWebhook.waitForEvent("broadcastStopped",
|
||||||
Assertions.assertEquals("sessionClosedByServer", // reason is always "sessionClosedByServer" in v2Compatibility
|
// 2).get("reason").getAsString());
|
||||||
|
Assertions.assertEquals("sessionClosedByServer", // reason is always "sessionClosedByServer" in
|
||||||
|
// v2Compatibility
|
||||||
CustomWebhook.waitForEvent("sessionDestroyed", 30).get("reason").getAsString());
|
CustomWebhook.waitForEvent("sessionDestroyed", 30).get("reason").getAsString());
|
||||||
CustomWebhook.events.values().forEach(collection -> Assertions.assertTrue(collection.isEmpty()));
|
CustomWebhook.events.values().forEach(collection -> Assertions.assertTrue(collection.isEmpty()));
|
||||||
|
|
||||||
|
@ -487,79 +514,101 @@ public class OpenViduProTestAppE2eTest extends AbstractOpenViduTestappE2eTest {
|
||||||
// sessionDestroyed, recordingStatusChanged, broadcastStopped
|
// sessionDestroyed, recordingStatusChanged, broadcastStopped
|
||||||
// this.connectTwoUsers(user, restClient, false, true, BROADCAST_IP);
|
// this.connectTwoUsers(user, restClient, false, true, BROADCAST_IP);
|
||||||
// String mediaNodeId = restClient
|
// String mediaNodeId = restClient
|
||||||
// .rest(HttpMethod.GET, "/openvidu/api/media-nodes", HttpURLConnection.HTTP_OK).get("content")
|
// .rest(HttpMethod.GET, "/openvidu/api/media-nodes",
|
||||||
// .getAsJsonArray().get(0).getAsJsonObject().get("id").getAsString();
|
// HttpURLConnection.HTTP_OK).get("content")
|
||||||
|
// .getAsJsonArray().get(0).getAsJsonObject().get("id").getAsString();
|
||||||
// restClient.rest(HttpMethod.DELETE,
|
// restClient.rest(HttpMethod.DELETE,
|
||||||
// "/openvidu/api/media-nodes/" + mediaNodeId + "?wait=false&deletion-strategy=now",
|
// "/openvidu/api/media-nodes/" + mediaNodeId +
|
||||||
// HttpURLConnection.HTTP_OK);
|
// "?wait=false&deletion-strategy=now",
|
||||||
|
// HttpURLConnection.HTTP_OK);
|
||||||
// CustomWebhook.waitForEvent("mediaNodeStatusChanged", 3);
|
// CustomWebhook.waitForEvent("mediaNodeStatusChanged", 3);
|
||||||
// for (int i = 0; i < 4; i++) {
|
// for (int i = 0; i < 4; i++) {
|
||||||
// Assertions.assertEquals("mediaServerDisconnect",
|
// Assertions.assertEquals("mediaServerDisconnect",
|
||||||
// CustomWebhook.waitForEvent("webrtcConnectionDestroyed", 20).get("reason").getAsString());
|
// CustomWebhook.waitForEvent("webrtcConnectionDestroyed",
|
||||||
|
// 20).get("reason").getAsString());
|
||||||
// }
|
// }
|
||||||
// for (int i = 0; i < 2; i++) {
|
// for (int i = 0; i < 2; i++) {
|
||||||
// Assertions.assertEquals("mediaServerDisconnect",
|
// Assertions.assertEquals("mediaServerDisconnect",
|
||||||
// CustomWebhook.waitForEvent("participantLeft", 2).get("reason").getAsString());
|
// CustomWebhook.waitForEvent("participantLeft",
|
||||||
|
// 2).get("reason").getAsString());
|
||||||
// }
|
// }
|
||||||
// for (int i = 0; i < 2; i++) {
|
// for (int i = 0; i < 2; i++) {
|
||||||
// Assertions.assertEquals("mediaServerDisconnect",
|
// Assertions.assertEquals("mediaServerDisconnect",
|
||||||
// CustomWebhook.waitForEvent("recordingStatusChanged", 4).get("reason").getAsString());
|
// CustomWebhook.waitForEvent("recordingStatusChanged",
|
||||||
|
// 4).get("reason").getAsString());
|
||||||
// }
|
// }
|
||||||
// Assertions.assertEquals("mediaServerDisconnect",
|
// Assertions.assertEquals("mediaServerDisconnect",
|
||||||
// CustomWebhook.waitForEvent("broadcastStopped", 2).get("reason").getAsString());
|
// CustomWebhook.waitForEvent("broadcastStopped",
|
||||||
|
// 2).get("reason").getAsString());
|
||||||
// Assertions.assertEquals("mediaServerDisconnect",
|
// Assertions.assertEquals("mediaServerDisconnect",
|
||||||
// CustomWebhook.waitForEvent("sessionDestroyed", 2).get("reason").getAsString());
|
// CustomWebhook.waitForEvent("sessionDestroyed",
|
||||||
|
// 2).get("reason").getAsString());
|
||||||
// CustomWebhook.waitForEvent("mediaNodeStatusChanged", 5);
|
// CustomWebhook.waitForEvent("mediaNodeStatusChanged", 5);
|
||||||
// CustomWebhook.events.values().forEach(collection -> Assertions.assertTrue(collection.isEmpty()));
|
// CustomWebhook.events.values().forEach(collection ->
|
||||||
|
// Assertions.assertTrue(collection.isEmpty()));
|
||||||
// restartOpenViduServer(new HashMap<>(), true, HttpURLConnection.HTTP_OK);
|
// restartOpenViduServer(new HashMap<>(), true, HttpURLConnection.HTTP_OK);
|
||||||
|
|
||||||
// mediaServerReconnect: webrtcConnectionDestroyed, recordingStatusChanged
|
// mediaServerReconnect: webrtcConnectionDestroyed, recordingStatusChanged
|
||||||
// this.connectTwoUsers(user, restClient, false, true, BROADCAST_IP);
|
// this.connectTwoUsers(user, restClient, false, true, BROADCAST_IP);
|
||||||
// String containerId = restClient
|
// String containerId = restClient
|
||||||
// .rest(HttpMethod.GET, "/openvidu/api/media-nodes", HttpURLConnection.HTTP_OK).get("content")
|
// .rest(HttpMethod.GET, "/openvidu/api/media-nodes",
|
||||||
// .getAsJsonArray().get(0).getAsJsonObject().get("environmentId").getAsString();
|
// HttpURLConnection.HTTP_OK).get("content")
|
||||||
// MediaNodeDockerUtils.stopMediaServerInsideMediaNodeAndRecover(containerId, 400);
|
// .getAsJsonArray().get(0).getAsJsonObject().get("environmentId").getAsString();
|
||||||
|
// MediaNodeDockerUtils.stopMediaServerInsideMediaNodeAndRecover(containerId,
|
||||||
|
// 400);
|
||||||
// for (int i = 0; i < 4; i++) {
|
// for (int i = 0; i < 4; i++) {
|
||||||
// Assertions.assertEquals("mediaServerReconnect",
|
// Assertions.assertEquals("mediaServerReconnect",
|
||||||
// CustomWebhook.waitForEvent("webrtcConnectionDestroyed", 6).get("reason").getAsString());
|
// CustomWebhook.waitForEvent("webrtcConnectionDestroyed",
|
||||||
|
// 6).get("reason").getAsString());
|
||||||
// }
|
// }
|
||||||
// for (int i = 0; i < 2; i++) {
|
// for (int i = 0; i < 2; i++) {
|
||||||
// Assertions.assertEquals("mediaServerReconnect",
|
// Assertions.assertEquals("mediaServerReconnect",
|
||||||
// CustomWebhook.waitForEvent("recordingStatusChanged", 2).get("reason").getAsString());
|
// CustomWebhook.waitForEvent("recordingStatusChanged",
|
||||||
|
// 2).get("reason").getAsString());
|
||||||
// }
|
// }
|
||||||
// CustomWebhook.events.values().forEach(collection -> Assertions.assertTrue(collection.isEmpty()));
|
// CustomWebhook.events.values().forEach(collection ->
|
||||||
|
// Assertions.assertTrue(collection.isEmpty()));
|
||||||
|
|
||||||
// nodeCrashed: webrtcConnectionDestroyed, participantLeft, sessionDestroyed,
|
// nodeCrashed: webrtcConnectionDestroyed, participantLeft, sessionDestroyed,
|
||||||
// recordingStatusChanged, broadcastStopped
|
// recordingStatusChanged, broadcastStopped
|
||||||
// this.connectTwoUsers(user, restClient, false, true, BROADCAST_IP);
|
// this.connectTwoUsers(user, restClient, false, true, BROADCAST_IP);
|
||||||
// containerId = restClient.rest(HttpMethod.GET, "/openvidu/api/media-nodes", HttpURLConnection.HTTP_OK)
|
// containerId = restClient.rest(HttpMethod.GET, "/openvidu/api/media-nodes",
|
||||||
// .get("content").getAsJsonArray().get(0).getAsJsonObject().get("environmentId").getAsString();
|
// HttpURLConnection.HTTP_OK)
|
||||||
|
// .get("content").getAsJsonArray().get(0).getAsJsonObject().get("environmentId").getAsString();
|
||||||
// MediaNodeDockerUtils.crashMediaNode(containerId);
|
// MediaNodeDockerUtils.crashMediaNode(containerId);
|
||||||
// JsonObject nodeCrashedEvent = CustomWebhook.waitForEvent("nodeCrashed", 10);
|
// JsonObject nodeCrashedEvent = CustomWebhook.waitForEvent("nodeCrashed", 10);
|
||||||
|
|
||||||
// Assertions.assertEquals(1, nodeCrashedEvent.get("recordingIds").getAsJsonArray().size());
|
// Assertions.assertEquals(1,
|
||||||
// JsonArray affectedBroadcasts = nodeCrashedEvent.get("broadcasts").getAsJsonArray();
|
// nodeCrashedEvent.get("recordingIds").getAsJsonArray().size());
|
||||||
|
// JsonArray affectedBroadcasts =
|
||||||
|
// nodeCrashedEvent.get("broadcasts").getAsJsonArray();
|
||||||
// Assertions.assertEquals(1, affectedBroadcasts.size());
|
// Assertions.assertEquals(1, affectedBroadcasts.size());
|
||||||
// Assertions.assertTrue(affectedBroadcasts.get(0).equals(JsonParser.parseString("TestSession")));
|
// Assertions.assertTrue(affectedBroadcasts.get(0).equals(JsonParser.parseString("TestSession")));
|
||||||
|
|
||||||
// CustomWebhook.waitForEvent("mediaNodeStatusChanged", 2);
|
// CustomWebhook.waitForEvent("mediaNodeStatusChanged", 2);
|
||||||
// for (int i = 0; i < 4; i++) {
|
// for (int i = 0; i < 4; i++) {
|
||||||
// Assertions.assertEquals("nodeCrashed",
|
// Assertions.assertEquals("nodeCrashed",
|
||||||
// CustomWebhook.waitForEvent("webrtcConnectionDestroyed", 2).get("reason").getAsString());
|
// CustomWebhook.waitForEvent("webrtcConnectionDestroyed",
|
||||||
|
// 2).get("reason").getAsString());
|
||||||
// }
|
// }
|
||||||
// for (int i = 0; i < 2; i++) {
|
// for (int i = 0; i < 2; i++) {
|
||||||
// Assertions.assertEquals("nodeCrashed",
|
// Assertions.assertEquals("nodeCrashed",
|
||||||
// CustomWebhook.waitForEvent("participantLeft", 2).get("reason").getAsString());
|
// CustomWebhook.waitForEvent("participantLeft",
|
||||||
|
// 2).get("reason").getAsString());
|
||||||
// }
|
// }
|
||||||
// // Only status "stopped" for recording. Not "ready" if node crash
|
// // Only status "stopped" for recording. Not "ready" if node crash
|
||||||
// Assertions.assertEquals("nodeCrashed",
|
// Assertions.assertEquals("nodeCrashed",
|
||||||
// CustomWebhook.waitForEvent("recordingStatusChanged", 10).get("reason").getAsString());
|
// CustomWebhook.waitForEvent("recordingStatusChanged",
|
||||||
|
// 10).get("reason").getAsString());
|
||||||
// Assertions.assertEquals("nodeCrashed",
|
// Assertions.assertEquals("nodeCrashed",
|
||||||
// CustomWebhook.waitForEvent("broadcastStopped", 10).get("reason").getAsString());
|
// CustomWebhook.waitForEvent("broadcastStopped",
|
||||||
|
// 10).get("reason").getAsString());
|
||||||
// Assertions.assertEquals("nodeCrashed",
|
// Assertions.assertEquals("nodeCrashed",
|
||||||
// CustomWebhook.waitForEvent("sessionDestroyed", 2).get("reason").getAsString());
|
// CustomWebhook.waitForEvent("sessionDestroyed",
|
||||||
|
// 2).get("reason").getAsString());
|
||||||
// CustomWebhook.waitForEvent("mediaNodeStatusChanged", 2);
|
// CustomWebhook.waitForEvent("mediaNodeStatusChanged", 2);
|
||||||
// CustomWebhook.events.values().forEach(collection -> Assertions.assertTrue(collection.isEmpty()));
|
// CustomWebhook.events.values().forEach(collection ->
|
||||||
|
// Assertions.assertTrue(collection.isEmpty()));
|
||||||
// restartOpenViduServer(new HashMap<>(), true, HttpURLConnection.HTTP_OK);
|
// restartOpenViduServer(new HashMap<>(), true, HttpURLConnection.HTTP_OK);
|
||||||
|
|
||||||
// openviduServerStopped: webrtcConnectionDestroyed, participantLeft,
|
// openviduServerStopped: webrtcConnectionDestroyed, participantLeft,
|
||||||
|
@ -567,25 +616,31 @@ public class OpenViduProTestAppE2eTest extends AbstractOpenViduTestappE2eTest {
|
||||||
// this.connectTwoUsers(user, restClient, false, true, BROADCAST_IP);
|
// this.connectTwoUsers(user, restClient, false, true, BROADCAST_IP);
|
||||||
// restartOpenViduServer(new HashMap<>(), true, HttpURLConnection.HTTP_OK);
|
// restartOpenViduServer(new HashMap<>(), true, HttpURLConnection.HTTP_OK);
|
||||||
// for (int i = 0; i < 4; i++) {
|
// for (int i = 0; i < 4; i++) {
|
||||||
// Assertions.assertEquals("openviduServerStopped",
|
// Assertions.assertEquals("openviduServerStopped",
|
||||||
// CustomWebhook.waitForEvent("webrtcConnectionDestroyed", 20).get("reason").getAsString());
|
// CustomWebhook.waitForEvent("webrtcConnectionDestroyed",
|
||||||
|
// 20).get("reason").getAsString());
|
||||||
// }
|
// }
|
||||||
// for (int i = 0; i < 2; i++) {
|
// for (int i = 0; i < 2; i++) {
|
||||||
// Assertions.assertEquals("openviduServerStopped",
|
// Assertions.assertEquals("openviduServerStopped",
|
||||||
// CustomWebhook.waitForEvent("participantLeft", 2).get("reason").getAsString());
|
// CustomWebhook.waitForEvent("participantLeft",
|
||||||
|
// 2).get("reason").getAsString());
|
||||||
// }
|
// }
|
||||||
// for (int i = 0; i < 2; i++) {
|
// for (int i = 0; i < 2; i++) {
|
||||||
// Assertions.assertEquals("openviduServerStopped",
|
// Assertions.assertEquals("openviduServerStopped",
|
||||||
// CustomWebhook.waitForEvent("recordingStatusChanged", 4).get("reason").getAsString());
|
// CustomWebhook.waitForEvent("recordingStatusChanged",
|
||||||
|
// 4).get("reason").getAsString());
|
||||||
// }
|
// }
|
||||||
// Assertions.assertEquals("openviduServerStopped",
|
// Assertions.assertEquals("openviduServerStopped",
|
||||||
// CustomWebhook.waitForEvent("broadcastStopped", 2).get("reason").getAsString());
|
// CustomWebhook.waitForEvent("broadcastStopped",
|
||||||
|
// 2).get("reason").getAsString());
|
||||||
// Assertions.assertEquals("openviduServerStopped",
|
// Assertions.assertEquals("openviduServerStopped",
|
||||||
// CustomWebhook.waitForEvent("sessionDestroyed", 2).get("reason").getAsString());
|
// CustomWebhook.waitForEvent("sessionDestroyed",
|
||||||
|
// 2).get("reason").getAsString());
|
||||||
// for (int i = 0; i < 2; i++) {
|
// for (int i = 0; i < 2; i++) {
|
||||||
// CustomWebhook.waitForEvent("mediaNodeStatusChanged", 15);
|
// CustomWebhook.waitForEvent("mediaNodeStatusChanged", 15);
|
||||||
// }
|
// }
|
||||||
// CustomWebhook.events.values().forEach(collection -> Assertions.assertTrue(collection.isEmpty()));
|
// CustomWebhook.events.values().forEach(collection ->
|
||||||
|
// Assertions.assertTrue(collection.isEmpty()));
|
||||||
|
|
||||||
// automaticStop: sessionDestroyed, recordingStatusChanged
|
// automaticStop: sessionDestroyed, recordingStatusChanged
|
||||||
// newConfig = Map.of("OPENVIDU_RECORDING_AUTOSTOP_TIMEOUT", 1);
|
// newConfig = Map.of("OPENVIDU_RECORDING_AUTOSTOP_TIMEOUT", 1);
|
||||||
|
@ -593,7 +648,8 @@ public class OpenViduProTestAppE2eTest extends AbstractOpenViduTestappE2eTest {
|
||||||
this.connectTwoUsers(user, restClient, false, true, BROADCAST_IP);
|
this.connectTwoUsers(user, restClient, false, true, BROADCAST_IP);
|
||||||
user.getDriver().findElement(By.cssSelector("#openvidu-instance-0 .leave-btn")).click();
|
user.getDriver().findElement(By.cssSelector("#openvidu-instance-0 .leave-btn")).click();
|
||||||
user.getDriver().findElement(By.cssSelector("#openvidu-instance-1 .leave-btn")).click();
|
user.getDriver().findElement(By.cssSelector("#openvidu-instance-1 .leave-btn")).click();
|
||||||
// webrtcConnectionDestroyed event is only triggered when participant left in v2Compatibility
|
// webrtcConnectionDestroyed event is only triggered when participant left in
|
||||||
|
// v2Compatibility
|
||||||
for (int i = 0; i < 2; i++) {
|
for (int i = 0; i < 2; i++) {
|
||||||
Assertions.assertEquals("unpublish", // reason is always "unpublish" in v2Compatibility
|
Assertions.assertEquals("unpublish", // reason is always "unpublish" in v2Compatibility
|
||||||
CustomWebhook.waitForEvent("webrtcConnectionDestroyed", 30).get("reason").getAsString());
|
CustomWebhook.waitForEvent("webrtcConnectionDestroyed", 30).get("reason").getAsString());
|
||||||
|
@ -603,13 +659,17 @@ public class OpenViduProTestAppE2eTest extends AbstractOpenViduTestappE2eTest {
|
||||||
CustomWebhook.waitForEvent("participantLeft", 30).get("reason").getAsString());
|
CustomWebhook.waitForEvent("participantLeft", 30).get("reason").getAsString());
|
||||||
}
|
}
|
||||||
for (int i = 0; i < 2; i++) {
|
for (int i = 0; i < 2; i++) {
|
||||||
Assertions.assertEquals("recordingStoppedByServer", // reason is always "recordingStoppedByServer" in v2Compatibility
|
Assertions.assertEquals("recordingStoppedByServer", // reason is always "recordingStoppedByServer"
|
||||||
|
// in v2Compatibility
|
||||||
CustomWebhook.waitForEvent("recordingStatusChanged", 30).get("reason").getAsString());
|
CustomWebhook.waitForEvent("recordingStatusChanged", 30).get("reason").getAsString());
|
||||||
}
|
}
|
||||||
// broadcastStopped does not exist in the official OpenVidu docs and v2Compatibility does not trigger it
|
// broadcastStopped does not exist in the official OpenVidu docs and
|
||||||
|
// v2Compatibility does not trigger it
|
||||||
// Assertions.assertEquals("lastParticipantLeft",
|
// Assertions.assertEquals("lastParticipantLeft",
|
||||||
// CustomWebhook.waitForEvent("broadcastStopped", 2).get("reason").getAsString());
|
// CustomWebhook.waitForEvent("broadcastStopped",
|
||||||
Assertions.assertEquals("sessionClosedByServer", // reason is always "sessionClosedByServer" in v2Compatibility
|
// 2).get("reason").getAsString());
|
||||||
|
Assertions.assertEquals("sessionClosedByServer", // reason is always "sessionClosedByServer" in
|
||||||
|
// v2Compatibility
|
||||||
CustomWebhook.waitForEvent("sessionDestroyed", 30).get("reason").getAsString());
|
CustomWebhook.waitForEvent("sessionDestroyed", 30).get("reason").getAsString());
|
||||||
CustomWebhook.events.values().forEach(collection -> Assertions.assertTrue(collection.isEmpty()));
|
CustomWebhook.events.values().forEach(collection -> Assertions.assertTrue(collection.isEmpty()));
|
||||||
|
|
||||||
|
@ -634,9 +694,11 @@ public class OpenViduProTestAppE2eTest extends AbstractOpenViduTestappE2eTest {
|
||||||
this.connectTwoUsers(user, restClient, false, true, BROADCAST_IP);
|
this.connectTwoUsers(user, restClient, false, true, BROADCAST_IP);
|
||||||
restClient.rest(HttpMethod.POST, "/openvidu/api/broadcast/stop", "{'session':'TestSession'}",
|
restClient.rest(HttpMethod.POST, "/openvidu/api/broadcast/stop", "{'session':'TestSession'}",
|
||||||
HttpURLConnection.HTTP_OK);
|
HttpURLConnection.HTTP_OK);
|
||||||
// broadcastStopped does not exist in the official OpenVidu docs and v2Compatibility does not trigger it
|
// broadcastStopped does not exist in the official OpenVidu docs and
|
||||||
|
// v2Compatibility does not trigger it
|
||||||
// Assertions.assertEquals("broadcastStoppedByServer",
|
// Assertions.assertEquals("broadcastStoppedByServer",
|
||||||
// CustomWebhook.waitForEvent("broadcastStopped", 5).get("reason").getAsString());
|
// CustomWebhook.waitForEvent("broadcastStopped",
|
||||||
|
// 5).get("reason").getAsString());
|
||||||
CustomWebhook.events.values().forEach(collection -> Assertions.assertTrue(collection.isEmpty()));
|
CustomWebhook.events.values().forEach(collection -> Assertions.assertTrue(collection.isEmpty()));
|
||||||
|
|
||||||
} finally {
|
} finally {
|
||||||
|
@ -659,6 +721,7 @@ public class OpenViduProTestAppE2eTest extends AbstractOpenViduTestappE2eTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@Timeout(1200)
|
||||||
@DisplayName("Individual dynamic record")
|
@DisplayName("Individual dynamic record")
|
||||||
void individualDynamicRecordTest() throws Exception {
|
void individualDynamicRecordTest() throws Exception {
|
||||||
|
|
||||||
|
@ -666,8 +729,9 @@ public class OpenViduProTestAppE2eTest extends AbstractOpenViduTestappE2eTest {
|
||||||
|
|
||||||
log.info("Individual dynamic record");
|
log.info("Individual dynamic record");
|
||||||
|
|
||||||
// Map<String, Object> config = Map.of("OPENVIDU_PRO_NETWORK_QUALITY", false, "OPENVIDU_PRO_SPEECH_TO_TEXT",
|
// Map<String, Object> config = Map.of("OPENVIDU_PRO_NETWORK_QUALITY", false,
|
||||||
// "disabled");
|
// "OPENVIDU_PRO_SPEECH_TO_TEXT",
|
||||||
|
// "disabled");
|
||||||
// restartOpenViduServer(config);
|
// restartOpenViduServer(config);
|
||||||
|
|
||||||
OpenViduTestappUser user = setupBrowserAndConnectToOpenViduTestapp("chrome");
|
OpenViduTestappUser user = setupBrowserAndConnectToOpenViduTestapp("chrome");
|
||||||
|
@ -746,7 +810,7 @@ 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(3000);
|
Thread.sleep(3000);
|
||||||
|
|
||||||
restClient.rest(HttpMethod.PATCH, "/openvidu/api/sessions/" + sessionName + "/connection/" + connectionId2,
|
restClient.rest(HttpMethod.PATCH, "/openvidu/api/sessions/" + sessionName + "/connection/" + connectionId2,
|
||||||
"{'record':false}", HttpURLConnection.HTTP_OK);
|
"{'record':false}", HttpURLConnection.HTTP_OK);
|
||||||
|
@ -776,7 +840,8 @@ public class OpenViduProTestAppE2eTest extends AbstractOpenViduTestappE2eTest {
|
||||||
String recPath = "/opt/openvidu/recordings/" + sessionName + "/";
|
String recPath = "/opt/openvidu/recordings/" + 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", "h264", true);
|
// this.recordingUtils.checkIndividualRecording(recPath, recording, 4, "aac",
|
||||||
|
// "h264", true);
|
||||||
|
|
||||||
// Analyze INDIVIDUAL recording metadata
|
// Analyze INDIVIDUAL recording metadata
|
||||||
new Unzipper().unzipFile(recPath, recording.getName() + ".zip");
|
new Unzipper().unzipFile(recPath, recording.getName() + ".zip");
|
||||||
|
@ -798,17 +863,21 @@ public class OpenViduProTestAppE2eTest extends AbstractOpenViduTestappE2eTest {
|
||||||
// Normal recorded user
|
// Normal recorded user
|
||||||
Assertions.assertEquals(connectionId1[0], file.get("connectionId").getAsString(),
|
Assertions.assertEquals(connectionId1[0], file.get("connectionId").getAsString(),
|
||||||
"Wrong connectionId file metadata property");
|
"Wrong connectionId file metadata property");
|
||||||
// long msDuration = file.get("endTimeOffset").getAsLong() - file.get("startTimeOffset").getAsLong();
|
// long msDuration = file.get("endTimeOffset").getAsLong() -
|
||||||
|
// file.get("startTimeOffset").getAsLong();
|
||||||
// Assertions.assertTrue(msDuration - 8000 < 750,
|
// Assertions.assertTrue(msDuration - 8000 < 750,
|
||||||
// "Wrong recording duration of individual file. Difference: " + (msDuration - 8000));
|
// "Wrong recording duration of individual file. Difference: " + (msDuration -
|
||||||
|
// 8000));
|
||||||
count1++;
|
count1++;
|
||||||
} else if (fileStreamId.equals(streamId2)) {
|
} else if (fileStreamId.equals(streamId2)) {
|
||||||
// Dynamically recorded user
|
// Dynamically recorded user
|
||||||
Assertions.assertEquals(connectionId2, file.get("connectionId").getAsString(),
|
Assertions.assertEquals(connectionId2, file.get("connectionId").getAsString(),
|
||||||
"Wrong connectionId file metadata property");
|
"Wrong connectionId file metadata property");
|
||||||
// long msDuration = file.get("endTimeOffset").getAsLong() - file.get("startTimeOffset").getAsLong();
|
// long msDuration = file.get("endTimeOffset").getAsLong() -
|
||||||
|
// file.get("startTimeOffset").getAsLong();
|
||||||
// Assertions.assertTrue(Math.abs(msDuration - 1000) < 150,
|
// Assertions.assertTrue(Math.abs(msDuration - 1000) < 150,
|
||||||
// "Wrong recording duration of individual file. Difference: " + Math.abs(msDuration - 1000));
|
// "Wrong recording duration of individual file. Difference: " +
|
||||||
|
// Math.abs(msDuration - 1000));
|
||||||
|
|
||||||
String fileName = file.get("name").getAsString();
|
String fileName = file.get("name").getAsString();
|
||||||
|
|
||||||
|
@ -835,7 +904,8 @@ public class OpenViduProTestAppE2eTest extends AbstractOpenViduTestappE2eTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@Disabled // Disabled until we fix the token permissions update without having participant connected to room
|
@Disabled // Disabled until we fix the token permissions update without having participant
|
||||||
|
// connected to room
|
||||||
@DisplayName("REST API PRO test")
|
@DisplayName("REST API PRO test")
|
||||||
void restApiProTest() throws Exception {
|
void restApiProTest() throws Exception {
|
||||||
|
|
||||||
|
@ -1123,13 +1193,15 @@ public class OpenViduProTestAppE2eTest extends AbstractOpenViduTestappE2eTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@Timeout(1200)
|
||||||
@DisplayName("openvidu-java-client PRO test")
|
@DisplayName("openvidu-java-client PRO test")
|
||||||
void openViduJavaClientProTest() throws Exception {
|
void openViduJavaClientProTest() throws Exception {
|
||||||
|
|
||||||
log.info("openvidu-java-client PRO test");
|
log.info("openvidu-java-client PRO test");
|
||||||
|
|
||||||
// Map<String, Object> config = Map.of("OPENVIDU_PRO_NETWORK_QUALITY", false, "OPENVIDU_PRO_SPEECH_TO_TEXT",
|
// Map<String, Object> config = Map.of("OPENVIDU_PRO_NETWORK_QUALITY", false,
|
||||||
// "disabled");
|
// "OPENVIDU_PRO_SPEECH_TO_TEXT",
|
||||||
|
// "disabled");
|
||||||
// restartOpenViduServer(config);
|
// restartOpenViduServer(config);
|
||||||
|
|
||||||
// Create default Connection
|
// Create default Connection
|
||||||
|
@ -1227,6 +1299,7 @@ public class OpenViduProTestAppE2eTest extends AbstractOpenViduTestappE2eTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@Timeout(1200)
|
||||||
@DisplayName("Network quality test")
|
@DisplayName("Network quality test")
|
||||||
void networkQualityTest() throws Exception {
|
void networkQualityTest() throws Exception {
|
||||||
|
|
||||||
|
@ -1302,6 +1375,7 @@ public class OpenViduProTestAppE2eTest extends AbstractOpenViduTestappE2eTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@Timeout(1200)
|
||||||
@DisplayName("Virtual Background test")
|
@DisplayName("Virtual Background test")
|
||||||
void virtualBackgroundTest() throws Exception {
|
void virtualBackgroundTest() throws Exception {
|
||||||
|
|
||||||
|
@ -1386,7 +1460,8 @@ public class OpenViduProTestAppE2eTest extends AbstractOpenViduTestappE2eTest {
|
||||||
|
|
||||||
filterOptionsInput = user.getDriver().findElement(By.id("filter-options-field"));
|
filterOptionsInput = user.getDriver().findElement(By.id("filter-options-field"));
|
||||||
filterOptionsInput.clear();
|
filterOptionsInput.clear();
|
||||||
filterOptionsInput.sendKeys("{\"url\": \"https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/Solid_red.svg/1024px-Solid_red.svg.png\"}");
|
filterOptionsInput.sendKeys(
|
||||||
|
"{\"url\": \"https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/Solid_red.svg/1024px-Solid_red.svg.png\"}");
|
||||||
user.getDriver().findElement(By.id("apply-filter-btn")).click();
|
user.getDriver().findElement(By.id("apply-filter-btn")).click();
|
||||||
user.getWaiter().until(
|
user.getWaiter().until(
|
||||||
ExpectedConditions.attributeContains(By.id("operation-response-text-area"), "value", "Filter applied"));
|
ExpectedConditions.attributeContains(By.id("operation-response-text-area"), "value", "Filter applied"));
|
||||||
|
@ -1423,7 +1498,8 @@ public class OpenViduProTestAppE2eTest extends AbstractOpenViduTestappE2eTest {
|
||||||
|
|
||||||
// Blue
|
// Blue
|
||||||
filterParamsInput.clear();
|
filterParamsInput.clear();
|
||||||
filterParamsInput.sendKeys("{\"url\": \"https://png.pngtree.com/thumb_back/fw800/background/20210207/pngtree-blue-pure-color-simple-background-image_557085.jpg\"}");
|
filterParamsInput.sendKeys(
|
||||||
|
"{\"url\": \"https://png.pngtree.com/thumb_back/fw800/background/20210207/pngtree-blue-pure-color-simple-background-image_557085.jpg\"}");
|
||||||
user.getDriver().findElement(By.id("exec-filter-btn")).click();
|
user.getDriver().findElement(By.id("exec-filter-btn")).click();
|
||||||
user.getWaiter().until(ExpectedConditions.attributeContains(By.id("operation-response-text-area"), "value",
|
user.getWaiter().until(ExpectedConditions.attributeContains(By.id("operation-response-text-area"), "value",
|
||||||
"Filter method executed"));
|
"Filter method executed"));
|
||||||
|
@ -2927,6 +3003,7 @@ public class OpenViduProTestAppE2eTest extends AbstractOpenViduTestappE2eTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@Timeout(1200)
|
||||||
@DisplayName("Successfull broadcast Test")
|
@DisplayName("Successfull broadcast Test")
|
||||||
void sucessfullBroadcastTest() throws Exception {
|
void sucessfullBroadcastTest() throws Exception {
|
||||||
|
|
||||||
|
@ -2990,6 +3067,7 @@ public class OpenViduProTestAppE2eTest extends AbstractOpenViduTestappE2eTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@Timeout(1200)
|
||||||
@DisplayName("Successfull only video only audio broadcast Test")
|
@DisplayName("Successfull only video only audio broadcast Test")
|
||||||
void sucessfullBroadcastOnlyVideoOnlyAudioTest() throws Exception {
|
void sucessfullBroadcastOnlyVideoOnlyAudioTest() throws Exception {
|
||||||
|
|
||||||
|
@ -3051,6 +3129,7 @@ public class OpenViduProTestAppE2eTest extends AbstractOpenViduTestappE2eTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@Timeout(1200)
|
||||||
@DisplayName("Wrong broadcast Test")
|
@DisplayName("Wrong broadcast Test")
|
||||||
void wrongBroadcastTest() throws Exception {
|
void wrongBroadcastTest() throws Exception {
|
||||||
|
|
||||||
|
@ -3185,6 +3264,7 @@ public class OpenViduProTestAppE2eTest extends AbstractOpenViduTestappE2eTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@Timeout(1200)
|
||||||
@DisplayName("Custom layout broadcast Test")
|
@DisplayName("Custom layout broadcast Test")
|
||||||
void customLayoutBroadcastTest() throws Exception {
|
void customLayoutBroadcastTest() throws Exception {
|
||||||
|
|
||||||
|
@ -3649,7 +3729,8 @@ public class OpenViduProTestAppE2eTest extends AbstractOpenViduTestappE2eTest {
|
||||||
"{'session':'TestSession','broadcastUrl':'rtmp://" + broadcastIp + "/live'}",
|
"{'session':'TestSession','broadcastUrl':'rtmp://" + broadcastIp + "/live'}",
|
||||||
HttpURLConnection.HTTP_OK);
|
HttpURLConnection.HTTP_OK);
|
||||||
user.getEventManager().waitUntilEventReaches("broadcastStarted", 2);
|
user.getEventManager().waitUntilEventReaches("broadcastStarted", 2);
|
||||||
// broadcastStarted does not exist in the official OpenVidu docs and v2Compatibility does not trigger it
|
// broadcastStarted does not exist in the official OpenVidu docs and
|
||||||
|
// v2Compatibility does not trigger it
|
||||||
// CustomWebhook.waitForEvent("broadcastStarted", 3);
|
// CustomWebhook.waitForEvent("broadcastStarted", 3);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -65,6 +65,7 @@ import org.junit.jupiter.api.Disabled;
|
||||||
import org.junit.jupiter.api.DisplayName;
|
import org.junit.jupiter.api.DisplayName;
|
||||||
import org.junit.jupiter.api.Tag;
|
import org.junit.jupiter.api.Tag;
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
|
import org.junit.jupiter.api.Timeout;
|
||||||
import org.junit.jupiter.api.extension.ExtendWith;
|
import org.junit.jupiter.api.extension.ExtendWith;
|
||||||
import org.openqa.selenium.Alert;
|
import org.openqa.selenium.Alert;
|
||||||
import org.openqa.selenium.By;
|
import org.openqa.selenium.By;
|
||||||
|
@ -140,6 +141,7 @@ public class OpenViduTestAppE2eTest extends AbstractOpenViduTestappE2eTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@Timeout(1200)
|
||||||
@DisplayName("One2One Chrome")
|
@DisplayName("One2One Chrome")
|
||||||
void oneToOneChrome() throws Exception {
|
void oneToOneChrome() throws Exception {
|
||||||
OpenViduTestappUser user = setupBrowserAndConnectToOpenViduTestapp("chrome");
|
OpenViduTestappUser user = setupBrowserAndConnectToOpenViduTestapp("chrome");
|
||||||
|
@ -148,6 +150,7 @@ public class OpenViduTestAppE2eTest extends AbstractOpenViduTestappE2eTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@Timeout(1200)
|
||||||
@DisplayName("One2One Firefox")
|
@DisplayName("One2One Firefox")
|
||||||
void oneToOneFirefox() throws Exception {
|
void oneToOneFirefox() throws Exception {
|
||||||
OpenViduTestappUser user = setupBrowserAndConnectToOpenViduTestapp("firefox");
|
OpenViduTestappUser user = setupBrowserAndConnectToOpenViduTestapp("firefox");
|
||||||
|
@ -156,6 +159,7 @@ public class OpenViduTestAppE2eTest extends AbstractOpenViduTestappE2eTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@Timeout(1200)
|
||||||
@DisplayName("One2One Edge")
|
@DisplayName("One2One Edge")
|
||||||
void oneToOneEdge() throws Exception {
|
void oneToOneEdge() throws Exception {
|
||||||
OpenViduTestappUser user = setupBrowserAndConnectToOpenViduTestapp("edge");
|
OpenViduTestappUser user = setupBrowserAndConnectToOpenViduTestapp("edge");
|
||||||
|
@ -179,6 +183,7 @@ public class OpenViduTestAppE2eTest extends AbstractOpenViduTestappE2eTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@Timeout(1200)
|
||||||
@DisplayName("One2One only audio")
|
@DisplayName("One2One only audio")
|
||||||
void oneToOneOnlyAudioSession() throws Exception {
|
void oneToOneOnlyAudioSession() throws Exception {
|
||||||
|
|
||||||
|
@ -206,6 +211,7 @@ public class OpenViduTestAppE2eTest extends AbstractOpenViduTestappE2eTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@Timeout(1200)
|
||||||
@DisplayName("One2One only video")
|
@DisplayName("One2One only video")
|
||||||
void oneToOneOnlyVideoSession() throws Exception {
|
void oneToOneOnlyVideoSession() throws Exception {
|
||||||
|
|
||||||
|
@ -233,6 +239,7 @@ public class OpenViduTestAppE2eTest extends AbstractOpenViduTestappE2eTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@Timeout(1200)
|
||||||
@DisplayName("One2Many [Video + Audio]")
|
@DisplayName("One2Many [Video + Audio]")
|
||||||
void oneToManyVideoAudioSession() throws Exception {
|
void oneToManyVideoAudioSession() throws Exception {
|
||||||
|
|
||||||
|
@ -346,6 +353,7 @@ public class OpenViduTestAppE2eTest extends AbstractOpenViduTestappE2eTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@Timeout(1200)
|
||||||
@DisplayName("Many2Many [Video + Audio]")
|
@DisplayName("Many2Many [Video + Audio]")
|
||||||
void manyToManyVideoAudioSession() throws Exception {
|
void manyToManyVideoAudioSession() throws Exception {
|
||||||
|
|
||||||
|
@ -378,6 +386,7 @@ public class OpenViduTestAppE2eTest extends AbstractOpenViduTestappE2eTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@Timeout(1200)
|
||||||
@DisplayName("Massive session")
|
@DisplayName("Massive session")
|
||||||
void massiveSessionTest() throws Exception {
|
void massiveSessionTest() throws Exception {
|
||||||
isKurentoRestartTest = true;
|
isKurentoRestartTest = true;
|
||||||
|
@ -423,6 +432,7 @@ public class OpenViduTestAppE2eTest extends AbstractOpenViduTestappE2eTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@Timeout(1200)
|
||||||
@DisplayName("Cross-Browser test")
|
@DisplayName("Cross-Browser test")
|
||||||
void crossBrowserTest() throws Exception {
|
void crossBrowserTest() throws Exception {
|
||||||
|
|
||||||
|
@ -529,6 +539,7 @@ public class OpenViduTestAppE2eTest extends AbstractOpenViduTestappE2eTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@Timeout(1200)
|
||||||
@DisplayName("Signal message")
|
@DisplayName("Signal message")
|
||||||
void oneToManySignalMessage() throws Exception {
|
void oneToManySignalMessage() throws Exception {
|
||||||
|
|
||||||
|
@ -552,6 +563,7 @@ public class OpenViduTestAppE2eTest extends AbstractOpenViduTestappE2eTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@Timeout(1200)
|
||||||
@DisplayName("ExceptionEvent test")
|
@DisplayName("ExceptionEvent test")
|
||||||
void exceptionEventTest() throws Exception {
|
void exceptionEventTest() throws Exception {
|
||||||
|
|
||||||
|
@ -587,6 +599,7 @@ public class OpenViduTestAppE2eTest extends AbstractOpenViduTestappE2eTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@Timeout(1200)
|
||||||
@DisplayName("Subscribe Unsubscribe")
|
@DisplayName("Subscribe Unsubscribe")
|
||||||
void subscribeUnsubscribeTest() throws Exception {
|
void subscribeUnsubscribeTest() throws Exception {
|
||||||
|
|
||||||
|
@ -657,6 +670,7 @@ public class OpenViduTestAppE2eTest extends AbstractOpenViduTestappE2eTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@Timeout(1200)
|
||||||
@DisplayName("Publish Unpublish")
|
@DisplayName("Publish Unpublish")
|
||||||
void publishUnpublishTest() throws Exception {
|
void publishUnpublishTest() throws Exception {
|
||||||
|
|
||||||
|
@ -705,6 +719,7 @@ public class OpenViduTestAppE2eTest extends AbstractOpenViduTestappE2eTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@Timeout(1200)
|
||||||
@DisplayName("Receive VideoElementCreated event when subscriber initializes with target element")
|
@DisplayName("Receive VideoElementCreated event when subscriber initializes with target element")
|
||||||
void subscriberVideoElementCreatedTest() throws Exception {
|
void subscriberVideoElementCreatedTest() throws Exception {
|
||||||
|
|
||||||
|
@ -739,6 +754,7 @@ public class OpenViduTestAppE2eTest extends AbstractOpenViduTestappE2eTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@Timeout(1200)
|
||||||
@DisplayName("Verify that the session emits the streamCreated event when the publisher has only audio active.")
|
@DisplayName("Verify that the session emits the streamCreated event when the publisher has only audio active.")
|
||||||
void sessionStreamCreatedOnlyAudioTest() throws Exception {
|
void sessionStreamCreatedOnlyAudioTest() throws Exception {
|
||||||
|
|
||||||
|
@ -764,6 +780,7 @@ public class OpenViduTestAppE2eTest extends AbstractOpenViduTestappE2eTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@Timeout(1200)
|
||||||
@DisplayName("Verify that the session emits the streamCreated event when the publisher has only video active.")
|
@DisplayName("Verify that the session emits the streamCreated event when the publisher has only video active.")
|
||||||
void sessionStreamCreatedOnlyVideoTest() throws Exception {
|
void sessionStreamCreatedOnlyVideoTest() throws Exception {
|
||||||
|
|
||||||
|
@ -789,6 +806,7 @@ public class OpenViduTestAppE2eTest extends AbstractOpenViduTestappE2eTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@Timeout(1200)
|
||||||
@DisplayName("Verify that the session emits the streamPropertyChanged event when the publisher has only audio active and toggles (mutes/unmutes) it.")
|
@DisplayName("Verify that the session emits the streamPropertyChanged event when the publisher has only audio active and toggles (mutes/unmutes) it.")
|
||||||
void sessionStreamPropertyChangedOnlyAudioTest() throws Exception {
|
void sessionStreamPropertyChangedOnlyAudioTest() throws Exception {
|
||||||
|
|
||||||
|
@ -815,6 +833,7 @@ public class OpenViduTestAppE2eTest extends AbstractOpenViduTestappE2eTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@Timeout(1200)
|
||||||
@DisplayName("Verify that the session emits the streamPropertyChanged event when the publisher has only video active and toggles (enable/disable) it.")
|
@DisplayName("Verify that the session emits the streamPropertyChanged event when the publisher has only video active and toggles (enable/disable) it.")
|
||||||
void sessionStreamPropertyChangedOnlyVideoTest() throws Exception {
|
void sessionStreamPropertyChangedOnlyVideoTest() throws Exception {
|
||||||
|
|
||||||
|
@ -841,6 +860,7 @@ public class OpenViduTestAppE2eTest extends AbstractOpenViduTestappE2eTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@Timeout(1200)
|
||||||
@DisplayName("Verify that the webrtcConnectionCreated webhook is received when the publisher has only video active.")
|
@DisplayName("Verify that the webrtcConnectionCreated webhook is received when the publisher has only video active.")
|
||||||
void webrtcConnectionCreatedWebhookOnlyVideoTest() throws Exception {
|
void webrtcConnectionCreatedWebhookOnlyVideoTest() throws Exception {
|
||||||
|
|
||||||
|
@ -879,6 +899,7 @@ public class OpenViduTestAppE2eTest extends AbstractOpenViduTestappE2eTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@Timeout(1200)
|
||||||
@DisplayName("Verify that the webrtcConnectionCreated webhook is received when the publisher has only audio active.")
|
@DisplayName("Verify that the webrtcConnectionCreated webhook is received when the publisher has only audio active.")
|
||||||
void webrtcConnectionCreatedWebhookOnlyAudioTest() throws Exception {
|
void webrtcConnectionCreatedWebhookOnlyAudioTest() throws Exception {
|
||||||
|
|
||||||
|
@ -919,6 +940,7 @@ public class OpenViduTestAppE2eTest extends AbstractOpenViduTestappE2eTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@Timeout(1200)
|
||||||
@DisplayName("Verify that the webrtcConnectionDestroyed webhook is received when the publisher has only video active.")
|
@DisplayName("Verify that the webrtcConnectionDestroyed webhook is received when the publisher has only video active.")
|
||||||
void webrtcConnectionDestroyedWebhookOnlyVideoTest() throws Exception {
|
void webrtcConnectionDestroyedWebhookOnlyVideoTest() throws Exception {
|
||||||
|
|
||||||
|
@ -958,6 +980,7 @@ public class OpenViduTestAppE2eTest extends AbstractOpenViduTestappE2eTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@Timeout(1200)
|
||||||
@DisplayName("Verify that the webrtcConnectionDestroyed webhook is received when the publisher has only audio active.")
|
@DisplayName("Verify that the webrtcConnectionDestroyed webhook is received when the publisher has only audio active.")
|
||||||
void webrtcConnectionDestroyedWebhookOnlyAudioTest() throws Exception {
|
void webrtcConnectionDestroyedWebhookOnlyAudioTest() throws Exception {
|
||||||
|
|
||||||
|
@ -996,6 +1019,7 @@ public class OpenViduTestAppE2eTest extends AbstractOpenViduTestappE2eTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@Timeout(1200)
|
||||||
@DisplayName("Change publisher dynamically")
|
@DisplayName("Change publisher dynamically")
|
||||||
void changePublisherTest() throws Exception {
|
void changePublisherTest() throws Exception {
|
||||||
|
|
||||||
|
@ -1120,6 +1144,7 @@ public class OpenViduTestAppE2eTest extends AbstractOpenViduTestappE2eTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@Timeout(1200)
|
||||||
@DisplayName("Replace track")
|
@DisplayName("Replace track")
|
||||||
void replaceTrackTest() throws Exception {
|
void replaceTrackTest() throws Exception {
|
||||||
|
|
||||||
|
@ -1164,6 +1189,7 @@ public class OpenViduTestAppE2eTest extends AbstractOpenViduTestappE2eTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@Timeout(1200)
|
||||||
@DisplayName("Moderator capabilities")
|
@DisplayName("Moderator capabilities")
|
||||||
void moderatorCapabilitiesTest() throws Exception {
|
void moderatorCapabilitiesTest() throws Exception {
|
||||||
|
|
||||||
|
@ -1234,6 +1260,7 @@ public class OpenViduTestAppE2eTest extends AbstractOpenViduTestappE2eTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@Timeout(1200)
|
||||||
@DisplayName("Stream property changed event")
|
@DisplayName("Stream property changed event")
|
||||||
void streamPropertyChangedEventTest() throws Exception {
|
void streamPropertyChangedEventTest() throws Exception {
|
||||||
|
|
||||||
|
@ -1427,6 +1454,7 @@ public class OpenViduTestAppE2eTest extends AbstractOpenViduTestappE2eTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@Timeout(1200)
|
||||||
@DisplayName("Local browser record")
|
@DisplayName("Local browser record")
|
||||||
void localBrowserRecordTest() throws Exception {
|
void localBrowserRecordTest() throws Exception {
|
||||||
|
|
||||||
|
@ -1485,6 +1513,7 @@ public class OpenViduTestAppE2eTest extends AbstractOpenViduTestappE2eTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@Timeout(1200)
|
||||||
@DisplayName("Composed record")
|
@DisplayName("Composed record")
|
||||||
void composedRecordTest() throws Exception {
|
void composedRecordTest() throws Exception {
|
||||||
isRecordingTest = true;
|
isRecordingTest = true;
|
||||||
|
@ -1685,6 +1714,7 @@ public class OpenViduTestAppE2eTest extends AbstractOpenViduTestappE2eTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@Timeout(1200)
|
||||||
@DisplayName("Composed quick start record")
|
@DisplayName("Composed quick start record")
|
||||||
void composedQuickStartRecordTest() throws Exception {
|
void composedQuickStartRecordTest() throws Exception {
|
||||||
isRecordingTest = true;
|
isRecordingTest = true;
|
||||||
|
@ -1873,6 +1903,7 @@ public class OpenViduTestAppE2eTest extends AbstractOpenViduTestappE2eTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@Timeout(1200)
|
||||||
@DisplayName("Individual record")
|
@DisplayName("Individual record")
|
||||||
void individualRecordTest() throws Exception {
|
void individualRecordTest() throws Exception {
|
||||||
isRecordingTest = true;
|
isRecordingTest = true;
|
||||||
|
@ -1985,6 +2016,7 @@ public class OpenViduTestAppE2eTest extends AbstractOpenViduTestappE2eTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@Timeout(1200)
|
||||||
@DisplayName("Record cross-browser audio-only and video-only")
|
@DisplayName("Record cross-browser audio-only and video-only")
|
||||||
void audioOnlyVideoOnlyRecordTest() throws Exception {
|
void audioOnlyVideoOnlyRecordTest() throws Exception {
|
||||||
|
|
||||||
|
@ -2420,6 +2452,7 @@ public class OpenViduTestAppE2eTest extends AbstractOpenViduTestappE2eTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@Timeout(1200)
|
||||||
@DisplayName("REST API: Fetch all, fetch one, force disconnect, force unpublish, close session")
|
@DisplayName("REST API: Fetch all, fetch one, force disconnect, force unpublish, close session")
|
||||||
void restApiFetchForce() throws Exception {
|
void restApiFetchForce() throws Exception {
|
||||||
|
|
||||||
|
@ -2561,6 +2594,7 @@ public class OpenViduTestAppE2eTest extends AbstractOpenViduTestappE2eTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@Timeout(1200)
|
||||||
@DisplayName("openvidu-java-client custom HttpClient test")
|
@DisplayName("openvidu-java-client custom HttpClient test")
|
||||||
void openViduJavaClientCustomHttpClientTest() throws Exception {
|
void openViduJavaClientCustomHttpClientTest() throws Exception {
|
||||||
|
|
||||||
|
@ -2708,6 +2742,7 @@ public class OpenViduTestAppE2eTest extends AbstractOpenViduTestappE2eTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@Timeout(1200)
|
||||||
@DisplayName("openvidu-java-client test")
|
@DisplayName("openvidu-java-client test")
|
||||||
void openViduJavaClientTest() throws Exception {
|
void openViduJavaClientTest() throws Exception {
|
||||||
isRecordingTest = true;
|
isRecordingTest = true;
|
||||||
|
@ -3750,6 +3785,7 @@ public class OpenViduTestAppE2eTest extends AbstractOpenViduTestappE2eTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@Timeout(1200)
|
||||||
@DisplayName("Media server reconnect no active session test")
|
@DisplayName("Media server reconnect no active session test")
|
||||||
void mediaServerReconnectNoActiveSessionTest() throws Exception {
|
void mediaServerReconnectNoActiveSessionTest() throws Exception {
|
||||||
isKurentoRestartTest = true;
|
isKurentoRestartTest = true;
|
||||||
|
@ -4117,6 +4153,7 @@ public class OpenViduTestAppE2eTest extends AbstractOpenViduTestappE2eTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@Timeout(1200)
|
||||||
@DisplayName("Webhook test")
|
@DisplayName("Webhook test")
|
||||||
void webhookTest() throws Exception {
|
void webhookTest() throws Exception {
|
||||||
|
|
||||||
|
@ -4685,6 +4722,7 @@ public class OpenViduTestAppE2eTest extends AbstractOpenViduTestappE2eTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@Timeout(1200)
|
||||||
@DisplayName("OpenVidu SDK fetch test")
|
@DisplayName("OpenVidu SDK fetch test")
|
||||||
void openviduSdkFetchTest() throws Exception {
|
void openviduSdkFetchTest() throws Exception {
|
||||||
isRecordingTest = true;
|
isRecordingTest = true;
|
||||||
|
|
Loading…
Reference in New Issue