get_all_cookies.sub.https.html (6135B)
1 <!DOCTYPE html> 2 <meta charset="utf-8"> 3 <title>TestDriver get_all_cookies method in HTTPS</title> 4 <script src="/resources/testharness.js"></script> 5 <script src="/resources/testharnessreport.js"></script> 6 <script src="/resources/testdriver.js"></script> 7 <script src="/resources/testdriver-vendor.js"></script> 8 <script> 9 promise_test(async t => { 10 t.add_cleanup(test_driver.delete_all_cookies); 11 const kTenDaysFromNow = new Date(Date.now() + 10 * 24 * 60 * 60 * 1000); 12 document.cookie = "test0=0"; 13 document.cookie = `test1=1; Expires=${kTenDaysFromNow.toUTCString()}`; 14 document.cookie = "test2=2; Path=/"; 15 // document.cookie = "test3=3; HttpOnly"; This is set in the headers file. 16 document.cookie = "test4=4; Secure"; 17 document.cookie = "test5=5; SameSite=Strict"; 18 document.cookie = "test6=6; SameSite=None; Secure"; 19 document.cookie = "test7=7; SameSite=Lax"; 20 document.cookie = "test8=8; Secure; Partitioned; SameSite=None"; 21 const cookies = await test_driver.get_all_cookies(); 22 assert_equals(cookies.length, 9); 23 let cookieMap = new Map(); 24 for (const cookie of cookies) { 25 cookieMap.set(cookie["name"], cookie); 26 } 27 28 // test0 29 assert_equals(cookieMap.get("test0")["name"], "test0"); 30 assert_equals(cookieMap.get("test0")["value"], "0"); 31 assert_equals(cookieMap.get("test0")["path"], "/infrastructure/testdriver"); 32 assert_equals(cookieMap.get("test0")["domain"], "{{host}}"); 33 assert_equals(cookieMap.get("test0")["secure"], false); 34 assert_equals(cookieMap.get("test0")["httpOnly"], false); 35 assert_equals(cookieMap.get("test0")["expiry"], undefined); 36 // The 'default lax' behavior varies by browser. 37 // assert_equals(cookieMap.get("test0")["sameSite"], "Lax"); 38 39 // test1 [Expires in 10 days] 40 assert_equals(cookieMap.get("test1")["name"], "test1"); 41 assert_equals(cookieMap.get("test1")["value"], "1"); 42 assert_equals(cookieMap.get("test1")["path"], "/infrastructure/testdriver"); 43 assert_equals(cookieMap.get("test1")["domain"], "{{host}}"); 44 assert_equals(cookieMap.get("test1")["secure"], false); 45 assert_equals(cookieMap.get("test1")["httpOnly"], false); 46 assert_equals(cookieMap.get("test1")["expiry"], Math.floor(kTenDaysFromNow.getTime()/1000)); 47 // The 'default lax' behavior varies by browser. 48 // assert_equals(cookieMap.get("test0")["sameSite"], "Lax"); 49 50 // test2 [Path /] 51 assert_equals(cookieMap.get("test2")["name"], "test2"); 52 assert_equals(cookieMap.get("test2")["value"], "2"); 53 assert_equals(cookieMap.get("test2")["path"], "/"); 54 assert_equals(cookieMap.get("test2")["domain"], "{{host}}"); 55 assert_equals(cookieMap.get("test2")["secure"], false); 56 assert_equals(cookieMap.get("test2")["httpOnly"], false); 57 assert_equals(cookieMap.get("test2")["expiry"], undefined); 58 // The 'default lax' behavior varies by browser. 59 // assert_equals(cookieMap.get("test0")["sameSite"], "Lax"); 60 61 // test3 [HttpOnly] 62 assert_equals(cookieMap.get("test3")["name"], "test3"); 63 assert_equals(cookieMap.get("test3")["value"], "3"); 64 assert_equals(cookieMap.get("test3")["path"], "/infrastructure/testdriver"); 65 assert_equals(cookieMap.get("test3")["domain"], "{{host}}"); 66 assert_equals(cookieMap.get("test3")["secure"], false); 67 assert_equals(cookieMap.get("test3")["httpOnly"], true); 68 assert_equals(cookieMap.get("test3")["expiry"], undefined); 69 // The 'default lax' behavior varies by browser. 70 // assert_equals(cookieMap.get("test0")["sameSite"], "Lax"); 71 72 // test4 [Secure] 73 assert_equals(cookieMap.get("test4")["name"], "test4"); 74 assert_equals(cookieMap.get("test4")["value"], "4"); 75 assert_equals(cookieMap.get("test4")["path"], "/infrastructure/testdriver"); 76 assert_equals(cookieMap.get("test4")["domain"], "{{host}}"); 77 assert_equals(cookieMap.get("test4")["secure"], true); 78 assert_equals(cookieMap.get("test4")["httpOnly"], false); 79 assert_equals(cookieMap.get("test4")["expiry"], undefined); 80 // The 'default lax' behavior varies by browser. 81 // assert_equals(cookieMap.get("test0")["sameSite"], "Lax"); 82 83 // test5 [SameSite Strict] 84 assert_equals(cookieMap.get("test5")["name"], "test5"); 85 assert_equals(cookieMap.get("test5")["value"], "5"); 86 assert_equals(cookieMap.get("test5")["path"], "/infrastructure/testdriver"); 87 assert_equals(cookieMap.get("test5")["domain"], "{{host}}"); 88 assert_equals(cookieMap.get("test5")["secure"], false); 89 assert_equals(cookieMap.get("test5")["httpOnly"], false); 90 assert_equals(cookieMap.get("test5")["expiry"], undefined); 91 assert_equals(cookieMap.get("test5")["sameSite"], "Strict"); 92 93 // test6 [SameSite None] 94 assert_equals(cookieMap.get("test6")["name"], "test6"); 95 assert_equals(cookieMap.get("test6")["value"], "6"); 96 assert_equals(cookieMap.get("test6")["path"], "/infrastructure/testdriver"); 97 assert_equals(cookieMap.get("test6")["domain"], "{{host}}"); 98 assert_equals(cookieMap.get("test6")["secure"], true); 99 assert_equals(cookieMap.get("test6")["httpOnly"], false); 100 assert_equals(cookieMap.get("test6")["expiry"], undefined); 101 assert_equals(cookieMap.get("test6")["sameSite"], "None"); 102 103 // test7 [SameSite Lax] 104 assert_equals(cookieMap.get("test7")["name"], "test7"); 105 assert_equals(cookieMap.get("test7")["value"], "7"); 106 assert_equals(cookieMap.get("test7")["path"], "/infrastructure/testdriver"); 107 assert_equals(cookieMap.get("test7")["domain"], "{{host}}"); 108 assert_equals(cookieMap.get("test7")["secure"], false); 109 assert_equals(cookieMap.get("test7")["httpOnly"], false); 110 assert_equals(cookieMap.get("test7")["expiry"], undefined); 111 assert_equals(cookieMap.get("test7")["sameSite"], "Lax"); 112 113 // test8 [Partitioned] 114 assert_equals(cookieMap.get("test8")["name"], "test8"); 115 assert_equals(cookieMap.get("test8")["value"], "8"); 116 assert_equals(cookieMap.get("test8")["path"], "/infrastructure/testdriver"); 117 assert_equals(cookieMap.get("test8")["domain"], "{{host}}"); 118 assert_equals(cookieMap.get("test8")["secure"], true); 119 assert_equals(cookieMap.get("test8")["httpOnly"], false); 120 assert_equals(cookieMap.get("test8")["expiry"], undefined); 121 assert_equals(cookieMap.get("test8")["sameSite"], "None"); 122 }, "Get all HTTPS cookies"); 123 </script>