Title: [214690] trunk/LayoutTests
- Revision
- 214690
- Author
- [email protected]
- Date
- 2017-03-31 15:08:36 -0700 (Fri, 31 Mar 2017)
Log Message
Add a test to ensure webrtc generated certificates and names are ephemeral
https://bugs.webkit.org/show_bug.cgi?id=170225
Patch by Youenn Fablet <[email protected]> on 2017-03-31
Reviewed by Jon Lee.
* webrtc/ephemeral-certificates-and-cnames-expected.txt: Added.
* webrtc/ephemeral-certificates-and-cnames.html: Added.
Modified Paths
Added Paths
Diff
Modified: trunk/LayoutTests/ChangeLog (214689 => 214690)
--- trunk/LayoutTests/ChangeLog 2017-03-31 22:05:22 UTC (rev 214689)
+++ trunk/LayoutTests/ChangeLog 2017-03-31 22:08:36 UTC (rev 214690)
@@ -1,3 +1,13 @@
+2017-03-31 Youenn Fablet <[email protected]>
+
+ Add a test to ensure webrtc generated certificates and names are ephemeral
+ https://bugs.webkit.org/show_bug.cgi?id=170225
+
+ Reviewed by Jon Lee.
+
+ * webrtc/ephemeral-certificates-and-cnames-expected.txt: Added.
+ * webrtc/ephemeral-certificates-and-cnames.html: Added.
+
2017-03-31 Wenson Hsieh <[email protected]>
[WK2] Tapping editable text inside of a range selection no longer changes the selection to a caret
Added: trunk/LayoutTests/webrtc/ephemeral-certificates-and-cnames-expected.txt (0 => 214690)
--- trunk/LayoutTests/webrtc/ephemeral-certificates-and-cnames-expected.txt (rev 0)
+++ trunk/LayoutTests/webrtc/ephemeral-certificates-and-cnames-expected.txt 2017-03-31 22:08:36 UTC (rev 214690)
@@ -0,0 +1,3 @@
+
+PASS Ensuring certificates and cnames are ephemerals
+
Added: trunk/LayoutTests/webrtc/ephemeral-certificates-and-cnames.html (0 => 214690)
--- trunk/LayoutTests/webrtc/ephemeral-certificates-and-cnames.html (rev 0)
+++ trunk/LayoutTests/webrtc/ephemeral-certificates-and-cnames.html 2017-03-31 22:08:36 UTC (rev 214690)
@@ -0,0 +1,81 @@
+<!doctype html>
+<html>
+ <head>
+ <meta charset="utf-8">
+ <title>Testing basic video exchange from offerer to receiver</title>
+ <script src=""
+ <script src=""
+ </head>
+ <body>
+ <script src =""
+ <script>
+function fingerprintFromSDP(sdp)
+{
+ var fingerprint;
+ sdp.split("\r\n").forEach((line) => {
+ if (line.startsWith("a=fingerprint"))
+ fingerprint = line.substring(14);
+ });
+ return fingerprint;
+}
+
+function cnameFromSDP(sdp)
+{
+ var _expression_ = new RegExp("^a=ssrc:(\\d+) cname:([\\w+/\\-@\\.\\{\\}]+).*$");
+
+ var cname;
+ sdp.split("\r\n").forEach((line) => {
+ let match = line.match(_expression_);
+ if (match)
+ cname = match[2];
+ });
+ return cname;
+}
+
+promise_test((test) => {
+ if (window.testRunner)
+ testRunner.setUserMediaPermission(true);
+
+ var offerFingerprint, answerFingerprint;
+ var offerCName;
+ return navigator.mediaDevices.getUserMedia({ video: true, audio: true}).then((stream) => {
+ return new Promise((resolve, reject) => {
+ if (window.internals)
+ internals.useMockRTCPeerConnectionFactory("TwoRealPeerConnections");
+
+ createConnections((firstConnection) => {
+ firstConnection.addTrack(stream.getVideoTracks()[0], stream);
+ }, (secondConnection) => {
+ }, {observeOffer : (offer) => {
+ offerFingerprint = fingerprintFromSDP(offer.sdp);
+ offerCName = cnameFromSDP(offer.sdp);
+ }, observeAnswer: (answer) => {
+ answerFingerprint = fingerprintFromSDP(answer.sdp);
+ resolve();
+ }});
+ setTimeout(() => reject("Test timed out 1"), 2000);
+ });
+ }).then(() => {
+ return navigator.mediaDevices.getUserMedia({ video: true, audio: true}).then((stream) => {
+ return new Promise((resolve, reject) => {
+ if (window.internals)
+ internals.useMockRTCPeerConnectionFactory("TwoRealPeerConnections");
+
+ createConnections((firstConnection) => {
+ firstConnection.addTrack(stream.getVideoTracks()[0], stream);
+ }, (secondConnection) => {
+ }, {observeOffer : (offer) => {
+ assert_not_equals(fingerprintFromSDP(offer.sdp), offerFingerprint);
+ assert_not_equals(cnameFromSDP(offer.sdp), offerCName);
+ }, observeAnswer: (answer) => {
+ assert_not_equals(fingerprintFromSDP(answer.sdp), answerFingerprint);
+ resolve();
+ }});
+ setTimeout(() => reject("Test timed out 2"), 2000);
+ });
+ });
+ });
+}, "Ensuring certificates and cnames are ephemerals");
+ </script>
+ </body>
+</html>
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes