Add unittests for TLS TURN |
||||||
Issue descriptionBug 623463 broke TLS support in WebRTC and tests didn't catch this issue. Currently there are unittests for P2PSocketHostTcp that use TLS mode and such test would have caught that bug.
,
Jul 18 2016
This seems to need an integration test.
,
Jul 18 2016
phoglund@, Is there any existing test which we can adapt for this test?
,
Jul 19 2016
If it's enough with two peerconnections talking to each other in a page, our content_browsertest https://cs.chromium.org/chromium/src/content/browser/media/webrtc/webrtc_browsertest.cc?q=webrtc_browser&sq=package:chromium&l=1 is appropriate, otherwise extend browser_test https://cs.chromium.org/chromium/src/chrome/browser/media/webrtc_browsertest.cc?q=webrtc_browsert&sq=package:chromium&l=1 which runs a call between two Chrome tabs. None of our tests specify TURN servers though. You can't hit any real TURN servers since that would make the tests non-hermetic and flaky. Is there any easy way to bring up a TURN server on the machine running the test, and point the tests there? Or can you exercise this without going through a TURN server?
,
Jul 19 2016
We have the WebRTC test TURN server which could be run locally, but it doesn't support TLS-over-TCP. This also means the WebRTC unit tests don't test TLS TURN. I'd say we should add this support to the test TURN server and fix the WebRTC unit tests. Once that's done we can use the same TURN server for the Chrome integration tests. If you agree, you can assign the bug to me for the time being.
,
Jul 21 2016
Sounds like an excellent plan. Assign the bug back to ehmaldonado@ after you add TLS support to the test server, however, and he'll take a look. Edward, once Taylor (deadbeef) is done adding TLS support, you'll need to write a new browser test which launches the test TURN server locally. You can then pass in TURN servers in the peer connection constructor, I believe. We currently pass in null for all browser tests (see https://cs.chromium.org/chromium/src/content/test/data/media/peerconnection-call.html?q=peerconnection-ca&sq=package:chromium&dr&l=709), but you'll need to pass something like { "iceServers": [{ "url": "localhost:19302" }] } , depending on which port the local turn server came up at.
,
Apr 3 2018
Removing owner and setting status to Available, since the issue isn't currently being worked on. |
||||||
►
Sign in to add a comment |
||||||
Comment 1 by phoglund@chromium.org
, Jul 11 2016Labels: MissingTests