2011-01-18 16:23:30 -08:00
|
|
|
Cu.import("resource://services-sync/record.js");
|
2010-10-05 11:32:56 -07:00
|
|
|
Cu.import("resource://services-sync/engines.js");
|
2010-10-18 15:10:22 -07:00
|
|
|
Cu.import("resource://services-sync/util.js");
|
|
|
|
|
|
|
|
Svc.DefaultPrefs.set("registerEngines", "");
|
|
|
|
Cu.import("resource://services-sync/service.js");
|
2010-10-05 11:32:56 -07:00
|
|
|
|
|
|
|
|
|
|
|
function CanDecryptEngine() {
|
|
|
|
SyncEngine.call(this, "CanDecrypt");
|
|
|
|
}
|
|
|
|
CanDecryptEngine.prototype = {
|
|
|
|
__proto__: SyncEngine.prototype,
|
|
|
|
|
|
|
|
// Override these methods with mocks for the test
|
|
|
|
canDecrypt: function canDecrypt() {
|
|
|
|
return true;
|
|
|
|
},
|
|
|
|
|
|
|
|
wasWiped: false,
|
|
|
|
wipeClient: function wipeClient() {
|
|
|
|
this.wasWiped = true;
|
|
|
|
}
|
|
|
|
};
|
|
|
|
Engines.register(CanDecryptEngine);
|
|
|
|
|
|
|
|
|
|
|
|
function CannotDecryptEngine() {
|
|
|
|
SyncEngine.call(this, "CannotDecrypt");
|
|
|
|
}
|
|
|
|
CannotDecryptEngine.prototype = {
|
|
|
|
__proto__: SyncEngine.prototype,
|
|
|
|
|
|
|
|
// Override these methods with mocks for the test
|
|
|
|
canDecrypt: function canDecrypt() {
|
|
|
|
return false;
|
|
|
|
},
|
|
|
|
|
|
|
|
wasWiped: false,
|
|
|
|
wipeClient: function wipeClient() {
|
|
|
|
this.wasWiped = true;
|
|
|
|
}
|
|
|
|
};
|
|
|
|
Engines.register(CannotDecryptEngine);
|
|
|
|
|
|
|
|
|
|
|
|
function test_withEngineList() {
|
|
|
|
try {
|
|
|
|
_("Ensure initial scenario.");
|
|
|
|
do_check_false(Engines.get("candecrypt").wasWiped);
|
|
|
|
do_check_false(Engines.get("cannotdecrypt").wasWiped);
|
|
|
|
|
|
|
|
_("Wipe local engine data.");
|
|
|
|
Service.wipeClient(["candecrypt", "cannotdecrypt"]);
|
|
|
|
|
|
|
|
_("Ensure only the engine that can decrypt was wiped.");
|
|
|
|
do_check_true(Engines.get("candecrypt").wasWiped);
|
|
|
|
do_check_false(Engines.get("cannotdecrypt").wasWiped);
|
|
|
|
} finally {
|
|
|
|
Engines.get("candecrypt").wasWiped = false;
|
|
|
|
Engines.get("cannotdecrypt").wasWiped = false;
|
|
|
|
Service.startOver();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2010-12-07 16:30:06 -08:00
|
|
|
function test_startOver_clears_keys() {
|
2011-04-19 12:35:04 -07:00
|
|
|
generateNewKeys();
|
2010-12-07 16:30:06 -08:00
|
|
|
do_check_true(!!CollectionKeys.keyForCollection());
|
|
|
|
Service.startOver();
|
|
|
|
do_check_false(!!CollectionKeys.keyForCollection());
|
|
|
|
}
|
|
|
|
|
2010-10-05 11:32:56 -07:00
|
|
|
function run_test() {
|
|
|
|
test_withEngineList();
|
2010-12-07 16:30:06 -08:00
|
|
|
test_startOver_clears_keys();
|
2010-10-05 11:32:56 -07:00
|
|
|
}
|