Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(9)

Side by Side Diff: third_party/WebKit/LayoutTests/fast/mediastream/RTCPeerConnection-generateCertificate.html

Issue 2097563002: Split the mediastream module in Blink into mediastream and peerconnection (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Add DEPS file Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
2 <html>
3 <head>
4 <script src="../../resources/js-test.js"></script>
5 </head>
6 <body>
7 <script>
8 description("Tests RTCPeerConnection.generateCertificate RSA/ECDSA.");
9
10 // Constants
11 var minuteInMs = 60 * 1000;
12 var dayInMs = 24 * 60 * minuteInMs;
13
14 // Signature of the last generateCertificate call.
15 var generateCallString = null;
16 // Global certificate variables so that the "should..." methods can evaluate the m.
17 var certRSA = null;
18 var certECDSA = null;
19 var certExpiresNegativeOneDay = null;
20 var certExpiresZero = null;
21 var certExpiresPositiveOneDay = null;
22
23 // 1: RSA-2048 using public exponent = 65537.
24 function generate1RSA()
25 {
26 generateCallString = 'generateCertificate({ name: "RSASSA-PKCS1-v1_5", mod ulusLength: 2048, publicExponent: new Uint8Array([1, 0, 1]), hash: "SHA-256" })' ;
27 webkitRTCPeerConnection.generateCertificate({ name: "RSASSA-PKCS1-v1_5", mod ulusLength: 2048, publicExponent: new Uint8Array([1, 0, 1]), hash: "SHA-256" })
28 .then(generate1RSASuccessful, generate1RSAFailed);
29 }
30 function generate1RSASuccessful(certificate)
31 {
32 certRSA = certificate;
33 testPassed(generateCallString);
34 certificateSanityCheck('certRSA');
35 generate2ECDSA();
36 }
37 function generate1RSAFailed()
38 {
39 testFailed(generateCallString);
40 generate2ECDSA();
41 }
42
43 // 2: ECDSA using NIST P-256.
44 function generate2ECDSA()
45 {
46 generateCallString = 'generateCertificate({ name: "ECDSA", namedCurve: "P- 256" })';
47 webkitRTCPeerConnection.generateCertificate({ name: "ECDSA", namedCurve: "P- 256" })
48 .then(generate2ECDSASuccessful, generate2ECDSAFailed);
49 }
50 function generate2ECDSASuccessful(certificate)
51 {
52 certECDSA = certificate;
53 testPassed(generateCallString);
54 certificateSanityCheck('certECDSA');
55 generate3ExpiresNegativeOneDay();
56 }
57 function generate2ECDSAFailed()
58 {
59 testFailed(generateCallString);
60 generate3ExpiresNegativeOneDay();
61 }
62
63 // 3-5: Verify that the |expires| attribute works (generate ECDSA because its fa ster).
64 function generate3ExpiresNegativeOneDay()
65 {
66 generateCallString = 'generateCertificate({ name: "ECDSA", namedCurve: "P- 256", expires:-dayInMs })';
67 webkitRTCPeerConnection.generateCertificate({ name: "ECDSA", namedCurve: "P- 256", expires:-dayInMs })
68 .then(function(certificate) { certExpiresNegativeOneDay = certificate; g enerate4ExpiresZero(); }, generate4ExpiresZero);
69 }
70 function generate4ExpiresZero()
71 {
72 generateCallString = 'generateCertificate({ name: "ECDSA", namedCurve: "P- 256", expires:0 })';
73 webkitRTCPeerConnection.generateCertificate({ name: "ECDSA", namedCurve: "P- 256", expires:0 })
74 .then(function(certificate) { certExpiresZero = certificate; generate5Ex piresPositiveOneDay(); }, generate5ExpiresPositiveOneDay);
75 }
76 function generate5ExpiresPositiveOneDay()
77 {
78 generateCallString = 'generateCertificate({ name: "ECDSA", namedCurve: "P- 256", expires:dayInMs })'; // +1 day
79 webkitRTCPeerConnection.generateCertificate({ name: "ECDSA", namedCurve: "P- 256", expires:dayInMs })
80 .then(function(certificate) { certExpiresPositiveOneDay = certificate; g enerate3to5ExpiresResolved(); }, generate3to5ExpiresResolved);
81 }
82 function generate3to5ExpiresResolved()
83 {
84 // A negative |expires| value is not a DOMTimeStamp, it should be ignored an d
85 // generate a certificate that has not expired.
86 certificateSanityCheck('certExpiresNegativeOneDay');
87
88 // Check that the zero expiration certificate was generated but has expired.
89 shouldBeNonNull('certExpiresZero');
90 shouldBeTrue('new Date().getTime() >= certExpiresZero.expires');
91
92 // Check that the +1 day expiration certificate expires in approximately 1 d ay (+/- 1 minute).
93 shouldBeNonNull('certExpiresPositiveOneDay');
94 shouldBeTrue('Math.abs(certExpiresPositiveOneDay.expires - (new Date().getTi me() + dayInMs)) <= minuteInMs');
95
96 finishJSTest();
97 }
98
99 // Helper functions.
100 function certificateSanityCheck(certVariableName)
101 {
102 shouldBeNonNull(certVariableName);
103 shouldBeTrue('new Date().getTime() < ' + certVariableName + '.expires');
104 }
105
106 // Run each generate test sequentially. The ith generate method will make sure
107 // the (i+1)st generate method is executed when its promise's callbacks are
108 // invoked. generate2ECDSA's callback methods mark the end of the async tests.
109 generate1RSA();
110
111 window.jsTestIsAsync = true;
112 window.successfullyParsed = true;
113 </script>
114 </body>
115 </html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698