mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-25 19:25:43 +00:00
49323c9a2d
MozReview-Commit-ID: 9QuMFgIlOPQ --HG-- extra : rebase_source : bee5228f2658bb1f01639a57af469054e5984080 extra : histedit_source : 0883971413987576abe6949819eb1377471aa0e6
72 lines
1.8 KiB
JavaScript
72 lines
1.8 KiB
JavaScript
'use strict';
|
|
|
|
const {PushService, PushServiceWebSocket} = serviceExports;
|
|
|
|
function run_test() {
|
|
setPrefs();
|
|
do_get_profile();
|
|
run_next_test();
|
|
}
|
|
|
|
add_task(function* test_startup_error() {
|
|
let db = PushServiceWebSocket.newPushDB();
|
|
do_register_cleanup(() => {return db.drop().then(_ => db.close());});
|
|
|
|
PushService.init({
|
|
serverURI: 'wss://push.example.org/',
|
|
db: makeStub(db, {
|
|
getAllExpired(prev) {
|
|
return Promise.reject('database corruption on startup');
|
|
},
|
|
}),
|
|
makeWebSocket(uri) {
|
|
return new MockWebSocket(uri, {
|
|
onHello(request) {
|
|
ok(false, 'Unexpected handshake');
|
|
},
|
|
onRegister(request) {
|
|
ok(false, 'Unexpected register request');
|
|
},
|
|
});
|
|
},
|
|
});
|
|
|
|
yield rejects(
|
|
PushService.register({
|
|
scope: `https://example.net/1`,
|
|
originAttributes: ChromeUtils.originAttributesToSuffix(
|
|
{ appId: Ci.nsIScriptSecurityManager.NO_APP_ID, inIsolatedMozBrowser: false }),
|
|
}),
|
|
'Should not register if startup failed'
|
|
);
|
|
|
|
PushService.uninit();
|
|
|
|
PushService.init({
|
|
serverURI: 'wss://push.example.org/',
|
|
db: makeStub(db, {
|
|
getAllUnexpired(prev) {
|
|
return Promise.reject('database corruption on connect');
|
|
},
|
|
}),
|
|
makeWebSocket(uri) {
|
|
return new MockWebSocket(uri, {
|
|
onHello(request) {
|
|
ok(false, 'Unexpected handshake');
|
|
},
|
|
onRegister(request) {
|
|
ok(false, 'Unexpected register request');
|
|
},
|
|
});
|
|
},
|
|
});
|
|
yield rejects(
|
|
PushService.registration({
|
|
scope: `https://example.net/1`,
|
|
originAttributes: ChromeUtils.originAttributesToSuffix(
|
|
{ appId: Ci.nsIScriptSecurityManager.NO_APP_ID, inIsolatedMozBrowser: false }),
|
|
}),
|
|
'Should not return registration if connection failed'
|
|
);
|
|
});
|