test_storage_adapter_shutdown.js (896B)
1 /* Any copyright is dedicated to the Public Domain. 2 http://creativecommons.org/publicdomain/zero/1.0/ */ 3 4 const { AsyncShutdown } = ChromeUtils.importESModule( 5 "resource://gre/modules/AsyncShutdown.sys.mjs" 6 ); 7 8 const { FirefoxAdapter } = ChromeUtils.importESModule( 9 "resource://services-common/kinto-storage-adapter.sys.mjs" 10 ); 11 12 add_task(async function test_sqlite_shutdown() { 13 const sqliteHandle = await FirefoxAdapter.openConnection({ 14 path: "kinto.sqlite", 15 }); 16 17 // Shutdown Sqlite.sys.mjs synchronously. 18 Services.prefs.setBoolPref("toolkit.asyncshutdown.testing", true); 19 AsyncShutdown.profileBeforeChange._trigger(); 20 Services.prefs.clearUserPref("toolkit.asyncshutdown.testing"); 21 22 try { 23 sqliteHandle.execute("SELECT 1;"); 24 equal("Should not succeed, connection should be closed.", false); 25 } catch (e) { 26 equal(e.message, "Connection is not open."); 27 } 28 });