Bug 1325523 - Persist tracked IDs on finalization, and don't persist IDs in Sync tests. r?markh draft
authorKit Cambridge <kit@yakshaving.ninja>
Tue, 07 Feb 2017 11:51:06 -0800
changeset 480057 b23cd7ca7238ba019e46bedbe351dec281e91dfe
parent 479958 e677ba018b22558fef1d07b74d416fd3a28a5dc3
child 544864 3f36a62f1d817206c73235a3a8dd45498f9d7622
push id44446
push userbmo:kit@mozilla.com
push dateTue, 07 Feb 2017 19:52:38 +0000
reviewersmarkh
bugs1325523
milestone54.0a1
Bug 1325523 - Persist tracked IDs on finalization, and don't persist IDs in Sync tests. r?markh MozReview-Commit-ID: CpQP2aM1DO
services/sync/modules/engines.js
services/sync/tests/unit/test_engine.js
services/sync/tests/unit/test_telemetry.js
--- a/services/sync/modules/engines.js
+++ b/services/sync/modules/engines.js
@@ -728,17 +728,18 @@ Engine.prototype = {
    * must have a `validate(engine)` method that returns a promise to an object
    * with a getSummary method). Otherwise return null.
    */
   getValidator() {
     return null;
   },
 
   finalize() {
-    // Ensure the tracker finishes persisting changed IDs to disk.
+    // Persist all pending tracked changes to disk.
+    this._tracker._saveChangedIDs();
     Async.promiseSpinningly(this._tracker._storage.finalize());
   },
 };
 
 this.SyncEngine = function SyncEngine(name, service) {
   Engine.call(this, name || "SyncEngine", service);
 
   this.loadToFetch();
--- a/services/sync/tests/unit/test_engine.js
+++ b/services/sync/tests/unit/test_engine.js
@@ -18,17 +18,18 @@ SteamStore.prototype = {
     this.wasWiped = true;
   }
 };
 
 function SteamTracker(name, engine) {
   Tracker.call(this, name || "Steam", engine);
 }
 SteamTracker.prototype = {
-  __proto__: Tracker.prototype
+  __proto__: Tracker.prototype,
+  persistChangedIDs: false,
 };
 
 function SteamEngine(name, service) {
   Engine.call(this, name, service);
   this.wasReset = false;
   this.wasSynced = false;
 }
 SteamEngine.prototype = {
--- a/services/sync/tests/unit/test_telemetry.js
+++ b/services/sync/tests/unit/test_telemetry.js
@@ -28,17 +28,18 @@ SteamStore.prototype = {
   __proto__: Store.prototype,
 };
 
 function SteamTracker(name, engine) {
   Tracker.call(this, name || "Steam", engine);
 }
 
 SteamTracker.prototype = {
-  __proto__: Tracker.prototype
+  __proto__: Tracker.prototype,
+  persistChangedIDs: false,
 };
 
 function SteamEngine(service) {
   Engine.call(this, "steam", service);
 }
 
 SteamEngine.prototype = {
   __proto__: Engine.prototype,