1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
7 * Unit tests for host_controller.js.
14 var FAKE_HOST_ID = '0bad0bad-0bad-0bad-0bad-0bad0bad0bad';
15 var FAKE_HOST_NAME = '<FAKE_HOST_NAME>';
16 var FAKE_PUBLIC_KEY = '<FAKE_PUBLIC_KEY>';
17 var FAKE_HOST_CLIENT_ID = '<FAKE_HOST_CLIENT_ID>';
18 var FAKE_AUTH_CODE = '<FAKE_AUTH_CODE>';
20 /** @type {sinon.TestStub} */
23 QUnit.module('host_list_api_impl', {
24 beforeEach: function(/** QUnit.Assert */ assert) {
25 remoting.settings = new remoting.Settings();
26 remoting.MockXhr.activate();
27 generateUuidStub = sinon.stub(base, 'generateUuid');
28 generateUuidStub.returns(FAKE_HOST_ID);
30 afterEach: function(/** QUnit.Assert */ assert) {
31 generateUuidStub.restore();
32 remoting.MockXhr.restore();
33 remoting.settings = null;
38 * Install an HTTP response for requests to the registry.
39 * @param {QUnit.Assert} assert
41 function queueRegistryResponse(assert) {
44 authorizationCode: FAKE_AUTH_CODE
48 remoting.MockXhr.setResponseFor(
49 'POST', 'DIRECTORY_API_BASE_URL/@me/hosts',
50 function(/** remoting.MockXhr */ xhr) {
52 xhr.params.jsonContent,
55 hostName: FAKE_HOST_NAME,
56 publicKey: FAKE_PUBLIC_KEY
58 xhr.setJsonResponse(200, responseJson);
62 QUnit.test('register', function(assert) {
63 var impl = new remoting.LegacyHostListApi();
64 queueRegistryResponse(assert);
69 ).then(function(regResult) {
70 assert.equal(regResult.authCode, FAKE_AUTH_CODE);
71 assert.equal(regResult.email, '');
75 QUnit.test('register failure', function(assert) {
76 var impl = new remoting.LegacyHostListApi();
77 remoting.MockXhr.setEmptyResponseFor(
78 'POST', 'DIRECTORY_API_BASE_URL/@me/hosts', 500);
83 ).then(function(authCode) {
85 }, function(/** remoting.Error */ e) {
86 assert.equal(e.getTag(), remoting.Error.Tag.REGISTRATION_FAILED);