92 lines
2.8 KiB
JavaScript
92 lines
2.8 KiB
JavaScript
/* Any copyright is dedicated to the Public Domain.
|
|
* http://creativecommons.org/publicdomain/zero/1.0/ */
|
|
|
|
const { Service } = ChromeUtils.importESModule(
|
|
"resource://services-sync/service.sys.mjs"
|
|
);
|
|
const { FakeGUIDService } = ChromeUtils.importESModule(
|
|
"resource://testing-common/services/sync/fakeservices.sys.mjs"
|
|
);
|
|
|
|
add_task(async function test_urls() {
|
|
_("URL related Service properties correspond to preference settings.");
|
|
try {
|
|
Assert.equal(Service.clusterURL, "");
|
|
Assert.ok(!Service.userBaseURL);
|
|
Assert.equal(Service.infoURL, undefined);
|
|
Assert.equal(Service.storageURL, undefined);
|
|
Assert.equal(Service.metaURL, undefined);
|
|
|
|
_("The 'clusterURL' attribute updates preferences and cached URLs.");
|
|
|
|
// Since we don't have a cluster URL yet, these will still not be defined.
|
|
Assert.equal(Service.infoURL, undefined);
|
|
Assert.ok(!Service.userBaseURL);
|
|
Assert.equal(Service.storageURL, undefined);
|
|
Assert.equal(Service.metaURL, undefined);
|
|
|
|
Service.clusterURL = "http://weave.cluster/1.1/johndoe/";
|
|
|
|
Assert.equal(Service.userBaseURL, "http://weave.cluster/1.1/johndoe/");
|
|
Assert.equal(
|
|
Service.infoURL,
|
|
"http://weave.cluster/1.1/johndoe/info/collections"
|
|
);
|
|
Assert.equal(
|
|
Service.storageURL,
|
|
"http://weave.cluster/1.1/johndoe/storage/"
|
|
);
|
|
Assert.equal(
|
|
Service.metaURL,
|
|
"http://weave.cluster/1.1/johndoe/storage/meta/global"
|
|
);
|
|
} finally {
|
|
for (const pref of Svc.PrefBranch.getChildList("")) {
|
|
Svc.PrefBranch.clearUserPref(pref);
|
|
}
|
|
}
|
|
});
|
|
|
|
add_test(function test_syncID() {
|
|
_("Service.syncID is auto-generated, corresponds to preference.");
|
|
new FakeGUIDService();
|
|
|
|
try {
|
|
// Ensure pristine environment
|
|
Assert.equal(
|
|
Svc.PrefBranch.getPrefType("client.syncID"),
|
|
Ci.nsIPrefBranch.PREF_INVALID
|
|
);
|
|
|
|
// Performing the first get on the attribute will generate a new GUID.
|
|
Assert.equal(Service.syncID, "fake-guid-00");
|
|
Assert.equal(Svc.PrefBranch.getStringPref("client.syncID"), "fake-guid-00");
|
|
|
|
Svc.PrefBranch.setStringPref("client.syncID", Utils.makeGUID());
|
|
Assert.equal(Svc.PrefBranch.getStringPref("client.syncID"), "fake-guid-01");
|
|
Assert.equal(Service.syncID, "fake-guid-01");
|
|
} finally {
|
|
for (const pref of Svc.PrefBranch.getChildList("")) {
|
|
Svc.PrefBranch.clearUserPref(pref);
|
|
}
|
|
new FakeGUIDService();
|
|
run_next_test();
|
|
}
|
|
});
|
|
|
|
add_test(function test_locked() {
|
|
_("The 'locked' attribute can be toggled with lock() and unlock()");
|
|
|
|
// Defaults to false
|
|
Assert.equal(Service.locked, false);
|
|
|
|
Assert.equal(Service.lock(), true);
|
|
Assert.equal(Service.locked, true);
|
|
|
|
// Locking again will return false
|
|
Assert.equal(Service.lock(), false);
|
|
|
|
Service.unlock();
|
|
Assert.equal(Service.locked, false);
|
|
run_next_test();
|
|
});
|