no bug - Import translations from android-l10n r=release a=l10n CLOSED TREE
[gecko.git] / security / manager / ssl / tests / unit / test_cert_storage_preexisting.js
blob8a757c199c4b7d8696b4e8811d907098454b3081
1 /* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
2 /* This Source Code Form is subject to the terms of the Mozilla Public
3  * License, v. 2.0. If a copy of the MPL was not distributed with this
4  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
5 "use strict";
7 // This file tests that cert_storage correctly persists its "has prior data"
8 // information across runs of the browser.
9 // (The test DB files for this test were created by running the test
10 // `test_cert_storage_broken_db.js` and copying them from that test's profile
11 // directory.)
13 /* eslint-disable no-unused-vars */
14 add_task(async function () {
15   let dbDirectory = do_get_profile();
16   dbDirectory.append("security_state");
17   let dbFile = do_get_file("test_cert_storage_preexisting/data.safe.bin");
18   dbFile.copyTo(dbDirectory, "data.safe.bin");
20   let certStorage = Cc["@mozilla.org/security/certstorage;1"].getService(
21     Ci.nsICertStorage
22   );
23   let hasPriorRevocationData = await new Promise(resolve => {
24     certStorage.hasPriorData(
25       Ci.nsICertStorage.DATA_TYPE_REVOCATION,
26       (rv, hasPriorData) => {
27         Assert.equal(rv, Cr.NS_OK, "hasPriorData should succeed");
28         resolve(hasPriorData);
29       }
30     );
31   });
32   Assert.equal(
33     hasPriorRevocationData,
34     true,
35     "should have prior revocation data"
36   );
38   let hasPriorCertData = await new Promise(resolve => {
39     certStorage.hasPriorData(
40       Ci.nsICertStorage.DATA_TYPE_CERTIFICATE,
41       (rv, hasPriorData) => {
42         Assert.equal(rv, Cr.NS_OK, "hasPriorData should succeed");
43         resolve(hasPriorData);
44       }
45     );
46   });
47   Assert.equal(hasPriorCertData, true, "should have prior cert data");
48 });