mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-08-21 03:43:16 +09:00
45 lines
1.8 KiB
JavaScript
45 lines
1.8 KiB
JavaScript
// Any copyright is dedicated to the Public Domain.
|
|
// http://creativecommons.org/publicdomain/zero/1.0/
|
|
"use strict";
|
|
|
|
// Tests the methods for interfacing with the PKCS #11 token database.
|
|
|
|
// Ensure that the appropriate initialization has happened.
|
|
do_get_profile();
|
|
|
|
function run_test() {
|
|
let tokenDB = Cc["@mozilla.org/security/pk11tokendb;1"]
|
|
.getService(Ci.nsIPK11TokenDB);
|
|
|
|
let tokenListPreLoad = tokenDB.listTokens();
|
|
while (tokenListPreLoad.hasMoreElements()) {
|
|
let token = tokenListPreLoad.getNext().QueryInterface(Ci.nsIPK11Token);
|
|
notEqual(token.tokenLabel, "Test PKCS11 Tokeñ Label",
|
|
"Test PKCS11 Token 1 should not be listed prior to module load");
|
|
notEqual(token.tokenLabel, "Test PKCS11 Tokeñ 2 Label",
|
|
"Test PKCS11 Token 2 should not be listed prior to module load");
|
|
}
|
|
|
|
throws(() => tokenDB.findTokenByName("Test PKCS11 Tokeñ Label"),
|
|
/NS_ERROR_FAILURE/,
|
|
"Non-present test token 1 should not be findable by name");
|
|
throws(() => tokenDB.findTokenByName("Test PKCS11 Tokeñ 2 Label"),
|
|
/NS_ERROR_FAILURE/,
|
|
"Non-present test token 2 should not be findable by name");
|
|
|
|
loadPKCS11TestModule(false);
|
|
|
|
// Test Token 1 is simulated to insert and remove itself in a tight loop, so
|
|
// we don't bother testing that it's present.
|
|
let tokenListPostLoad = tokenDB.listTokens();
|
|
let foundTokenNames = [];
|
|
while (tokenListPostLoad.hasMoreElements()) {
|
|
let token = tokenListPostLoad.getNext().QueryInterface(Ci.nsIPK11Token);
|
|
foundTokenNames.push(token.tokenName);
|
|
}
|
|
ok(foundTokenNames.includes("Test PKCS11 Tokeñ 2 Label"),
|
|
"Test PKCS11 Token 2 should be listed after module load");
|
|
|
|
notEqual(tokenDB.findTokenByName("Test PKCS11 Tokeñ 2 Label"), null,
|
|
"Test token 2 should be findable by name after loading test module");
|
|
}
|