summaryrefslogtreecommitdiffstats
path: root/services/sync/tests/unit/test_password_store.js
diff options
context:
space:
mode:
Diffstat (limited to 'services/sync/tests/unit/test_password_store.js')
-rw-r--r--services/sync/tests/unit/test_password_store.js148
1 files changed, 5 insertions, 143 deletions
diff --git a/services/sync/tests/unit/test_password_store.js b/services/sync/tests/unit/test_password_store.js
index d232d5e63..c56901d79 100644
--- a/services/sync/tests/unit/test_password_store.js
+++ b/services/sync/tests/unit/test_password_store.js
@@ -5,137 +5,6 @@ Cu.import("resource://services-sync/engines/passwords.js");
Cu.import("resource://services-sync/service.js");
Cu.import("resource://services-sync/util.js");
-
-function checkRecord(name, record, expectedCount, timeCreated,
- expectedTimeCreated, timePasswordChanged,
- expectedTimePasswordChanged, recordIsUpdated) {
- let engine = Service.engineManager.get("passwords");
- let store = engine._store;
-
- let count = {};
- let logins = Services.logins.findLogins(count, record.hostname,
- record.formSubmitURL, null);
-
- _("Record" + name + ":" + JSON.stringify(logins));
- _("Count" + name + ":" + count.value);
-
- do_check_eq(count.value, expectedCount);
-
- if (expectedCount > 0) {
- do_check_true(!!store.getAllIDs()[record.id]);
- let stored_record = logins[0].QueryInterface(Ci.nsILoginMetaInfo);
-
- if (timeCreated !== undefined) {
- do_check_eq(stored_record.timeCreated, expectedTimeCreated);
- }
-
- if (timePasswordChanged !== undefined) {
- if (recordIsUpdated) {
- do_check_true(stored_record.timePasswordChanged >= expectedTimePasswordChanged);
- } else {
- do_check_eq(stored_record.timePasswordChanged, expectedTimePasswordChanged);
- }
- return stored_record.timePasswordChanged;
- }
- } else {
- do_check_true(!store.getAllIDs()[record.id]);
- }
-}
-
-
-function changePassword(name, hostname, password, expectedCount, timeCreated,
- expectedTimeCreated, timePasswordChanged,
- expectedTimePasswordChanged, insert, recordIsUpdated) {
-
- const BOGUS_GUID = "zzzzzz" + hostname;
-
- let record = {id: BOGUS_GUID,
- hostname: hostname,
- formSubmitURL: hostname,
- username: "john",
- password: password,
- usernameField: "username",
- passwordField: "password"};
-
- if (timeCreated !== undefined) {
- record.timeCreated = timeCreated;
- }
-
- if (timePasswordChanged !== undefined) {
- record.timePasswordChanged = timePasswordChanged;
- }
-
-
- let engine = Service.engineManager.get("passwords");
- let store = engine._store;
-
- if (insert) {
- do_check_eq(store.applyIncomingBatch([record]).length, 0);
- }
-
- return checkRecord(name, record, expectedCount, timeCreated,
- expectedTimeCreated, timePasswordChanged,
- expectedTimePasswordChanged, recordIsUpdated);
-
-}
-
-
-function test_apply_records_with_times(hostname, timeCreated, timePasswordChanged) {
- // The following record is going to be inserted in the store and it needs
- // to be found there. Then its timestamps are going to be compared to
- // the expected values.
- changePassword(" ", hostname, "password", 1, timeCreated, timeCreated,
- timePasswordChanged, timePasswordChanged, true);
-}
-
-
-function test_apply_multiple_records_with_times() {
- // The following records are going to be inserted in the store and they need
- // to be found there. Then their timestamps are going to be compared to
- // the expected values.
- changePassword("A", "http://foo.a.com", "password", 1, undefined, undefined,
- undefined, undefined, true);
- changePassword("B", "http://foo.b.com", "password", 1, 1000, 1000, undefined,
- undefined, true);
- changePassword("C", "http://foo.c.com", "password", 1, undefined, undefined,
- 1000, 1000, true);
- changePassword("D", "http://foo.d.com", "password", 1, 1000, 1000, 1000,
- 1000, true);
-
- // The following records are not going to be inserted in the store and they
- // are not going to be found there.
- changePassword("NotInStoreA", "http://foo.aaaa.com", "password", 0,
- undefined, undefined, undefined, undefined, false);
- changePassword("NotInStoreB", "http://foo.bbbb.com", "password", 0, 1000,
- 1000, undefined, undefined, false);
- changePassword("NotInStoreC", "http://foo.cccc.com", "password", 0,
- undefined, undefined, 1000, 1000, false);
- changePassword("NotInStoreD", "http://foo.dddd.com", "password", 0, 1000,
- 1000, 1000, 1000, false);
-}
-
-
-function test_apply_same_record_with_different_times() {
- // The following record is going to be inserted multiple times in the store
- // and it needs to be found there. Then its timestamps are going to be
- // compared to the expected values.
- var timePasswordChanged = 100;
- timePasswordChanged = changePassword("A", "http://a.tn", "password", 1, 100,
- 100, 100, timePasswordChanged, true);
- timePasswordChanged = changePassword("A", "http://a.tn", "password", 1, 100,
- 100, 800, timePasswordChanged, true,
- true);
- timePasswordChanged = changePassword("A", "http://a.tn", "password", 1, 500,
- 100, 800, timePasswordChanged, true,
- true);
- timePasswordChanged = changePassword("A", "http://a.tn", "password2", 1, 500,
- 100, 1536213005222, timePasswordChanged,
- true, true);
- timePasswordChanged = changePassword("A", "http://a.tn", "password2", 1, 500,
- 100, 800, timePasswordChanged, true, true);
-}
-
-
function run_test() {
initTestLogging("Trace");
Log.repository.getLogger("Sync.Engine.Passwords").level = Log.Level.Trace;
@@ -161,9 +30,12 @@ function run_test() {
let engine = Service.engineManager.get("passwords");
let store = engine._store;
+ function applyEnsureNoFailures(records) {
+ do_check_eq(store.applyIncomingBatch(records).length, 0);
+ }
try {
- do_check_eq(store.applyIncomingBatch([recordA, recordB]).length, 0);
+ applyEnsureNoFailures([recordA, recordB]);
// Only the good record makes it to Services.logins.
let badCount = {};
@@ -183,17 +55,7 @@ function run_test() {
do_check_true(!!store.getAllIDs()[BOGUS_GUID_B]);
do_check_true(!store.getAllIDs()[BOGUS_GUID_A]);
-
- test_apply_records_with_times("http://afoo.baz.com", undefined, undefined);
- test_apply_records_with_times("http://bfoo.baz.com", 1000, undefined);
- test_apply_records_with_times("http://cfoo.baz.com", undefined, 2000);
- test_apply_records_with_times("http://dfoo.baz.com", 1000, 2000);
-
- test_apply_multiple_records_with_times();
-
- test_apply_same_record_with_different_times();
-
} finally {
store.wipe();
}
-} \ No newline at end of file
+}