diff options
Diffstat (limited to 'toolkit/mozapps/webextensions/test/xpcshell/test_migrateAddonRepository.js')
-rw-r--r-- | toolkit/mozapps/webextensions/test/xpcshell/test_migrateAddonRepository.js | 127 |
1 files changed, 0 insertions, 127 deletions
diff --git a/toolkit/mozapps/webextensions/test/xpcshell/test_migrateAddonRepository.js b/toolkit/mozapps/webextensions/test/xpcshell/test_migrateAddonRepository.js deleted file mode 100644 index d9cfc8790..000000000 --- a/toolkit/mozapps/webextensions/test/xpcshell/test_migrateAddonRepository.js +++ /dev/null @@ -1,127 +0,0 @@ -/* Any copyright is dedicated to the Public Domain. - * http://creativecommons.org/publicdomain/zero/1.0/ - */ - -const EXPECTED_SCHEMA_VERSION = 4; -var dbfile; - -function run_test() { - do_test_pending(); - createAppInfo("xpcshell@tests.mozilla.org", "XPCShell", "1", "1.9.2"); - - // Write out a minimal database. - dbfile = gProfD.clone(); - dbfile.append("addons.sqlite"); - let db = AM_Cc["@mozilla.org/storage/service;1"]. - getService(AM_Ci.mozIStorageService). - openDatabase(dbfile); - - db.createTable("addon", - "internal_id INTEGER PRIMARY KEY AUTOINCREMENT, " + - "id TEXT UNIQUE, " + - "type TEXT, " + - "name TEXT, " + - "version TEXT, " + - "creator TEXT, " + - "creatorURL TEXT, " + - "description TEXT, " + - "fullDescription TEXT, " + - "developerComments TEXT, " + - "eula TEXT, " + - "iconURL TEXT, " + - "homepageURL TEXT, " + - "supportURL TEXT, " + - "contributionURL TEXT, " + - "contributionAmount TEXT, " + - "averageRating INTEGER, " + - "reviewCount INTEGER, " + - "reviewURL TEXT, " + - "totalDownloads INTEGER, " + - "weeklyDownloads INTEGER, " + - "dailyUsers INTEGER, " + - "sourceURI TEXT, " + - "repositoryStatus INTEGER, " + - "size INTEGER, " + - "updateDate INTEGER"); - - db.createTable("developer", - "addon_internal_id INTEGER, " + - "num INTEGER, " + - "name TEXT, " + - "url TEXT, " + - "PRIMARY KEY (addon_internal_id, num)"); - - db.createTable("screenshot", - "addon_internal_id INTEGER, " + - "num INTEGER, " + - "url TEXT, " + - "thumbnailURL TEXT, " + - "caption TEXT, " + - "PRIMARY KEY (addon_internal_id, num)"); - - let insertStmt = db.createStatement("INSERT INTO addon (id) VALUES (:id)"); - insertStmt.params.id = "test1@tests.mozilla.org"; - insertStmt.execute(); - insertStmt.finalize(); - - insertStmt = db.createStatement("INSERT INTO screenshot VALUES " + - "(:addon_internal_id, :num, :url, :thumbnailURL, :caption)"); - - insertStmt.params.addon_internal_id = 1; - insertStmt.params.num = 0; - insertStmt.params.url = "http://localhost/full1-1.png"; - insertStmt.params.thumbnailURL = "http://localhost/thumbnail1-1.png"; - insertStmt.params.caption = "Caption 1 - 1"; - insertStmt.execute(); - insertStmt.finalize(); - - db.schemaVersion = 1; - db.close(); - - - Services.prefs.setBoolPref("extensions.getAddons.cache.enabled", true); - AddonRepository.getCachedAddonByID("test1@tests.mozilla.org", function (aAddon) { - do_check_neq(aAddon, null); - do_check_eq(aAddon.screenshots.length, 1); - do_check_true(aAddon.screenshots[0].width === null); - do_check_true(aAddon.screenshots[0].height === null); - do_check_true(aAddon.screenshots[0].thumbnailWidth === null); - do_check_true(aAddon.screenshots[0].thumbnailHeight === null); - do_check_eq(aAddon.iconURL, undefined); - do_check_eq(JSON.stringify(aAddon.icons), "{}"); - AddonRepository.shutdown().then( - function checkAfterRepoShutdown() { - // Check the DB schema has changed once AddonRepository has freed it. - db = AM_Cc["@mozilla.org/storage/service;1"]. - getService(AM_Ci.mozIStorageService). - openDatabase(dbfile); - do_check_eq(db.schemaVersion, EXPECTED_SCHEMA_VERSION); - do_check_true(db.indexExists("developer_idx")); - do_check_true(db.indexExists("screenshot_idx")); - do_check_true(db.indexExists("compatibility_override_idx")); - do_check_true(db.tableExists("compatibility_override")); - do_check_true(db.indexExists("icon_idx")); - do_check_true(db.tableExists("icon")); - - // Check the trigger is working - db.executeSimpleSQL("INSERT INTO addon (id, type, name) VALUES('test_addon', 'extension', 'Test Addon')"); - let internalID = db.lastInsertRowID; - db.executeSimpleSQL("INSERT INTO compatibility_override (addon_internal_id, num, type) VALUES('" + internalID + "', '1', 'incompatible')"); - - let selectStmt = db.createStatement("SELECT COUNT(*) AS count FROM compatibility_override"); - selectStmt.executeStep(); - do_check_eq(selectStmt.row.count, 1); - selectStmt.reset(); - - db.executeSimpleSQL("DELETE FROM addon"); - selectStmt.executeStep(); - do_check_eq(selectStmt.row.count, 0); - selectStmt.finalize(); - - db.close(); - do_test_finished(); - }, - do_report_unexpected_exception - ); - }); -} |