config.test.js 2.39 KB
/*
 * ADOBE CONFIDENTIAL
 * __________________
 *
 *  Copyright 2017 Adobe Systems Incorporated
 *  All Rights Reserved.
 *
 * NOTICE:  All information contained herein is, and remains
 * the property of Adobe Systems Incorporated and its suppliers,
 * if any.  The intellectual and technical concepts contained
 * herein are proprietary to Adobe Systems Incorporated and its
 * suppliers and are protected by trade secret or copyright law.
 * Dissemination of this information or reproduction of this material
 * is strictly forbidden unless prior written permission is obtained
 * from Adobe Systems Incorporated.
 */

/* eslint max-nested-callbacks: [2, 10]*/
/* globals describe, expect, it, beforeEach, afterEach, sinon */
(function() {
    'use strict';

    var FIRMWARE_UPDATE_DESCRIPTOR = '/libs/screens/player/content/firmware/pge-app/offline-config.pge-updates.json';
    var FIRMWARE_UPDATE_PATH = '/content/mobileapps/cq-screens-player/firmware/pge-app/config.zip';

    describe('Firmware update path', function() {

        beforeEach(function() {
            var xhr = sinon.useFakeXMLHttpRequest();
            xhr.restore();
        });

        afterEach(function() {
            sinon.useFakeXMLHttpRequest();
        });

        /**
         * The update path needs to point to the old mobileapps path so that
         * newer players continue working with old FPs. This is merely required
         * for backwards compability reasons and can be removed once the zipPath
         * is not hardcoded anymore.
         */
        it('points to the backwards compatible firmware udpate link', function(done) {
            var xhr = new XMLHttpRequest();

            xhr.open('GET', '/base/src/main/jcr_root' + FIRMWARE_UPDATE_DESCRIPTOR, false);
            xhr.onload = function(e) {
                if (xhr.status === 200) {
                    try {
                        var json = JSON.parse(xhr.responseText);
                        expect(json.zipPath).to.equal(FIRMWARE_UPDATE_PATH);
                        done();
                    }
                    catch (err) {
                        done(err);
                    }
                }
                else {
                    done(new Error(xhr.statusText));
                }
            };

            xhr.onerror = function(e) {
                done(new Error(xhr.statusText));
            };
            xhr.send(null);
        });

    });

}());