diff --git a/openvidu-test-e2e/src/main/java/io/openvidu/test/e2e/OpenViduEventManager.java b/openvidu-test-e2e/src/main/java/io/openvidu/test/e2e/OpenViduEventManager.java
index ea6a3246..4ebc175c 100644
--- a/openvidu-test-e2e/src/main/java/io/openvidu/test/e2e/OpenViduEventManager.java
+++ b/openvidu-test-e2e/src/main/java/io/openvidu/test/e2e/OpenViduEventManager.java
@@ -268,8 +268,9 @@ public class OpenViduEventManager {
private void emitEvents() {
while (!this.eventQueue.isEmpty()) {
- JsonObject event = this.eventQueue.poll();
- final String eventType = event.get("type").getAsString();
+ JsonObject userAndEvent = this.eventQueue.poll();
+ final JsonObject event = userAndEvent.get("event").getAsJsonObject();
+ final String eventType = event.get("type").getAsString();
log.info(eventType);
@@ -291,7 +292,8 @@ public class OpenViduEventManager {
String[] events = rawEvents.replaceFirst("^
", "").split("
");
for (String e : events) {
- JsonObject event = JsonParser.parseString(e).getAsJsonObject();
+ JsonObject userAndEvent = JsonParser.parseString(e).getAsJsonObject();
+ final JsonObject event = userAndEvent.get("event").getAsJsonObject();
final String eventType = event.get("type").getAsString();
this.eventQueue.add(event);
diff --git a/openvidu-test-e2e/src/main/java/io/openvidu/test/e2e/OpenViduTestE2e.java b/openvidu-test-e2e/src/main/java/io/openvidu/test/e2e/OpenViduTestE2e.java
index 5e9f20eb..e04c1964 100644
--- a/openvidu-test-e2e/src/main/java/io/openvidu/test/e2e/OpenViduTestE2e.java
+++ b/openvidu-test-e2e/src/main/java/io/openvidu/test/e2e/OpenViduTestE2e.java
@@ -24,6 +24,7 @@ import org.apache.commons.io.FileUtils;
import org.apache.http.HttpStatus;
import org.junit.Assert;
import org.junit.jupiter.api.AfterEach;
+import org.openqa.selenium.By;
import org.openqa.selenium.TakesScreenshot;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
@@ -686,4 +687,19 @@ public class OpenViduTestE2e {
}
}
+ protected void waitUntilUserHasEventsPresent(BrowserUser user, int numberOfUser, String eventType,
+ int numberOfEvents) {
+ user.getWaiter().until(d -> {
+ List elements = d.findElements(By.cssSelector("#openvidu-instance-" + numberOfUser
+ + " .mat-expansion-panel .mat-expansion-panel-header .mat-content"));
+ long numberOfEventsOfRequiredType = elements.stream().filter(e -> eventType.equals(e.getText().trim()))
+ .count();
+ if (numberOfEvents == numberOfEventsOfRequiredType) {
+ return true;
+ } else {
+ return null;
+ }
+ });
+ }
+
}
diff --git a/openvidu-testapp/src/app/components/openvidu-instance/openvidu-instance.component.ts b/openvidu-testapp/src/app/components/openvidu-instance/openvidu-instance.component.ts
index 10cae371..b4715822 100644
--- a/openvidu-testapp/src/app/components/openvidu-instance/openvidu-instance.component.ts
+++ b/openvidu-testapp/src/app/components/openvidu-instance/openvidu-instance.component.ts
@@ -298,7 +298,7 @@ export class OpenviduInstanceComponent implements OnInit, OnChanges, OnDestroy {
updateEventList(eventName: string, eventContent: string, event: Event) {
const eventInterface: OpenViduEvent = { eventName, eventContent, event };
this.events.push(eventInterface);
- this.testFeedService.pushNewEvent(event);
+ this.testFeedService.pushNewEvent({user: this.index, event});
}
toggleSubscribeTo(): void {
@@ -523,7 +523,16 @@ export class OpenviduInstanceComponent implements OnInit, OnChanges, OnDestroy {
}
if (this.sessionEvents.speechToTextMessage) {
this.session.on('speechToTextMessage', (event: SpeechToTextEvent) => {
- this.updateEventList('speechToTextMessage', event.connection.connectionId, event);
+ const displayedContent = {
+ connection: event.connection.connectionId,
+ text: event.text,
+ reason: event.reason,
+ lang: event.lang
+ }
+ this.updateEventList('speechToTextMessage', JSON.stringify(displayedContent), event);
+ if (event.reason === 'recognized') {
+ console.warn(event);
+ }
});
}
}
diff --git a/openvidu-testapp/src/app/components/test-scenarios/test-scenarios.component.ts b/openvidu-testapp/src/app/components/test-scenarios/test-scenarios.component.ts
index 9e6fc072..176a2432 100644
--- a/openvidu-testapp/src/app/components/test-scenarios/test-scenarios.component.ts
+++ b/openvidu-testapp/src/app/components/test-scenarios/test-scenarios.component.ts
@@ -108,7 +108,7 @@ export class TestScenariosComponent implements OnInit, OnDestroy {
this.eventsInfoSubscription = this.testFeedService.newLastEvent$.subscribe(
newEvent => {
- (window as any).myEvents += ('
' + JSON.stringify(newEvent));
+ (window as any).myEvents += ('
' + this.testFeedService.stringifyEventNoCircularDependencies(newEvent));
});
}
@@ -409,7 +409,7 @@ export class TestScenariosComponent implements OnInit, OnDestroy {
};
report.serverEvents = streamInRemoteInfo.events;
for (const ev of report.serverEvents) {
- ev.timestamp = Number(ev.timestamp) - report.startTime;
+ ev.timestamp = Number(ev.timestamp) - report.startTime;
}
});
diff --git a/openvidu-testapp/src/app/components/test-sessions/test-sessions.component.ts b/openvidu-testapp/src/app/components/test-sessions/test-sessions.component.ts
index 2a1f1388..9d0570da 100644
--- a/openvidu-testapp/src/app/components/test-sessions/test-sessions.component.ts
+++ b/openvidu-testapp/src/app/components/test-sessions/test-sessions.component.ts
@@ -4,8 +4,6 @@ import { OpenviduParamsService } from '../../services/openvidu-params.service';
import { TestFeedService } from '../../services/test-feed.service';
import { SessionConf } from '../openvidu-instance/openvidu-instance.component';
-var stringify = require('json-stringify-safe');
-
@Component({
selector: 'app-test-sessions',
templateUrl: './test-sessions.component.html',
@@ -41,7 +39,7 @@ export class TestSessionsComponent implements OnInit, OnDestroy {
this.eventsInfoSubscription = this.testFeedService.newLastEvent$.subscribe(
newEvent => {
- (window as any).myEvents += ('
' + this.stringifyEventNoCircularDependencies(newEvent));
+ (window as any).myEvents += ('
' + this.testFeedService.stringifyEventNoCircularDependencies(newEvent));
});
}
@@ -103,15 +101,4 @@ export class TestSessionsComponent implements OnInit, OnDestroy {
this.loadSubs(subs);
}
- stringifyEventNoCircularDependencies(event: Event): string {
- return stringify(event, (key, value) => {
- // Remove unnecessary properties
- if (key == 'ee' || key == 'openvidu' || key == 'userHandlerArrowHandler' || key == 'handlers') {
- return
- } else {
- return value;
- }
- });
- }
-
}
diff --git a/openvidu-testapp/src/app/services/test-feed.service.ts b/openvidu-testapp/src/app/services/test-feed.service.ts
index 7579547a..51850aeb 100644
--- a/openvidu-testapp/src/app/services/test-feed.service.ts
+++ b/openvidu-testapp/src/app/services/test-feed.service.ts
@@ -3,10 +3,12 @@ import { Subject } from 'rxjs';
import { Event } from 'openvidu-browser';
+var stringify = require('json-stringify-safe');
+
@Injectable()
export class TestFeedService {
- lastEvent: Event;
+ lastEvent: { user: number, event: Event };
newLastEvent$ = new Subject();
constructor() { }
@@ -15,9 +17,20 @@ export class TestFeedService {
return this.lastEvent;
}
- pushNewEvent(event: Event) {
- this.lastEvent = event;
+ pushNewEvent({ user: number, event: Event }) {
+ this.lastEvent = { user: number, event: Event };
this.newLastEvent$.next(this.lastEvent);
}
+ stringifyEventNoCircularDependencies(event: Event): string {
+ return stringify(event, (key, value) => {
+ // Remove unnecessary properties
+ if (key == 'ee' || key == 'openvidu' || key == 'userHandlerArrowHandler' || key == 'handlers') {
+ return
+ } else {
+ return value;
+ }
+ });
+ }
+
}