diff options
Diffstat (limited to 'security/manager/ssl/tests/unit/test_client_auth_remember_service_read.js')
-rw-r--r-- | security/manager/ssl/tests/unit/test_client_auth_remember_service_read.js | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/security/manager/ssl/tests/unit/test_client_auth_remember_service_read.js b/security/manager/ssl/tests/unit/test_client_auth_remember_service_read.js new file mode 100644 index 0000000000..6238b1dfda --- /dev/null +++ b/security/manager/ssl/tests/unit/test_client_auth_remember_service_read.js @@ -0,0 +1,64 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +"use strict"; + +// This tests that the nsIClientAuthRememberService correctly reads its backing +// state file. + +function run_test() { + let profile = do_get_profile(); + let clientAuthRememberFile = do_get_file( + `test_client_auth_remember_service/${CLIENT_AUTH_FILE_NAME}` + ); + clientAuthRememberFile.copyTo(profile, CLIENT_AUTH_FILE_NAME); + + let clientAuthRememberService = Cc[ + "@mozilla.org/security/clientAuthRememberService;1" + ].getService(Ci.nsIClientAuthRememberService); + + let dbKey = {}; + ok( + clientAuthRememberService.hasRememberedDecisionScriptable( + "example.com", + {}, + dbKey + ) + ); + equal(dbKey.value, "AAAA"); + + dbKey = {}; + ok( + clientAuthRememberService.hasRememberedDecisionScriptable( + "example.com", + { partitionKey: "(https,example.com)" }, + dbKey + ) + ); + equal(dbKey.value, "BBBB"); + + ok( + !clientAuthRememberService.hasRememberedDecisionScriptable( + "example.org", + {}, + {} + ) + ); + ok( + !clientAuthRememberService.hasRememberedDecisionScriptable( + "example.com", + { partitionKey: "(https,example.org)" }, + {} + ) + ); + + dbKey = {}; + ok( + clientAuthRememberService.hasRememberedDecisionScriptable( + "example.test", + {}, + dbKey + ) + ); + equal(dbKey.value, "CCCC"); +} |