summaryrefslogtreecommitdiffstats
path: root/toolkit/mozapps/update/tests/data/sharedUpdateXML.js
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/mozapps/update/tests/data/sharedUpdateXML.js')
-rw-r--r--toolkit/mozapps/update/tests/data/sharedUpdateXML.js364
1 files changed, 0 insertions, 364 deletions
diff --git a/toolkit/mozapps/update/tests/data/sharedUpdateXML.js b/toolkit/mozapps/update/tests/data/sharedUpdateXML.js
deleted file mode 100644
index 3aa01eff4..000000000
--- a/toolkit/mozapps/update/tests/data/sharedUpdateXML.js
+++ /dev/null
@@ -1,364 +0,0 @@
-/* Any copyright is dedicated to the Public Domain.
- * http://creativecommons.org/publicdomain/zero/1.0/
- */
-
-/**
- * Helper functions for creating xml strings used by application update tests.
- *
- * !IMPORTANT - This file contains everything needed (along with dependencies)
- * by the updates.sjs file used by the mochitest-chrome tests. Since xpcshell
- * used by the http server is launched with -v 170 this file must not use
- * features greater than JavaScript 1.7.
- */
-
-/* eslint-disable no-undef */
-
-const FILE_SIMPLE_MAR = "simple.mar";
-const SIZE_SIMPLE_MAR = "1031";
-const MD5_HASH_SIMPLE_MAR = "1f8c038577bb6845d94ccec4999113ee";
-const SHA1_HASH_SIMPLE_MAR = "5d49a672c87f10f31d7e326349564a11272a028b";
-const SHA256_HASH_SIMPLE_MAR = "1aabbed5b1dd6e16e139afc5b43d479e254e0c26" +
- "3c8fb9249c0a1bb93071c5fb";
-const SHA384_HASH_SIMPLE_MAR = "26615014ea034af32ef5651492d5f493f5a7a1a48522e" +
- "d24c366442a5ec21d5ef02e23fb58d79729b8ca2f9541" +
- "99dd53";
-const SHA512_HASH_SIMPLE_MAR = "922e5ae22081795f6e8d65a3c508715c9a314054179a8" +
- "bbfe5f50dc23919ad89888291bc0a07586ab17dd0304a" +
- "b5347473601127571c66f61f5080348e05c36b";
-
-const STATE_NONE = "null";
-const STATE_DOWNLOADING = "downloading";
-const STATE_PENDING = "pending";
-const STATE_PENDING_SVC = "pending-service";
-const STATE_APPLYING = "applying";
-const STATE_APPLIED = "applied";
-const STATE_APPLIED_SVC = "applied-service";
-const STATE_SUCCEEDED = "succeeded";
-const STATE_DOWNLOAD_FAILED = "download-failed";
-const STATE_FAILED = "failed";
-
-const LOADSOURCE_ERROR_WRONG_SIZE = 2;
-const CRC_ERROR = 4;
-const READ_ERROR = 6;
-const WRITE_ERROR = 7;
-const MAR_CHANNEL_MISMATCH_ERROR = 22;
-const VERSION_DOWNGRADE_ERROR = 23;
-const SERVICE_COULD_NOT_COPY_UPDATER = 49;
-const SERVICE_INVALID_APPLYTO_DIR_STAGED_ERROR = 52;
-const SERVICE_INVALID_APPLYTO_DIR_ERROR = 54;
-const SERVICE_INVALID_INSTALL_DIR_PATH_ERROR = 55;
-const SERVICE_INVALID_WORKING_DIR_PATH_ERROR = 56;
-const INVALID_APPLYTO_DIR_STAGED_ERROR = 72;
-const INVALID_APPLYTO_DIR_ERROR = 74;
-const INVALID_INSTALL_DIR_PATH_ERROR = 75;
-const INVALID_WORKING_DIR_PATH_ERROR = 76;
-const INVALID_CALLBACK_PATH_ERROR = 77;
-const INVALID_CALLBACK_DIR_ERROR = 78;
-
-const STATE_FAILED_DELIMETER = ": ";
-
-const STATE_FAILED_LOADSOURCE_ERROR_WRONG_SIZE =
- STATE_FAILED + STATE_FAILED_DELIMETER + LOADSOURCE_ERROR_WRONG_SIZE;
-const STATE_FAILED_CRC_ERROR =
- STATE_FAILED + STATE_FAILED_DELIMETER + CRC_ERROR;
-const STATE_FAILED_READ_ERROR =
- STATE_FAILED + STATE_FAILED_DELIMETER + READ_ERROR;
-const STATE_FAILED_WRITE_ERROR =
- STATE_FAILED + STATE_FAILED_DELIMETER + WRITE_ERROR;
-const STATE_FAILED_MAR_CHANNEL_MISMATCH_ERROR =
- STATE_FAILED + STATE_FAILED_DELIMETER + MAR_CHANNEL_MISMATCH_ERROR;
-const STATE_FAILED_VERSION_DOWNGRADE_ERROR =
- STATE_FAILED + STATE_FAILED_DELIMETER + VERSION_DOWNGRADE_ERROR;
-const STATE_FAILED_SERVICE_COULD_NOT_COPY_UPDATER =
- STATE_FAILED + STATE_FAILED_DELIMETER + SERVICE_COULD_NOT_COPY_UPDATER
-const STATE_FAILED_SERVICE_INVALID_APPLYTO_DIR_STAGED_ERROR =
- STATE_FAILED + STATE_FAILED_DELIMETER + SERVICE_INVALID_APPLYTO_DIR_STAGED_ERROR;
-const STATE_FAILED_SERVICE_INVALID_APPLYTO_DIR_ERROR =
- STATE_FAILED + STATE_FAILED_DELIMETER + SERVICE_INVALID_APPLYTO_DIR_ERROR;
-const STATE_FAILED_SERVICE_INVALID_INSTALL_DIR_PATH_ERROR =
- STATE_FAILED + STATE_FAILED_DELIMETER + SERVICE_INVALID_INSTALL_DIR_PATH_ERROR;
-const STATE_FAILED_SERVICE_INVALID_WORKING_DIR_PATH_ERROR =
- STATE_FAILED + STATE_FAILED_DELIMETER + SERVICE_INVALID_WORKING_DIR_PATH_ERROR;
-const STATE_FAILED_INVALID_APPLYTO_DIR_STAGED_ERROR =
- STATE_FAILED + STATE_FAILED_DELIMETER + INVALID_APPLYTO_DIR_STAGED_ERROR;
-const STATE_FAILED_INVALID_APPLYTO_DIR_ERROR =
- STATE_FAILED + STATE_FAILED_DELIMETER + INVALID_APPLYTO_DIR_ERROR;
-const STATE_FAILED_INVALID_INSTALL_DIR_PATH_ERROR =
- STATE_FAILED + STATE_FAILED_DELIMETER + INVALID_INSTALL_DIR_PATH_ERROR;
-const STATE_FAILED_INVALID_WORKING_DIR_PATH_ERROR =
- STATE_FAILED + STATE_FAILED_DELIMETER + INVALID_WORKING_DIR_PATH_ERROR;
-const STATE_FAILED_INVALID_CALLBACK_PATH_ERROR =
- STATE_FAILED + STATE_FAILED_DELIMETER + INVALID_CALLBACK_PATH_ERROR;
-const STATE_FAILED_INVALID_CALLBACK_DIR_ERROR =
- STATE_FAILED + STATE_FAILED_DELIMETER + INVALID_CALLBACK_DIR_ERROR;
-
-/**
- * Constructs a string representing a remote update xml file.
- *
- * @param aUpdates
- * The string representing the update elements.
- * @return The string representing a remote update xml file.
- */
-function getRemoteUpdatesXMLString(aUpdates) {
- return "<?xml version=\"1.0\"?>\n" +
- "<updates>\n" +
- aUpdates +
- "</updates>\n";
-}
-
-/**
- * Constructs a string representing an update element for a remote update xml
- * file. See getUpdateString for parameter information not provided below.
- *
- * @param aPatches
- * String representing the application update patches.
- * @return The string representing an update element for an update xml file.
- */
-function getRemoteUpdateString(aPatches, aType, aName, aDisplayVersion,
- aAppVersion, aBuildID, aDetailsURL, aShowPrompt,
- aShowNeverForVersion, aPromptWaitTime,
- aBackgroundInterval, aCustom1, aCustom2) {
- return getUpdateString(aType, aName, aDisplayVersion, aAppVersion,
- aBuildID, aDetailsURL, aShowPrompt,
- aShowNeverForVersion, aPromptWaitTime,
- aBackgroundInterval, aCustom1, aCustom2) + ">\n" +
- aPatches +
- " </update>\n";
-}
-
-/**
- * Constructs a string representing a patch element for a remote update xml
- * file. See getPatchString for parameter information not provided below.
- *
- * @return The string representing a patch element for a remote update xml file.
- */
-function getRemotePatchString(aType, aURL, aHashFunction, aHashValue, aSize) {
- return getPatchString(aType, aURL, aHashFunction, aHashValue, aSize) +
- "/>\n";
-}
-
-/**
- * Constructs a string representing a local update xml file.
- *
- * @param aUpdates
- * The string representing the update elements.
- * @return The string representing a local update xml file.
- */
-function getLocalUpdatesXMLString(aUpdates) {
- if (!aUpdates || aUpdates == "") {
- return "<updates xmlns=\"http://www.mozilla.org/2005/app-update\"/>";
- }
- return ("<updates xmlns=\"http://www.mozilla.org/2005/app-update\">" +
- aUpdates +
- "</updates>").replace(/>\s+\n*</g, '><');
-}
-
-/**
- * Constructs a string representing an update element for a local update xml
- * file. See getUpdateString for parameter information not provided below.
- *
- * @param aPatches
- * String representing the application update patches.
- * @param aServiceURL (optional)
- * The update's xml url.
- * If not specified it will default to 'http://test_service/'.
- * @param aIsCompleteUpdate (optional)
- * The string 'true' if this update was a complete update or the string
- * 'false' if this update was a partial update.
- * If not specified it will default to 'true'.
- * @param aChannel (optional)
- * The update channel name.
- * If not specified it will default to the default preference value of
- * app.update.channel.
- * @param aForegroundDownload (optional)
- * The string 'true' if this update was manually downloaded or the
- * string 'false' if this update was automatically downloaded.
- * If not specified it will default to 'true'.
- * @param aPreviousAppVersion (optional)
- * The application version prior to applying the update.
- * If not specified it will not be present.
- * @return The string representing an update element for an update xml file.
- */
-function getLocalUpdateString(aPatches, aType, aName, aDisplayVersion,
- aAppVersion, aBuildID, aDetailsURL, aServiceURL,
- aInstallDate, aStatusText, aIsCompleteUpdate,
- aChannel, aForegroundDownload, aShowPrompt,
- aShowNeverForVersion, aPromptWaitTime,
- aBackgroundInterval, aPreviousAppVersion,
- aCustom1, aCustom2) {
- let serviceURL = aServiceURL ? aServiceURL : "http://test_service/";
- let installDate = aInstallDate ? aInstallDate : "1238441400314";
- let statusText = aStatusText ? aStatusText : "Install Pending";
- let isCompleteUpdate =
- typeof aIsCompleteUpdate == "string" ? aIsCompleteUpdate : "true";
- let channel = aChannel ? aChannel
- : gDefaultPrefBranch.getCharPref(PREF_APP_UPDATE_CHANNEL);
- let foregroundDownload =
- typeof aForegroundDownload == "string" ? aForegroundDownload : "true";
- let previousAppVersion = aPreviousAppVersion ? "previousAppVersion=\"" +
- aPreviousAppVersion + "\" "
- : "";
- return getUpdateString(aType, aName, aDisplayVersion, aAppVersion, aBuildID,
- aDetailsURL, aShowPrompt, aShowNeverForVersion,
- aPromptWaitTime, aBackgroundInterval, aCustom1, aCustom2) +
- " " +
- previousAppVersion +
- "serviceURL=\"" + serviceURL + "\" " +
- "installDate=\"" + installDate + "\" " +
- "statusText=\"" + statusText + "\" " +
- "isCompleteUpdate=\"" + isCompleteUpdate + "\" " +
- "channel=\"" + channel + "\" " +
- "foregroundDownload=\"" + foregroundDownload + "\">" +
- aPatches +
- " </update>";
-}
-
-/**
- * Constructs a string representing a patch element for a local update xml file.
- * See getPatchString for parameter information not provided below.
- *
- * @param aSelected (optional)
- * Whether this patch is selected represented or not. The string 'true'
- * denotes selected and the string 'false' denotes not selected.
- * If not specified it will default to the string 'true'.
- * @param aState (optional)
- * The patch's state.
- * If not specified it will default to STATE_SUCCEEDED.
- * @return The string representing a patch element for a local update xml file.
- */
-function getLocalPatchString(aType, aURL, aHashFunction, aHashValue, aSize,
- aSelected, aState) {
- let selected = typeof aSelected == "string" ? aSelected : "true";
- let state = aState ? aState : STATE_SUCCEEDED;
- return getPatchString(aType, aURL, aHashFunction, aHashValue, aSize) + " " +
- "selected=\"" + selected + "\" " +
- "state=\"" + state + "\"/>\n";
-}
-
-/**
- * Constructs a string representing an update element for a remote update xml
- * file.
- *
- * @param aType (optional)
- * The update's type which should be major or minor. If not specified it
- * will default to 'major'.
- * @param aName (optional)
- * The update's name.
- * If not specified it will default to 'App Update Test'.
- * @param aDisplayVersion (optional)
- * The update's display version.
- * If not specified it will default to 'version #' where # is the value
- * of DEFAULT_UPDATE_VERSION.
- * @param aAppVersion (optional)
- * The update's application version.
- * If not specified it will default to the value of
- * DEFAULT_UPDATE_VERSION.
- * @param aBuildID (optional)
- * The update's build id.
- * If not specified it will default to '20080811053724'.
- * @param aDetailsURL (optional)
- * The update's details url.
- * If not specified it will default to 'http://test_details/' due to due
- * to bug 470244.
- * @param aShowPrompt (optional)
- * Whether to show the prompt for the update when auto update is
- * enabled.
- * If not specified it will not be present and the update service will
- * default to false.
- * @param aShowNeverForVersion (optional)
- * Whether to show the 'No Thanks' button in the update prompt.
- * If not specified it will not be present and the update service will
- * default to false.
- * @param aPromptWaitTime (optional)
- * Override for the app.update.promptWaitTime preference.
- * @param aBackgroundInterval (optional)
- * Override for the app.update.download.backgroundInterval preference.
- * @param aCustom1 (optional)
- * A custom attribute name and attribute value to add to the xml.
- * Example: custom1_attribute="custom1 value"
- * If not specified it will not be present.
- * @param aCustom2 (optional)
- * A custom attribute name and attribute value to add to the xml.
- * Example: custom2_attribute="custom2 value"
- * If not specified it will not be present.
- * @return The string representing an update element for an update xml file.
- */
-function getUpdateString(aType, aName, aDisplayVersion, aAppVersion, aBuildID,
- aDetailsURL, aShowPrompt, aShowNeverForVersion,
- aPromptWaitTime, aBackgroundInterval, aCustom1,
- aCustom2) {
- let type = aType ? aType : "major";
- let name = aName ? aName : "App Update Test";
- let displayVersion = aDisplayVersion ? "displayVersion=\"" +
- aDisplayVersion + "\" "
- : "";
- let appVersion = "appVersion=\"" +
- (aAppVersion ? aAppVersion : DEFAULT_UPDATE_VERSION) +
- "\" ";
- let buildID = aBuildID ? aBuildID : "20080811053724";
- // XXXrstrong - not specifying a detailsURL will cause a leak due to bug 470244
-// let detailsURL = aDetailsURL ? "detailsURL=\"" + aDetailsURL + "\" " : "";
- let detailsURL = "detailsURL=\"" +
- (aDetailsURL ? aDetailsURL
- : "http://test_details/") + "\" ";
- let showPrompt = aShowPrompt ? "showPrompt=\"" + aShowPrompt + "\" " : "";
- let showNeverForVersion = aShowNeverForVersion ? "showNeverForVersion=\"" +
- aShowNeverForVersion + "\" "
- : "";
- let promptWaitTime = aPromptWaitTime ? "promptWaitTime=\"" + aPromptWaitTime +
- "\" "
- : "";
- let backgroundInterval = aBackgroundInterval ? "backgroundInterval=\"" +
- aBackgroundInterval + "\" "
- : "";
- let custom1 = aCustom1 ? aCustom1 + " " : "";
- let custom2 = aCustom2 ? aCustom2 + " " : "";
- return " <update type=\"" + type + "\" " +
- "name=\"" + name + "\" " +
- displayVersion +
- appVersion +
- detailsURL +
- showPrompt +
- showNeverForVersion +
- promptWaitTime +
- backgroundInterval +
- custom1 +
- custom2 +
- "buildID=\"" + buildID + "\"";
-}
-
-/**
- * Constructs a string representing a patch element for an update xml file.
- *
- * @param aType (optional)
- * The patch's type which should be complete or partial.
- * If not specified it will default to 'complete'.
- * @param aURL (optional)
- * The patch's url to the mar file.
- * If not specified it will default to the value of:
- * gURLData + FILE_SIMPLE_MAR
- * @param aHashFunction (optional)
- * The patch's hash function used to verify the mar file.
- * If not specified it will default to 'MD5'.
- * @param aHashValue (optional)
- * The patch's hash value used to verify the mar file.
- * If not specified it will default to the value of MD5_HASH_SIMPLE_MAR
- * which is the MD5 hash value for the file specified by FILE_SIMPLE_MAR.
- * @param aSize (optional)
- * The patch's file size for the mar file.
- * If not specified it will default to the file size for FILE_SIMPLE_MAR
- * specified by SIZE_SIMPLE_MAR.
- * @return The string representing a patch element for an update xml file.
- */
-function getPatchString(aType, aURL, aHashFunction, aHashValue, aSize) {
- let type = aType ? aType : "complete";
- let url = aURL ? aURL : gURLData + FILE_SIMPLE_MAR;
- let hashFunction = aHashFunction ? aHashFunction : "MD5";
- let hashValue = aHashValue ? aHashValue : MD5_HASH_SIMPLE_MAR;
- let size = aSize ? aSize : SIZE_SIMPLE_MAR;
- return " <patch type=\"" + type + "\" " +
- "URL=\"" + url + "\" " +
- "hashFunction=\"" + hashFunction + "\" " +
- "hashValue=\"" + hashValue + "\" " +
- "size=\"" + size + "\"";
-}