diff options
Diffstat (limited to 'comm/mailnews/compose/test/unit/test_smtpPassword2.js')
-rw-r--r-- | comm/mailnews/compose/test/unit/test_smtpPassword2.js | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/comm/mailnews/compose/test/unit/test_smtpPassword2.js b/comm/mailnews/compose/test/unit/test_smtpPassword2.js new file mode 100644 index 0000000000..a0445ad0a3 --- /dev/null +++ b/comm/mailnews/compose/test/unit/test_smtpPassword2.js @@ -0,0 +1,59 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/** + * Extra tests for SMTP passwords (forgetPassword) + */ + +/* import-globals-from ../../../test/resources/passwordStorage.js */ +load("../../../resources/passwordStorage.js"); + +var kUser1 = "testsmtp"; +var kUser2 = "testsmtpa"; +var kProtocol = "smtp"; +var kHostname = "localhost"; +var kServerUrl = kProtocol + "://" + kHostname; + +add_task(async function () { + // Prepare files for passwords (generated by a script in bug 1018624). + await setupForPassword("signons-mailnews1.8-multiple.json"); + + // Set up the basic accounts and folders. + localAccountUtils.loadLocalMailAccount(); + + var smtpServer1 = getBasicSmtpServer(); + var smtpServer2 = getBasicSmtpServer(); + + smtpServer1.authMethod = 3; + smtpServer1.username = kUser1; + smtpServer2.authMethod = 3; + smtpServer2.username = kUser2; + + // Test - Check there are two logins to begin with. + let logins = Services.logins.findLogins(kServerUrl, null, kServerUrl); + + Assert.equal(logins.length, 2); + + // These will either be one way around or the other. + if (logins[0].username == kUser1) { + Assert.equal(logins[1].username, kUser2); + } else { + Assert.equal(logins[0].username, kUser2); + Assert.equal(logins[1].username, kUser1); + } + + // Test - Remove a login via the incoming server + smtpServer1.forgetPassword(); + + logins = Services.logins.findLogins(kServerUrl, null, kServerUrl); + + // should be one login left for kUser2 + Assert.equal(logins.length, 1); + Assert.equal(logins[0].username, kUser2); + + // Test - Remove the other login via the incoming server + smtpServer2.forgetPassword(); + + logins = Services.logins.findLogins(kServerUrl, null, kServerUrl); + + // There should be no login left. + Assert.equal(logins.length, 0); +}); |