summaryrefslogtreecommitdiffstats
path: root/toolkit/mozapps/update/tests/unit_aus_update/updateCheckCombine.js
blob: 1b2c9ef78c34ea2bf9798799c92ec268f2c8a984 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
 */

"use strict";

/**
 * This test checks that multiple foreground update checks are combined into
 * a single web request.
 */

add_task(async function setup() {
  setupTestCommon();
  start_httpserver();
  setUpdateURL(gURLData + gHTTPHandlerPath);
  setUpdateChannel("test_channel");

  let patches = getRemotePatchString({});
  let updateString = getRemoteUpdateString({}, patches);
  gResponseBody = getRemoteUpdatesXMLString(updateString);
});

add_task(async function testUpdateCheckCombine() {
  gUpdateCheckCount = 0;
  let check1 = gUpdateChecker.checkForUpdates(gUpdateChecker.FOREGROUND_CHECK);
  let check2 = gUpdateChecker.checkForUpdates(gUpdateChecker.FOREGROUND_CHECK);

  let result1 = await check1.result;
  let result2 = await check2.result;
  Assert.ok(result1.succeeded, "Check 1 should have succeeded");
  Assert.ok(result2.succeeded, "Check 2 should have succeeded");
  Assert.equal(gUpdateCheckCount, 1, "Should only have made a single request");
});

add_task(async function finish() {
  stop_httpserver(doTestFinish);
});