toolkit/components/passwordmgr/test/unit/test_top_loginmgr_1.js

changeset 0
6474c204b198
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/toolkit/components/passwordmgr/test/unit/test_top_loginmgr_1.js	Wed Dec 31 06:09:35 2014 +0100
     1.3 @@ -0,0 +1,141 @@
     1.4 +/*
     1.5 + * Unit tests for nsLoginManager.js
     1.6 + */
     1.7 +
     1.8 +
     1.9 +function run_test() {
    1.10 +
    1.11 +try {
    1.12 +
    1.13 +var testnum = 0;
    1.14 +var testdesc = "Setup of nsLoginInfo test-users";
    1.15 +var nsLoginInfo = new Components.Constructor(
    1.16 +                    "@mozilla.org/login-manager/loginInfo;1",
    1.17 +                    Components.interfaces.nsILoginInfo);
    1.18 +do_check_true(nsLoginInfo != null);
    1.19 +
    1.20 +var testuser1 = new nsLoginInfo;
    1.21 +
    1.22 +
    1.23 +/* ========== 1 ========== */
    1.24 +var testnum = 1;
    1.25 +var testdesc = "Initial connection to login manager"
    1.26 +
    1.27 +var loginmgr = Cc["@mozilla.org/login-manager;1"].
    1.28 +               createInstance(Ci.nsILoginManager);
    1.29 +if (!loginmgr)
    1.30 +    throw "Couldn't create loginmgr instance.";
    1.31 +
    1.32 +
    1.33 +/* ========== 2 ========== */
    1.34 +testnum++;
    1.35 +testdesc = "Force lazy init, check to ensure there is no existing data.";
    1.36 +loginmgr.removeAllLogins();
    1.37 +var hosts = loginmgr.getAllDisabledHosts();
    1.38 +hosts.forEach(function(h) loginmgr.setLoginSavingEnabled(h, true));
    1.39 +LoginTest.checkStorageData(loginmgr, [], []);
    1.40 +
    1.41 +
    1.42 +/* ========== 3 ========== */
    1.43 +testnum++;
    1.44 +testdesc = "Try adding invalid logins (host / user / pass checks)";
    1.45 +
    1.46 +function tryAddUser(module, aUser, aExpectedError) {
    1.47 +    var err = null;
    1.48 +    try {
    1.49 +        module.addLogin(aUser);
    1.50 +    } catch (e) {
    1.51 +        err = e; 
    1.52 +    }            
    1.53 +
    1.54 +    LoginTest.checkExpectedError(aExpectedError, err);
    1.55 +}
    1.56 +
    1.57 +testuser1.init(null, null, "Some Realm",
    1.58 +    "dummydude", "itsasecret", "put_user_here", "put_pw_here");
    1.59 +// null hostname
    1.60 +tryAddUser(loginmgr, testuser1, /null or empty hostname/);
    1.61 +LoginTest.checkStorageData(loginmgr, [], []);
    1.62 +
    1.63 +testuser1.hostname = "";
    1.64 +tryAddUser(loginmgr, testuser1, /null or empty hostname/);
    1.65 +LoginTest.checkStorageData(loginmgr, [], []);
    1.66 +
    1.67 +
    1.68 +testuser1.hostname = "http://dummyhost.mozilla.org";
    1.69 +testuser1.username = null;
    1.70 +tryAddUser(loginmgr, testuser1, /null username/);
    1.71 +LoginTest.checkStorageData(loginmgr, [], []);
    1.72 +
    1.73 +testuser1.username = "dummydude";
    1.74 +testuser1.password = null;
    1.75 +tryAddUser(loginmgr, testuser1, /null or empty password/);
    1.76 +LoginTest.checkStorageData(loginmgr, [], []);
    1.77 +
    1.78 +testuser1.password = "";
    1.79 +tryAddUser(loginmgr, testuser1, /null or empty password/);
    1.80 +LoginTest.checkStorageData(loginmgr, [], []);
    1.81 +
    1.82 +
    1.83 +/* ========== 4 ========== */
    1.84 +testnum++;
    1.85 +testdesc = "Try adding invalid logins (httpRealm / formSubmitURL checks)";
    1.86 +
    1.87 +testuser1.init("http://dummyhost.mozilla.org", null, null,
    1.88 +    "dummydude", "itsasecret", "put_user_here", "put_pw_here");
    1.89 +// formSubmitURL == null,  httpRealm == null
    1.90 +tryAddUser(loginmgr, testuser1, /without a httpRealm or formSubmitURL/);
    1.91 +LoginTest.checkStorageData(loginmgr, [], []);
    1.92 +
    1.93 +testuser1.formSubmitURL = "";
    1.94 +testuser1.httpRealm = "";
    1.95 +tryAddUser(loginmgr, testuser1, /both a httpRealm and formSubmitURL/);
    1.96 +LoginTest.checkStorageData(loginmgr, [], []);
    1.97 +
    1.98 +testuser1.formSubmitURL = "foo";
    1.99 +testuser1.httpRealm = "foo";
   1.100 +tryAddUser(loginmgr, testuser1, /both a httpRealm and formSubmitURL/);
   1.101 +LoginTest.checkStorageData(loginmgr, [], []);
   1.102 +
   1.103 +
   1.104 +testuser1.formSubmitURL = "";
   1.105 +testuser1.httpRealm = "foo";
   1.106 +tryAddUser(loginmgr, testuser1, /both a httpRealm and formSubmitURL/);
   1.107 +LoginTest.checkStorageData(loginmgr, [], []);
   1.108 +
   1.109 +testuser1.formSubmitURL = "foo";
   1.110 +testuser1.httpRealm = "";
   1.111 +tryAddUser(loginmgr, testuser1, /both a httpRealm and formSubmitURL/);
   1.112 +LoginTest.checkStorageData(loginmgr, [], []);
   1.113 +
   1.114 +
   1.115 +testuser1.formSubmitURL = null;
   1.116 +testuser1.httpRealm = "";
   1.117 +tryAddUser(loginmgr, testuser1, /without a httpRealm or formSubmitURL/);
   1.118 +LoginTest.checkStorageData(loginmgr, [], []);
   1.119 +
   1.120 +
   1.121 +/* ========== 5 ========== */
   1.122 +testnum++;
   1.123 +testdesc = "Try adding valid logins (httpRealm / formSubmitURL checks)";
   1.124 +
   1.125 +testuser1.formSubmitURL = null;
   1.126 +testuser1.httpRealm = "foo";
   1.127 +testuser1.hostname ="http://dummyhost1";
   1.128 +tryAddUser(loginmgr, testuser1);
   1.129 +
   1.130 +testuser1.formSubmitURL = "";
   1.131 +testuser1.httpRealm = null;
   1.132 +testuser1.hostname ="http://dummyhost2";
   1.133 +tryAddUser(loginmgr, testuser1);
   1.134 +
   1.135 +testuser1.formSubmitURL = "foo";
   1.136 +testuser1.httpRealm = null;
   1.137 +testuser1.hostname ="http://dummyhost3";
   1.138 +tryAddUser(loginmgr, testuser1);
   1.139 +
   1.140 +
   1.141 +} catch (e) {
   1.142 +    throw "FAILED in test #" + testnum + " -- " + testdesc + ": " + e;
   1.143 +}
   1.144 +};

mercurial