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

Side by Side Diff: remoting/webapp/unittests/fallback_signal_strategy_unittest.js

Issue 855003008: Log signal strategy progress to server. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase. Created 5 years, 11 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/xmpp_connection.js ('k') | no next file » | 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 (function() { 5 (function() {
6 6
7 'use strict'; 7 'use strict';
8 8
9 var ControllableSignalStrategy = function(jid) { 9 var ControllableSignalStrategy = function(jid, type, stateChangeCallback) {
10 this.jid = jid; 10 this.jid = jid;
11 this.onStateChangedCallback = function() {}; 11 this.type = type;
12 this.state = null; 12 this.stateChangeCallback_ = stateChangeCallback;
13 this.state_ = null;
13 this.onIncomingStanzaCallback = function() {}; 14 this.onIncomingStanzaCallback = function() {};
14 this.dispose = sinon.spy(); 15 this.dispose = sinon.spy();
15 this.connect = sinon.spy(); 16 this.connect = sinon.spy();
16 this.sendMessage = sinon.spy(); 17 this.sendMessage = sinon.spy();
18 this.sendConnectionSetupResults = sinon.spy();
17 }; 19 };
18 20
19 ControllableSignalStrategy.prototype.setStateChangedCallback = function( 21 ControllableSignalStrategy.prototype.setStateChangedCallback = function(
20 onStateChangedCallback) { 22 onStateChangedCallback) {
21 this.onStateChangedCallback = 23 this.onStateChangedCallback =
22 onStateChangedCallback ? onStateChangedCallback : function() {}; 24 onStateChangedCallback ? onStateChangedCallback : function() {};
23 }; 25 };
24 26
25 ControllableSignalStrategy.prototype.setIncomingStanzaCallback = 27 ControllableSignalStrategy.prototype.setIncomingStanzaCallback =
26 function(onIncomingStanzaCallback) { 28 function(onIncomingStanzaCallback) {
27 this.onIncomingStanzaCallback = 29 this.onIncomingStanzaCallback =
28 onIncomingStanzaCallback ? onIncomingStanzaCallback 30 onIncomingStanzaCallback ? onIncomingStanzaCallback
29 : function() {}; 31 : function() {};
30 }; 32 };
31 33
32 ControllableSignalStrategy.prototype.getState = function(message) { 34 ControllableSignalStrategy.prototype.getState = function(message) {
33 return this.state; 35 return this.state;
34 }; 36 };
35 37
36 ControllableSignalStrategy.prototype.getError = function(message) { 38 ControllableSignalStrategy.prototype.getError = function(message) {
37 return remoting.Error.UNKNOWN; 39 return remoting.Error.UNKNOWN;
38 }; 40 };
39 41
40 ControllableSignalStrategy.prototype.getJid = function(message) { 42 ControllableSignalStrategy.prototype.getJid = function(message) {
41 return this.jid; 43 return this.jid;
42 }; 44 };
43 45
46 ControllableSignalStrategy.prototype.getType = function(message) {
47 return this.type;
48 };
49
44 ControllableSignalStrategy.prototype.setExternalCallbackForTesting = 50 ControllableSignalStrategy.prototype.setExternalCallbackForTesting =
45 function(externalCallback) { 51 function(externalCallback) {
46 this.externalCallback_ = externalCallback; 52 this.externalCallback_ = externalCallback;
47 }; 53 };
48 54
49 ControllableSignalStrategy.prototype.setStateForTesting = 55 ControllableSignalStrategy.prototype.setStateForTesting =
50 function(state, expectExternalCallback) { 56 function(state, expectExternalCallback) {
51 this.state = state; 57 this.state = state;
52 this.externalCallback_.reset(); 58 this.externalCallback_.reset();
53 this.onStateChangedCallback(state); 59 this.onStateChangedCallback(state);
54 if (expectExternalCallback) { 60 if (expectExternalCallback) {
55 equal(this.externalCallback_.callCount, 1); 61 equal(this.externalCallback_.callCount, 1);
56 ok(this.externalCallback_.calledWith(state)); 62 ok(this.externalCallback_.calledWith(state));
57 equal(strategy.getState(), state); 63 equal(strategy.getState(), state);
58 } else { 64 } else {
59 ok(!this.externalCallback_.called); 65 ok(!this.externalCallback_.called);
60 } 66 }
61 }; 67 };
62 68
69 var MockLogToServer = function() {
70 this.logSignalStrategyProgress = sinon.spy();
71 };
72
73 MockLogToServer.prototype.assertProgress = function() {
74 equal(this.logSignalStrategyProgress.callCount * 2, arguments.length);
75 for (var i = 0; i < this.logSignalStrategyProgress.callCount; ++i) {
76 equal(this.logSignalStrategyProgress.getCall(i).args[0], arguments[2 * i]);
77 equal(this.logSignalStrategyProgress.getCall(i).args[1],
78 arguments[2 * i + 1]);
79 }
80 };
81
63 var onStateChange = null; 82 var onStateChange = null;
64 var onProgressCallback = null;
65 var onIncomingStanzaCallback = null; 83 var onIncomingStanzaCallback = null;
66 var strategy = null; 84 var strategy = null;
67 var primary = null; 85 var primary = null;
68 var secondary = null; 86 var secondary = null;
87 var logToServer = null;
69 88
70 module('fallback_signal_strategy', { 89 module('fallback_signal_strategy', {
71 setup: function() { 90 setup: function() {
72 onStateChange = sinon.spy(); 91 onStateChange = sinon.spy();
73 onProgressCallback = sinon.spy();
74 onIncomingStanzaCallback = sinon.spy(); 92 onIncomingStanzaCallback = sinon.spy();
75 strategy = new remoting.FallbackSignalStrategy( 93 strategy = new remoting.FallbackSignalStrategy(
76 new ControllableSignalStrategy('primary-jid'), 94 new ControllableSignalStrategy('primary-jid',
77 new ControllableSignalStrategy('secondary-jid'), 95 remoting.SignalStrategy.Type.XMPP),
78 onProgressCallback); 96 new ControllableSignalStrategy('secondary-jid',
97 remoting.SignalStrategy.Type.WCS));
79 strategy.setStateChangedCallback(onStateChange); 98 strategy.setStateChangedCallback(onStateChange);
80 strategy.setIncomingStanzaCallback(onIncomingStanzaCallback); 99 strategy.setIncomingStanzaCallback(onIncomingStanzaCallback);
81 primary = strategy.primary_; 100 primary = strategy.primary_;
82 secondary = strategy.secondary_; 101 secondary = strategy.secondary_;
102 logToServer = new MockLogToServer();
83 primary.setExternalCallbackForTesting(onStateChange); 103 primary.setExternalCallbackForTesting(onStateChange);
84 secondary.setExternalCallbackForTesting(onStateChange); 104 secondary.setExternalCallbackForTesting(onStateChange);
85 }, 105 },
86 teardown: function() { 106 teardown: function() {
87 onStateChange = null; 107 onStateChange = null;
88 onProgressCallback = null;
89 onIncomingStanzaCallback = null; 108 onIncomingStanzaCallback = null;
90 strategy = null; 109 strategy = null;
91 primary = null; 110 primary = null;
92 secondary = null; 111 secondary = null;
112 logToServer = null;
93 }, 113 },
94 // Assert that the progress callback has been called exactly once
95 // since the last call, and with the specified state.
96 assertProgress: function(state) {
97 ok(onProgressCallback.calledOnce);
98 ok(onProgressCallback.calledWith(state));
99 onProgressCallback.reset();
100 }
101 }); 114 });
102 115
103 test('primary succeeds; send & receive routed to it', 116 test('primary succeeds; send & receive routed to it',
104 function() { 117 function() {
105 ok(!onStateChange.called); 118 ok(!onStateChange.called);
106 ok(!primary.connect.called); 119 ok(!primary.connect.called);
107 strategy.connect('server', 'username', 'authToken'); 120 strategy.connect('server', 'username', 'authToken');
108 ok(primary.connect.calledWith('server', 'username', 'authToken')); 121 ok(primary.connect.calledWith('server', 'username', 'authToken'));
109 122
110 primary.setStateForTesting(remoting.SignalStrategy.State.NOT_CONNECTED, 123 primary.setStateForTesting(remoting.SignalStrategy.State.NOT_CONNECTED,
111 true); 124 true);
112 primary.setStateForTesting(remoting.SignalStrategy.State.CONNECTING, true); 125 primary.setStateForTesting(remoting.SignalStrategy.State.CONNECTING, true);
113 primary.setStateForTesting(remoting.SignalStrategy.State.HANDSHAKE, true); 126 primary.setStateForTesting(remoting.SignalStrategy.State.HANDSHAKE, true);
114 127
115 ok(!onProgressCallback.called);
116 primary.setStateForTesting(remoting.SignalStrategy.State.CONNECTED, true); 128 primary.setStateForTesting(remoting.SignalStrategy.State.CONNECTED, true);
117 this.assertProgress(
118 remoting.FallbackSignalStrategy.Progress.PRIMARY_SUCCEEDED);
119 equal(strategy.getJid(), 'primary-jid'); 129 equal(strategy.getJid(), 'primary-jid');
120 130
131 strategy.sendConnectionSetupResults(logToServer);
132 logToServer.assertProgress(
133 remoting.SignalStrategy.Type.XMPP,
134 remoting.FallbackSignalStrategy.Progress.SUCCEEDED);
135
121 ok(!onIncomingStanzaCallback.called); 136 ok(!onIncomingStanzaCallback.called);
122 primary.onIncomingStanzaCallback('test-receive-primary'); 137 primary.onIncomingStanzaCallback('test-receive-primary');
123 secondary.onIncomingStanzaCallback('test-receive-secondary'); 138 secondary.onIncomingStanzaCallback('test-receive-secondary');
124 ok(onIncomingStanzaCallback.calledOnce); 139 ok(onIncomingStanzaCallback.calledOnce);
125 ok(onIncomingStanzaCallback.calledWith('test-receive-primary')); 140 ok(onIncomingStanzaCallback.calledWith('test-receive-primary'));
126 141
127 ok(!primary.sendMessage.called); 142 ok(!primary.sendMessage.called);
128 strategy.sendMessage('test-send'); 143 strategy.sendMessage('test-send');
129 ok(primary.sendMessage.calledOnce); 144 ok(primary.sendMessage.calledOnce);
130 ok(primary.sendMessage.calledWith('test-send')); 145 ok(primary.sendMessage.calledWith('test-send'));
(...skipping 11 matching lines...) Expand all
142 function() { 157 function() {
143 ok(!onStateChange.called); 158 ok(!onStateChange.called);
144 ok(!primary.connect.called); 159 ok(!primary.connect.called);
145 strategy.connect('server', 'username', 'authToken'); 160 strategy.connect('server', 'username', 'authToken');
146 ok(primary.connect.calledWith('server', 'username', 'authToken')); 161 ok(primary.connect.calledWith('server', 'username', 'authToken'));
147 162
148 primary.setStateForTesting(remoting.SignalStrategy.State.NOT_CONNECTED, 163 primary.setStateForTesting(remoting.SignalStrategy.State.NOT_CONNECTED,
149 true); 164 true);
150 primary.setStateForTesting(remoting.SignalStrategy.State.CONNECTING, true); 165 primary.setStateForTesting(remoting.SignalStrategy.State.CONNECTING, true);
151 166
152 ok(!onProgressCallback.called);
153 ok(!secondary.connect.called); 167 ok(!secondary.connect.called);
154 primary.setStateForTesting(remoting.SignalStrategy.State.FAILED, false); 168 primary.setStateForTesting(remoting.SignalStrategy.State.FAILED, false);
155 ok(secondary.connect.calledWith('server', 'username', 'authToken')); 169 ok(secondary.connect.calledWith('server', 'username', 'authToken'));
156 this.assertProgress(
157 remoting.FallbackSignalStrategy.Progress.PRIMARY_FAILED);
158 170
159 secondary.setStateForTesting(remoting.SignalStrategy.State.NOT_CONNECTED, 171 secondary.setStateForTesting(remoting.SignalStrategy.State.NOT_CONNECTED,
160 false); 172 false);
161 secondary.setStateForTesting(remoting.SignalStrategy.State.CONNECTING, 173 secondary.setStateForTesting(remoting.SignalStrategy.State.CONNECTING,
162 false); 174 false);
163 secondary.setStateForTesting(remoting.SignalStrategy.State.HANDSHAKE, true); 175 secondary.setStateForTesting(remoting.SignalStrategy.State.HANDSHAKE, true);
164 176
165 ok(!onProgressCallback.called);
166 secondary.setStateForTesting(remoting.SignalStrategy.State.CONNECTED, true); 177 secondary.setStateForTesting(remoting.SignalStrategy.State.CONNECTED, true);
167 this.assertProgress(
168 remoting.FallbackSignalStrategy.Progress.SECONDARY_SUCCEEDED);
169 equal(strategy.getJid(), 'secondary-jid'); 178 equal(strategy.getJid(), 'secondary-jid');
170 179
180 strategy.sendConnectionSetupResults(logToServer);
181 logToServer.assertProgress(
182 remoting.SignalStrategy.Type.XMPP,
183 remoting.FallbackSignalStrategy.Progress.FAILED,
184 remoting.SignalStrategy.Type.WCS,
185 remoting.FallbackSignalStrategy.Progress.SUCCEEDED);
186
171 ok(!onIncomingStanzaCallback.called); 187 ok(!onIncomingStanzaCallback.called);
172 primary.onIncomingStanzaCallback('test-receive-primary'); 188 primary.onIncomingStanzaCallback('test-receive-primary');
173 secondary.onIncomingStanzaCallback('test-receive-secondary'); 189 secondary.onIncomingStanzaCallback('test-receive-secondary');
174 ok(onIncomingStanzaCallback.calledOnce); 190 ok(onIncomingStanzaCallback.calledOnce);
175 ok(onIncomingStanzaCallback.calledWith('test-receive-secondary')); 191 ok(onIncomingStanzaCallback.calledWith('test-receive-secondary'));
176 192
177 ok(!secondary.sendMessage.called); 193 ok(!secondary.sendMessage.called);
178 strategy.sendMessage('test-send'); 194 strategy.sendMessage('test-send');
179 ok(!primary.sendMessage.called); 195 ok(!primary.sendMessage.called);
180 ok(secondary.sendMessage.calledOnce); 196 ok(secondary.sendMessage.calledOnce);
181 ok(secondary.sendMessage.calledWith('test-send')); 197 ok(secondary.sendMessage.calledWith('test-send'));
182 } 198 }
183 ); 199 );
184 200
185 test('primary fails; secondary fails', 201 test('primary fails; secondary fails',
186 function() { 202 function() {
187 ok(!onStateChange.called); 203 ok(!onStateChange.called);
188 ok(!primary.connect.called); 204 ok(!primary.connect.called);
189 strategy.connect('server', 'username', 'authToken'); 205 strategy.connect('server', 'username', 'authToken');
190 ok(primary.connect.calledWith('server', 'username', 'authToken')); 206 ok(primary.connect.calledWith('server', 'username', 'authToken'));
191 207
192 primary.setStateForTesting(remoting.SignalStrategy.State.NOT_CONNECTED, 208 primary.setStateForTesting(remoting.SignalStrategy.State.NOT_CONNECTED,
193 true); 209 true);
194 ok(!onProgressCallback.called);
195 ok(!secondary.connect.called); 210 ok(!secondary.connect.called);
196 primary.setStateForTesting(remoting.SignalStrategy.State.CONNECTING, true); 211 primary.setStateForTesting(remoting.SignalStrategy.State.CONNECTING, true);
197 primary.setStateForTesting(remoting.SignalStrategy.State.FAILED, false); 212 primary.setStateForTesting(remoting.SignalStrategy.State.FAILED, false);
198 ok(secondary.connect.calledWith('server', 'username', 'authToken')); 213 ok(secondary.connect.calledWith('server', 'username', 'authToken'));
199 this.assertProgress(
200 remoting.FallbackSignalStrategy.Progress.PRIMARY_FAILED);
201 secondary.setStateForTesting(remoting.SignalStrategy.State.NOT_CONNECTED, 214 secondary.setStateForTesting(remoting.SignalStrategy.State.NOT_CONNECTED,
202 false); 215 false);
203 primary.setStateForTesting(remoting.SignalStrategy.State.CONNECTING, false); 216 primary.setStateForTesting(remoting.SignalStrategy.State.CONNECTING, false);
204 secondary.setStateForTesting(remoting.SignalStrategy.State.FAILED, true); 217 secondary.setStateForTesting(remoting.SignalStrategy.State.FAILED, true);
205 this.assertProgress(
206 remoting.FallbackSignalStrategy.Progress.SECONDARY_FAILED);
207 } 218 }
208 ); 219 );
209 220
210 test('primary times out; secondary succeeds', 221 test('primary times out; secondary succeeds',
211 function() { 222 function() {
212 ok(!onStateChange.called); 223 ok(!onStateChange.called);
213 ok(!primary.connect.called); 224 ok(!primary.connect.called);
214 strategy.connect('server', 'username', 'authToken'); 225 strategy.connect('server', 'username', 'authToken');
215 ok(primary.connect.calledWith('server', 'username', 'authToken')); 226 ok(primary.connect.calledWith('server', 'username', 'authToken'));
216 227
217 primary.setStateForTesting(remoting.SignalStrategy.State.NOT_CONNECTED, 228 primary.setStateForTesting(remoting.SignalStrategy.State.NOT_CONNECTED,
218 true); 229 true);
219 primary.setStateForTesting(remoting.SignalStrategy.State.CONNECTING, true); 230 primary.setStateForTesting(remoting.SignalStrategy.State.CONNECTING, true);
220 this.clock.tick(strategy.PRIMARY_CONNECT_TIMEOUT_MS_ - 1); 231 this.clock.tick(strategy.PRIMARY_CONNECT_TIMEOUT_MS_ - 1);
221 ok(!secondary.connect.called); 232 ok(!secondary.connect.called);
222 ok(!onProgressCallback.called);
223 this.clock.tick(1); 233 this.clock.tick(1);
224 ok(secondary.connect.calledWith('server', 'username', 'authToken')); 234 ok(secondary.connect.calledWith('server', 'username', 'authToken'));
225 this.assertProgress(
226 remoting.FallbackSignalStrategy.Progress.PRIMARY_TIMED_OUT);
227 secondary.setStateForTesting(remoting.SignalStrategy.State.NOT_CONNECTED, 235 secondary.setStateForTesting(remoting.SignalStrategy.State.NOT_CONNECTED,
228 false); 236 false);
229 secondary.setStateForTesting(remoting.SignalStrategy.State.CONNECTING, 237 secondary.setStateForTesting(remoting.SignalStrategy.State.CONNECTING,
230 false); 238 false);
231 secondary.setStateForTesting(remoting.SignalStrategy.State.HANDSHAKE, true); 239 secondary.setStateForTesting(remoting.SignalStrategy.State.HANDSHAKE, true);
232 secondary.setStateForTesting(remoting.SignalStrategy.State.CONNECTED, true); 240 secondary.setStateForTesting(remoting.SignalStrategy.State.CONNECTED, true);
233 this.assertProgress( 241 strategy.sendConnectionSetupResults(logToServer);
234 remoting.FallbackSignalStrategy.Progress.SECONDARY_SUCCEEDED); 242
235 secondary.setStateForTesting(remoting.SignalStrategy.State.CLOSED, true); 243 secondary.setStateForTesting(remoting.SignalStrategy.State.CLOSED, true);
236 primary.setStateForTesting(remoting.SignalStrategy.State.FAILED, false); 244 primary.setStateForTesting(remoting.SignalStrategy.State.FAILED, false);
237 this.assertProgress( 245
238 remoting.FallbackSignalStrategy.Progress.PRIMARY_FAILED_LATE); 246 logToServer.assertProgress(
247 remoting.SignalStrategy.Type.XMPP,
248 remoting.FallbackSignalStrategy.Progress.TIMED_OUT,
249 remoting.SignalStrategy.Type.WCS,
250 remoting.FallbackSignalStrategy.Progress.SUCCEEDED,
251 remoting.SignalStrategy.Type.XMPP,
252 remoting.FallbackSignalStrategy.Progress.FAILED_LATE);
239 } 253 }
240 ); 254 );
241 255
242 test('primary times out; secondary fails', 256 test('primary times out; secondary fails',
243 function() { 257 function() {
244 ok(!onStateChange.called); 258 ok(!onStateChange.called);
245 ok(!primary.connect.called); 259 ok(!primary.connect.called);
246 strategy.connect('server', 'username', 'authToken'); 260 strategy.connect('server', 'username', 'authToken');
247 ok(primary.connect.calledWith('server', 'username', 'authToken')); 261 ok(primary.connect.calledWith('server', 'username', 'authToken'));
248 262
249 primary.setStateForTesting(remoting.SignalStrategy.State.NOT_CONNECTED, 263 primary.setStateForTesting(remoting.SignalStrategy.State.NOT_CONNECTED,
250 true); 264 true);
251 primary.setStateForTesting(remoting.SignalStrategy.State.CONNECTING, true); 265 primary.setStateForTesting(remoting.SignalStrategy.State.CONNECTING, true);
252 this.clock.tick(strategy.PRIMARY_CONNECT_TIMEOUT_MS_ - 1); 266 this.clock.tick(strategy.PRIMARY_CONNECT_TIMEOUT_MS_ - 1);
253 ok(!secondary.connect.called); 267 ok(!secondary.connect.called);
254 ok(!onProgressCallback.called);
255 this.clock.tick(1); 268 this.clock.tick(1);
256 ok(secondary.connect.calledWith('server', 'username', 'authToken')); 269 ok(secondary.connect.calledWith('server', 'username', 'authToken'));
257 this.assertProgress(
258 remoting.FallbackSignalStrategy.Progress.PRIMARY_TIMED_OUT);
259 secondary.setStateForTesting(remoting.SignalStrategy.State.NOT_CONNECTED, 270 secondary.setStateForTesting(remoting.SignalStrategy.State.NOT_CONNECTED,
260 false); 271 false);
261 secondary.setStateForTesting(remoting.SignalStrategy.State.CONNECTING, 272 secondary.setStateForTesting(remoting.SignalStrategy.State.CONNECTING,
262 false); 273 false);
263 secondary.setStateForTesting(remoting.SignalStrategy.State.FAILED, true); 274 secondary.setStateForTesting(remoting.SignalStrategy.State.FAILED, true);
264 this.assertProgress(
265 remoting.FallbackSignalStrategy.Progress.SECONDARY_FAILED);
266 } 275 }
267 ); 276 );
268 277
269 test('primary times out; secondary succeeds; primary succeeds late', 278 test('primary times out; secondary succeeds; primary succeeds late',
270 function() { 279 function() {
271 ok(!onStateChange.called); 280 ok(!onStateChange.called);
272 ok(!primary.connect.called); 281 ok(!primary.connect.called);
273 strategy.connect('server', 'username', 'authToken'); 282 strategy.connect('server', 'username', 'authToken');
274 ok(primary.connect.calledWith('server', 'username', 'authToken')); 283 ok(primary.connect.calledWith('server', 'username', 'authToken'));
275 284
276 primary.setStateForTesting(remoting.SignalStrategy.State.NOT_CONNECTED, 285 primary.setStateForTesting(remoting.SignalStrategy.State.NOT_CONNECTED,
277 true); 286 true);
278 primary.setStateForTesting(remoting.SignalStrategy.State.CONNECTING, true); 287 primary.setStateForTesting(remoting.SignalStrategy.State.CONNECTING, true);
279 this.clock.tick(strategy.PRIMARY_CONNECT_TIMEOUT_MS_); 288 this.clock.tick(strategy.PRIMARY_CONNECT_TIMEOUT_MS_);
280 ok(secondary.connect.calledWith('server', 'username', 'authToken')); 289 ok(secondary.connect.calledWith('server', 'username', 'authToken'));
281 this.assertProgress(
282 remoting.FallbackSignalStrategy.Progress.PRIMARY_TIMED_OUT);
283 secondary.setStateForTesting(remoting.SignalStrategy.State.NOT_CONNECTED, 290 secondary.setStateForTesting(remoting.SignalStrategy.State.NOT_CONNECTED,
284 false); 291 false);
285 secondary.setStateForTesting(remoting.SignalStrategy.State.CONNECTING, 292 secondary.setStateForTesting(remoting.SignalStrategy.State.CONNECTING,
286 false); 293 false);
287 secondary.setStateForTesting(remoting.SignalStrategy.State.HANDSHAKE, true); 294 secondary.setStateForTesting(remoting.SignalStrategy.State.HANDSHAKE, true);
288 secondary.setStateForTesting(remoting.SignalStrategy.State.CONNECTED, true); 295 secondary.setStateForTesting(remoting.SignalStrategy.State.CONNECTED, true);
289 this.assertProgress( 296 strategy.sendConnectionSetupResults(logToServer);
290 remoting.FallbackSignalStrategy.Progress.SECONDARY_SUCCEEDED); 297
291 primary.setStateForTesting(remoting.SignalStrategy.State.HANDSHAKE, false); 298 primary.setStateForTesting(remoting.SignalStrategy.State.HANDSHAKE, false);
292 primary.setStateForTesting(remoting.SignalStrategy.State.CONNECTED, false); 299 primary.setStateForTesting(remoting.SignalStrategy.State.CONNECTED, false);
293 this.assertProgress( 300
294 remoting.FallbackSignalStrategy.Progress.PRIMARY_SUCCEEDED_LATE); 301 logToServer.assertProgress(
302 remoting.SignalStrategy.Type.XMPP,
303 remoting.FallbackSignalStrategy.Progress.TIMED_OUT,
304 remoting.SignalStrategy.Type.WCS,
305 remoting.FallbackSignalStrategy.Progress.SUCCEEDED,
306 remoting.SignalStrategy.Type.XMPP,
307 remoting.FallbackSignalStrategy.Progress.SUCCEEDED_LATE);
295 } 308 }
296 ); 309 );
297 310
298 })(); 311 })();
OLDNEW
« no previous file with comments | « remoting/webapp/crd/js/xmpp_connection.js ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698