Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(90)

Side by Side Diff: remoting/webapp/crd/js/host_controller_unittest.js

Issue 1111603002: Added ability to register new hosts using GCD. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@host-list-delete
Patch Set: Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « remoting/webapp/crd/js/host_controller.js ('k') | remoting/webapp/crd/js/host_list_api.js » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
74 /** @type {remoting.MockHostListApi} */ 74 /** @type {remoting.MockHostListApi} */
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.activate(['identity', 'runtime']); 79 chromeMocks.activate(['identity', 'runtime']);
80 chromeMocks.identity.mock$setToken(FAKE_IDENTITY_TOKEN); 80 chromeMocks.identity.mock$setToken(FAKE_IDENTITY_TOKEN);
81 remoting.settings = new remoting.Settings(); 81 remoting.settings = new remoting.Settings();
82 remoting.identity = new remoting.Identity(); 82 remoting.identity = new remoting.Identity();
83 mockHostListApi = new remoting.MockHostListApi; 83 mockHostListApi = new remoting.MockHostListApi;
84 mockHostListApi.registerResult = FAKE_AUTH_CODE; 84 mockHostListApi.authCodeFromRegister = FAKE_AUTH_CODE;
85 mockHostListApi.emailFromRegister = '';
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 148 matching lines...) Expand 10 before | Expand all | Expand 10 after
243 assert.equal(e.getTag(), remoting.Error.Tag.UNEXPECTED); 244 assert.equal(e.getTag(), remoting.Error.Tag.UNEXPECTED);
244 assert.equal(unregisterHostByIdSpy.callCount, 0); 245 assert.equal(unregisterHostByIdSpy.callCount, 0);
245 assert.equal(onLocalHostStartedSpy.callCount, 0); 246 assert.equal(onLocalHostStartedSpy.callCount, 0);
246 assert.equal(startDaemonSpy.callCount, 0); 247 assert.equal(startDaemonSpy.callCount, 0);
247 }); 248 });
248 }); 249 });
249 250
250 // Check what happens when the registry returns an HTTP when we try to 251 // Check what happens when the registry returns an HTTP when we try to
251 // register a host. 252 // register a host.
252 QUnit.test('start with host registration failure', function(assert) { 253 QUnit.test('start with host registration failure', function(assert) {
253 mockHostListApi.registerResult = null; 254 mockHostListApi.authCodeFromRegister = null;
254 return controller.start(FAKE_HOST_PIN, true).then(function() { 255 return controller.start(FAKE_HOST_PIN, true).then(function() {
255 throw 'test failed'; 256 throw 'test failed';
256 }, function(/** remoting.Error */ e) { 257 }, function(/** remoting.Error */ e) {
257 assert.equal(e.getTag(), remoting.Error.Tag.REGISTRATION_FAILED); 258 assert.equal(e.getTag(), remoting.Error.Tag.REGISTRATION_FAILED);
258 assert.equal(unregisterHostByIdSpy.callCount, 0); 259 assert.equal(unregisterHostByIdSpy.callCount, 0);
259 assert.equal(onLocalHostStartedSpy.callCount, 0); 260 assert.equal(onLocalHostStartedSpy.callCount, 0);
260 assert.equal(startDaemonSpy.callCount, 0); 261 assert.equal(startDaemonSpy.callCount, 0);
261 }); 262 });
262 }); 263 });
263 264
264 // Check what happens when the HostDaemonFacade's 265 // Check what happens when the HostDaemonFacade's
265 // getCredentialsFromAuthCode method fails. 266 // getCredentialsFromAuthCode method fails.
266 QUnit.test('start with getCredentialsFromAuthCode failure', function(assert) { 267 QUnit.test('start with getCredentialsFromAuthCode failure', function(assert) {
267 mockHostDaemonFacade.useEmail = null; 268 mockHostDaemonFacade.useEmail = null;
268 mockHostDaemonFacade.refreshToken = null; 269 mockHostDaemonFacade.refreshToken = null;
269 return controller.start(FAKE_HOST_PIN, true).then(function() { 270 return controller.start(FAKE_HOST_PIN, true).then(function() {
270 throw 'test failed'; 271 throw 'test failed';
271 }, function(/** remoting.Error */ e) { 272 }, function(/** remoting.Error */ e) {
272 assert.equal(e.getDetail(), 'getCredentialsFromAuthCode'); 273 assert.equal(e.getDetail(), 'getCredentialsFromAuthCode');
273 assert.equal(e.getTag(), remoting.Error.Tag.UNEXPECTED); 274 assert.equal(e.getTag(), remoting.Error.Tag.UNEXPECTED);
274 assert.equal(getCredentialsFromAuthCodeSpy.callCount, 1); 275 assert.equal(getCredentialsFromAuthCodeSpy.callCount, 1);
275 assert.equal(onLocalHostStartedSpy.callCount, 0); 276 assert.equal(onLocalHostStartedSpy.callCount, 0);
276 assert.equal(startDaemonSpy.callCount, 0); 277 assert.equal(startDaemonSpy.callCount, 0);
277 }); 278 });
278 }); 279 });
279 280
280 // Check what happens when the HostDaemonFacade's getPinHash method 281 // Check what happens when the HostDaemonFacade's getPinHash method
John Williams 2015/04/28 20:27:41 Irrelevant now that the auth code is mandatory.
281 // fails, and verify that getPinHash is called when the registry 282 // fails, and verify that getPinHash is called when the registry
282 // does't return an auth code. 283 // does't return an auth code.
283 QUnit.test('start with getRefreshToken+getPinHash failure', function(assert) { 284 QUnit.test('start with getRefreshToken+getPinHash failure', function(assert) {
284 mockHostDaemonFacade.pinHashFunc = null; 285 mockHostDaemonFacade.pinHashFunc = null;
285 mockHostListApi.registerResult = ''; 286 mockHostListApi.authCodeFromRegister = '';
286 return controller.start(FAKE_HOST_PIN, true).then(function() { 287 return controller.start(FAKE_HOST_PIN, true).then(function() {
287 throw 'test failed'; 288 throw 'test failed';
288 }, function(/** remoting.Error */ e) { 289 }, function(/** remoting.Error */ e) {
289 assert.equal(e.getDetail(), 'getPinHash'); 290 assert.equal(e.getDetail(), 'getPinHash');
290 assert.equal(e.getTag(), remoting.Error.Tag.UNEXPECTED); 291 assert.equal(e.getTag(), remoting.Error.Tag.UNEXPECTED);
291 assert.equal(onLocalHostStartedSpy.callCount, 0); 292 assert.equal(onLocalHostStartedSpy.callCount, 0);
292 assert.equal(startDaemonSpy.callCount, 0); 293 assert.equal(startDaemonSpy.callCount, 0);
293 }); 294 });
294 }); 295 });
295 296
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
381 host_owner_email: FAKE_USER_EMAIL, 382 host_owner_email: FAKE_USER_EMAIL,
382 host_id: FAKE_HOST_ID, 383 host_id: FAKE_HOST_ID,
383 host_name: FAKE_HOST_NAME, 384 host_name: FAKE_HOST_NAME,
384 host_secret_hash: fakePinHash, 385 host_secret_hash: fakePinHash,
385 private_key: FAKE_PRIVATE_KEY 386 private_key: FAKE_PRIVATE_KEY
386 }, consent]); 387 }, consent]);
387 }); 388 });
388 }); 389 });
389 }); 390 });
390 391
391 // Check alternative host registration without a registry-supplied 392 // Check alternative host registration without a registry-supplied
John Williams 2015/04/28 20:27:40 Irrelevant now that the auth code is mandatory.
392 // auth code. 393 // auth code.
393 [false, true].forEach(function(/** boolean */ consent) { 394 [false, true].forEach(function(/** boolean */ consent) {
394 QUnit.test('start without auth code, consent=' + consent, function(assert) { 395 QUnit.test('start without auth code, consent=' + consent, function(assert) {
395 /** @const */ 396 /** @const */
396 var fakePinHash = fakePinHashFunc(FAKE_HOST_ID, FAKE_HOST_PIN); 397 var fakePinHash = fakePinHashFunc(FAKE_HOST_ID, FAKE_HOST_PIN);
397 mockHostListApi.registerResult = ''; 398 mockHostListApi.authCodeFromRegister = '';
398 stubSignalStrategyConnect(true); 399 stubSignalStrategyConnect(true);
399 return controller.start(FAKE_HOST_PIN, consent).then(function() { 400 return controller.start(FAKE_HOST_PIN, consent).then(function() {
400 assert.equal(getCredentialsFromAuthCodeSpy.callCount, 0); 401 assert.equal(getCredentialsFromAuthCodeSpy.callCount, 0);
401 assert.equal(getPinHashSpy.callCount, 1); 402 assert.equal(getPinHashSpy.callCount, 1);
402 assert.deepEqual( 403 assert.deepEqual(
403 getPinHashSpy.args[0].slice(0, 2), 404 getPinHashSpy.args[0].slice(0, 2),
404 [FAKE_HOST_ID, FAKE_HOST_PIN]); 405 [FAKE_HOST_ID, FAKE_HOST_PIN]);
405 assert.equal(unregisterHostByIdSpy.callCount, 0); 406 assert.equal(unregisterHostByIdSpy.callCount, 0);
406 assert.equal(onLocalHostStartedSpy.callCount, 1); 407 assert.equal(onLocalHostStartedSpy.callCount, 1);
407 assert.equal(startDaemonSpy.callCount, 1); 408 assert.equal(startDaemonSpy.callCount, 1);
(...skipping 229 matching lines...) Expand 10 before | Expand all | Expand 10 after
637 resolve(null); 638 resolve(null);
638 }); 639 });
639 }); 640 });
640 }); 641 });
641 642
642 // Tests omitted for hasFeature, getPairedClients, deletePairedClient, 643 // Tests omitted for hasFeature, getPairedClients, deletePairedClient,
643 // and clearPairedClients because they simply call through to 644 // and clearPairedClients because they simply call through to
644 // HostDaemonFacade. 645 // HostDaemonFacade.
645 646
646 })(); 647 })();
OLDNEW
« no previous file with comments | « remoting/webapp/crd/js/host_controller.js ('k') | remoting/webapp/crd/js/host_list_api.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698