| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 /** | 5 /** |
| 6 * @fileoverview | 6 * @fileoverview |
| 7 * Unit tests for host_controller.js. | 7 * Unit tests for host_controller.js. |
| 8 */ | 8 */ |
| 9 | 9 |
| 10 (function() { | 10 (function() { |
| (...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 75 var mockHostListApi; | 75 var mockHostListApi; |
| 76 | 76 |
| 77 QUnit.module('host_controller', { | 77 QUnit.module('host_controller', { |
| 78 beforeEach: function(/** QUnit.Assert */ assert) { | 78 beforeEach: function(/** QUnit.Assert */ assert) { |
| 79 chromeMocks.identity.mock$setToken(FAKE_IDENTITY_TOKEN); | 79 chromeMocks.identity.mock$setToken(FAKE_IDENTITY_TOKEN); |
| 80 remoting.settings = new remoting.Settings(); | 80 remoting.settings = new remoting.Settings(); |
| 81 remoting.identity = new remoting.Identity(); | 81 remoting.identity = new remoting.Identity(); |
| 82 mockHostListApi = new remoting.MockHostListApi; | 82 mockHostListApi = new remoting.MockHostListApi; |
| 83 mockHostListApi.authCodeFromRegister = FAKE_AUTH_CODE; | 83 mockHostListApi.authCodeFromRegister = FAKE_AUTH_CODE; |
| 84 mockHostListApi.emailFromRegister = ''; | 84 mockHostListApi.emailFromRegister = ''; |
| 85 mockHostListApi.hostIdFromRegister = FAKE_HOST_ID; |
| 85 remoting.HostListApi.setInstance(mockHostListApi); | 86 remoting.HostListApi.setInstance(mockHostListApi); |
| 86 base.debug.assert(remoting.oauth2 === null); | 87 base.debug.assert(remoting.oauth2 === null); |
| 87 remoting.oauth2 = new remoting.OAuth2(); | 88 remoting.oauth2 = new remoting.OAuth2(); |
| 88 base.debug.assert(remoting.hostList === null); | 89 base.debug.assert(remoting.hostList === null); |
| 89 remoting.hostList = /** @type {remoting.HostList} */ | 90 remoting.hostList = /** @type {remoting.HostList} */ |
| 90 (Object.create(remoting.HostList.prototype)); | 91 (Object.create(remoting.HostList.prototype)); |
| 91 | 92 |
| 92 // When the HostList's unregisterHostById method is called, make | 93 // When the HostList's unregisterHostById method is called, make |
| 93 // sure the argument is correct. | 94 // sure the argument is correct. |
| 94 unregisterHostByIdSpy = | 95 unregisterHostByIdSpy = |
| (...skipping 163 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 258 assert.equal(onLocalHostStartedSpy.callCount, 0); | 259 assert.equal(onLocalHostStartedSpy.callCount, 0); |
| 259 assert.equal(startDaemonSpy.callCount, 0); | 260 assert.equal(startDaemonSpy.callCount, 0); |
| 260 }); | 261 }); |
| 261 }); | 262 }); |
| 262 | 263 |
| 263 // Check what happens when the HostDaemonFacade's | 264 // Check what happens when the HostDaemonFacade's |
| 264 // getCredentialsFromAuthCode method fails. | 265 // getCredentialsFromAuthCode method fails. |
| 265 QUnit.test('start with getCredentialsFromAuthCode failure', function(assert) { | 266 QUnit.test('start with getCredentialsFromAuthCode failure', function(assert) { |
| 266 mockHostDaemonFacade.useEmail = null; | 267 mockHostDaemonFacade.useEmail = null; |
| 267 mockHostDaemonFacade.refreshToken = null; | 268 mockHostDaemonFacade.refreshToken = null; |
| 268 return controller.start(FAKE_HOST_PIN, true).then(function() { | 269 return controller.start(FAKE_HOST_PIN, true).then(function(result) { |
| 269 throw 'test failed'; | 270 throw 'test failed'; |
| 270 }, function(/** remoting.Error */ e) { | 271 }, function(/** remoting.Error */ e) { |
| 271 assert.equal(e.getDetail(), 'getCredentialsFromAuthCode'); | 272 assert.equal(e.getDetail(), 'getCredentialsFromAuthCode'); |
| 272 assert.equal(e.getTag(), remoting.Error.Tag.UNEXPECTED); | 273 assert.equal(e.getTag(), remoting.Error.Tag.UNEXPECTED); |
| 273 assert.equal(getCredentialsFromAuthCodeSpy.callCount, 1); | 274 assert.equal(getCredentialsFromAuthCodeSpy.callCount, 1); |
| 274 assert.equal(onLocalHostStartedSpy.callCount, 0); | 275 assert.equal(onLocalHostStartedSpy.callCount, 0); |
| 275 assert.equal(startDaemonSpy.callCount, 0); | 276 assert.equal(startDaemonSpy.callCount, 0); |
| 276 }); | 277 }); |
| 277 }); | 278 }); |
| 278 | 279 |
| (...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 348 assert.deepEqual( | 349 assert.deepEqual( |
| 349 getCredentialsFromAuthCodeSpy.args[0][0], | 350 getCredentialsFromAuthCodeSpy.args[0][0], |
| 350 FAKE_AUTH_CODE); | 351 FAKE_AUTH_CODE); |
| 351 assert.equal(getPinHashSpy.callCount, 1); | 352 assert.equal(getPinHashSpy.callCount, 1); |
| 352 assert.deepEqual( | 353 assert.deepEqual( |
| 353 getPinHashSpy.args[0].slice(0, 2), | 354 getPinHashSpy.args[0].slice(0, 2), |
| 354 [FAKE_HOST_ID, FAKE_HOST_PIN]); | 355 [FAKE_HOST_ID, FAKE_HOST_PIN]); |
| 355 assert.equal(unregisterHostByIdSpy.callCount, 0); | 356 assert.equal(unregisterHostByIdSpy.callCount, 0); |
| 356 assert.equal(onLocalHostStartedSpy.callCount, 1); | 357 assert.equal(onLocalHostStartedSpy.callCount, 1); |
| 357 assert.equal(startDaemonSpy.callCount, 1); | 358 assert.equal(startDaemonSpy.callCount, 1); |
| 359 var expectedConfig = { |
| 360 xmpp_login: FAKE_XMPP_LOGIN, |
| 361 oauth_refresh_token: FAKE_REFRESH_TOKEN, |
| 362 host_owner: FAKE_CLIENT_JID.toLowerCase(), |
| 363 host_owner_email: FAKE_USER_EMAIL, |
| 364 host_name: FAKE_HOST_NAME, |
| 365 host_secret_hash: fakePinHash, |
| 366 private_key: FAKE_PRIVATE_KEY |
| 367 }; |
| 368 if (remoting.settings.USE_GCD) { |
| 369 expectedConfig['gcd_device_id'] = FAKE_HOST_ID; |
| 370 } else { |
| 371 expectedConfig['host_id'] = FAKE_HOST_ID; |
| 372 } |
| 358 assert.deepEqual( | 373 assert.deepEqual( |
| 359 startDaemonSpy.args[0].slice(0, 2), | 374 startDaemonSpy.args[0].slice(0, 2), |
| 360 [{ | 375 [expectedConfig, consent]); |
| 361 xmpp_login: FAKE_XMPP_LOGIN, | |
| 362 oauth_refresh_token: FAKE_REFRESH_TOKEN, | |
| 363 host_owner: FAKE_CLIENT_JID.toLowerCase(), | |
| 364 host_owner_email: FAKE_USER_EMAIL, | |
| 365 host_id: FAKE_HOST_ID, | |
| 366 host_name: FAKE_HOST_NAME, | |
| 367 host_secret_hash: fakePinHash, | |
| 368 private_key: FAKE_PRIVATE_KEY | |
| 369 }, consent]); | |
| 370 }); | 376 }); |
| 371 }); | 377 }); |
| 372 }); | 378 }); |
| 373 | 379 |
| 374 // Check what happens when stopDaemon calls onError. | 380 // Check what happens when stopDaemon calls onError. |
| 375 // TODO(jrw): Should stopDaemon even have an onError callback? | 381 // TODO(jrw): Should stopDaemon even have an onError callback? |
| 376 QUnit.test('stop with stopDaemon failure', function(assert) { | 382 QUnit.test('stop with stopDaemon failure', function(assert) { |
| 377 mockHostDaemonFacade.stopDaemonResult = null; | 383 mockHostDaemonFacade.stopDaemonResult = null; |
| 378 return new Promise(function(resolve, reject) { | 384 return new Promise(function(resolve, reject) { |
| 379 controller.stop(function() { | 385 controller.stop(function() { |
| (...skipping 209 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 589 resolve(null); | 595 resolve(null); |
| 590 }); | 596 }); |
| 591 }); | 597 }); |
| 592 }); | 598 }); |
| 593 | 599 |
| 594 // Tests omitted for hasFeature, getPairedClients, deletePairedClient, | 600 // Tests omitted for hasFeature, getPairedClients, deletePairedClient, |
| 595 // and clearPairedClients because they simply call through to | 601 // and clearPairedClients because they simply call through to |
| 596 // HostDaemonFacade. | 602 // HostDaemonFacade. |
| 597 | 603 |
| 598 })(); | 604 })(); |
| OLD | NEW |