summaryrefslogtreecommitdiff
path: root/services/sync/tests/unit/head_errorhandler_common.js
diff options
context:
space:
mode:
Diffstat (limited to 'services/sync/tests/unit/head_errorhandler_common.js')
-rw-r--r--services/sync/tests/unit/head_errorhandler_common.js112
1 files changed, 0 insertions, 112 deletions
diff --git a/services/sync/tests/unit/head_errorhandler_common.js b/services/sync/tests/unit/head_errorhandler_common.js
deleted file mode 100644
index f4af60d9de..0000000000
--- a/services/sync/tests/unit/head_errorhandler_common.js
+++ /dev/null
@@ -1,112 +0,0 @@
-/* Any copyright is dedicated to the Public Domain.
- http://creativecommons.org/publicdomain/zero/1.0/ */
-
-Cu.import("resource://services-sync/engines.js");
-
-// Common code for test_errorhandler_{1,2}.js -- pulled out to make it less
-// monolithic and take less time to execute.
-const EHTestsCommon = {
-
- service_unavailable(request, response) {
- let body = "Service Unavailable";
- response.setStatusLine(request.httpVersion, 503, "Service Unavailable");
- response.setHeader("Retry-After", "42");
- response.bodyOutputStream.write(body, body.length);
- },
-
- sync_httpd_setup() {
- let global = new ServerWBO("global", {
- syncID: Service.syncID,
- storageVersion: STORAGE_VERSION,
- engines: {clients: {version: Service.clientsEngine.version,
- syncID: Service.clientsEngine.syncID},
- catapult: {version: Service.engineManager.get("catapult").version,
- syncID: Service.engineManager.get("catapult").syncID}}
- });
- let clientsColl = new ServerCollection({}, true);
-
- // Tracking info/collections.
- let collectionsHelper = track_collections_helper();
- let upd = collectionsHelper.with_updated_collection;
-
- let handler_401 = httpd_handler(401, "Unauthorized");
- return httpd_setup({
- // Normal server behaviour.
- "/1.1/johndoe/storage/meta/global": upd("meta", global.handler()),
- "/1.1/johndoe/info/collections": collectionsHelper.handler,
- "/1.1/johndoe/storage/crypto/keys":
- upd("crypto", (new ServerWBO("keys")).handler()),
- "/1.1/johndoe/storage/clients": upd("clients", clientsColl.handler()),
-
- // Credentials are wrong or node reallocated.
- "/1.1/janedoe/storage/meta/global": handler_401,
- "/1.1/janedoe/info/collections": handler_401,
-
- // Maintenance or overloaded (503 + Retry-After) at info/collections.
- "/maintenance/1.1/broken.info/info/collections": EHTestsCommon.service_unavailable,
-
- // Maintenance or overloaded (503 + Retry-After) at meta/global.
- "/maintenance/1.1/broken.meta/storage/meta/global": EHTestsCommon.service_unavailable,
- "/maintenance/1.1/broken.meta/info/collections": collectionsHelper.handler,
-
- // Maintenance or overloaded (503 + Retry-After) at crypto/keys.
- "/maintenance/1.1/broken.keys/storage/meta/global": upd("meta", global.handler()),
- "/maintenance/1.1/broken.keys/info/collections": collectionsHelper.handler,
- "/maintenance/1.1/broken.keys/storage/crypto/keys": EHTestsCommon.service_unavailable,
-
- // Maintenance or overloaded (503 + Retry-After) at wiping collection.
- "/maintenance/1.1/broken.wipe/info/collections": collectionsHelper.handler,
- "/maintenance/1.1/broken.wipe/storage/meta/global": upd("meta", global.handler()),
- "/maintenance/1.1/broken.wipe/storage/crypto/keys":
- upd("crypto", (new ServerWBO("keys")).handler()),
- "/maintenance/1.1/broken.wipe/storage": EHTestsCommon.service_unavailable,
- "/maintenance/1.1/broken.wipe/storage/clients": upd("clients", clientsColl.handler()),
- "/maintenance/1.1/broken.wipe/storage/catapult": EHTestsCommon.service_unavailable
- });
- },
-
- CatapultEngine: (function() {
- function CatapultEngine() {
- SyncEngine.call(this, "Catapult", Service);
- }
- CatapultEngine.prototype = {
- __proto__: SyncEngine.prototype,
- exception: null, // tests fill this in
- _sync: function _sync() {
- if (this.exception) {
- throw this.exception;
- }
- }
- };
-
- return CatapultEngine;
- }()),
-
-
- generateCredentialsChangedFailure() {
- // Make sync fail due to changed credentials. We simply re-encrypt
- // the keys with a different Sync Key, without changing the local one.
- let newSyncKeyBundle = new SyncKeyBundle("johndoe", "23456234562345623456234562");
- let keys = Service.collectionKeys.asWBO();
- keys.encrypt(newSyncKeyBundle);
- keys.upload(Service.resource(Service.cryptoKeysURL));
- },
-
- setUp(server) {
- return configureIdentity({ username: "johndoe" }).then(
- () => {
- Service.serverURL = server.baseURI + "/";
- Service.clusterURL = server.baseURI + "/";
- }
- ).then(
- () => EHTestsCommon.generateAndUploadKeys()
- );
- },
-
- generateAndUploadKeys() {
- generateNewKeys(Service.collectionKeys);
- let serverKeys = Service.collectionKeys.asWBO("crypto", "keys");
- serverKeys.encrypt(Service.identity.syncKeyBundle);
- return serverKeys.upload(Service.resource(Service.cryptoKeysURL)).success;
- }
-};