michael@0: /* Any copyright is dedicated to the Public Domain. michael@0: http://creativecommons.org/publicdomain/zero/1.0/ */ michael@0: michael@0: Cu.import("resource://services-sync/constants.js"); michael@0: Cu.import("resource://services-sync/service.js"); michael@0: Cu.import("resource://services-sync/util.js"); michael@0: Cu.import("resource://testing-common/services/sync/utils.js"); michael@0: michael@0: function run_test() { michael@0: try { michael@0: // Ensure we have a blank slate to start. michael@0: ensureLegacyIdentityManager(); michael@0: Services.logins.removeAllLogins(); michael@0: michael@0: setBasicCredentials("johndoe", "ilovejane", "abbbbbcccccdddddeeeeefffff"); michael@0: michael@0: _("Confirm initial environment is empty."); michael@0: let logins = Services.logins.findLogins({}, PWDMGR_HOST, null, michael@0: PWDMGR_PASSWORD_REALM); michael@0: do_check_eq(logins.length, 0); michael@0: logins = Services.logins.findLogins({}, PWDMGR_HOST, null, michael@0: PWDMGR_PASSPHRASE_REALM); michael@0: do_check_eq(logins.length, 0); michael@0: michael@0: _("Persist logins to the login service"); michael@0: Service.persistLogin(); michael@0: michael@0: _("The password has been persisted in the login service."); michael@0: logins = Services.logins.findLogins({}, PWDMGR_HOST, null, michael@0: PWDMGR_PASSWORD_REALM); michael@0: do_check_eq(logins.length, 1); michael@0: do_check_eq(logins[0].username, "johndoe"); michael@0: do_check_eq(logins[0].password, "ilovejane"); michael@0: michael@0: _("The passphrase has been persisted in the login service."); michael@0: logins = Services.logins.findLogins({}, PWDMGR_HOST, null, michael@0: PWDMGR_PASSPHRASE_REALM); michael@0: do_check_eq(logins.length, 1); michael@0: do_check_eq(logins[0].username, "johndoe"); michael@0: do_check_eq(logins[0].password, "abbbbbcccccdddddeeeeefffff"); michael@0: michael@0: } finally { michael@0: Svc.Prefs.resetBranch(""); michael@0: Services.logins.removeAllLogins(); michael@0: } michael@0: }