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 (function() { | 5 (function() { |
6 | 6 |
7 'use strict'; | 7 'use strict'; |
8 | 8 |
9 /** @type {remoting.TelemetryEventWriter.Service} */ | 9 /** @type {remoting.TelemetryEventWriter.Service} */ |
10 var service; | 10 var service; |
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
85 }); | 85 }); |
86 }); | 86 }); |
87 | 87 |
88 QUnit.test('should send CANCELED event when window is closed while started.', | 88 QUnit.test('should send CANCELED event when window is closed while started.', |
89 function(assert) { | 89 function(assert) { |
90 var writeStub = sinon.stub(eventWriter, 'write'); | 90 var writeStub = sinon.stub(eventWriter, 'write'); |
91 return service.init().then(function() { | 91 return service.init().then(function() { |
92 chrome.app.window.current().id = 'fake-window-id'; | 92 chrome.app.window.current().id = 'fake-window-id'; |
93 }).then(function() { | 93 }).then(function() { |
94 logger.logSessionStateChange( | 94 logger.logSessionStateChange( |
95 remoting.ChromotingEvent.SessionState.STARTED, | 95 remoting.ChromotingEvent.SessionState.STARTED); |
96 remoting.ChromotingEvent.ConnectionError.NONE); | |
97 }).then(function() { | 96 }).then(function() { |
98 return service.unbindSession('fake-window-id'); | 97 return service.unbindSession('fake-window-id'); |
99 }).then(function() { | 98 }).then(function() { |
100 var Event = remoting.ChromotingEvent; | 99 var Event = remoting.ChromotingEvent; |
101 verifyEvent(writeStub, assert, 1, { | 100 verifyEvent(writeStub, assert, 1, { |
102 type: Event.Type.SESSION_STATE, | 101 type: Event.Type.SESSION_STATE, |
103 session_state: Event.SessionState.CONNECTION_CANCELED, | 102 session_state: Event.SessionState.CONNECTION_CANCELED, |
104 connection_error: Event.ConnectionError.NONE, | 103 connection_error: Event.ConnectionError.NONE, |
105 application_id: 'extensionId', | 104 application_id: 'extensionId', |
106 role: Event.Role.CLIENT, | 105 role: Event.Role.CLIENT, |
107 mode: Event.Mode.ME2ME, | 106 mode: Event.Mode.ME2ME, |
108 connection_type: Event.ConnectionType.STUN, | 107 connection_type: Event.ConnectionType.STUN, |
109 host_version: 'host_version', | 108 host_version: 'host_version', |
110 host_os: remoting.ChromotingEvent.Os.OTHER, | 109 host_os: remoting.ChromotingEvent.Os.OTHER, |
111 host_os_version: 'host_os_version' | 110 host_os_version: 'host_os_version' |
112 }); | 111 }); |
113 }); | 112 }); |
114 }); | 113 }); |
115 | 114 |
116 QUnit.test('should send CANCELED event when window is closed while connecting.', | 115 QUnit.test('should send CANCELED event when window is closed while connecting.', |
117 function(assert) { | 116 function(assert) { |
118 var writeStub = sinon.stub(eventWriter, 'write'); | 117 var writeStub = sinon.stub(eventWriter, 'write'); |
119 return service.init().then(function() { | 118 return service.init().then(function() { |
120 chrome.app.window.current().id = 'fake-window-id'; | 119 chrome.app.window.current().id = 'fake-window-id'; |
121 }).then(function() { | 120 }).then(function() { |
122 logger.logClientSessionStateChange( | 121 logger.logSessionStateChange( |
123 remoting.ClientSession.State.CONNECTING, remoting.Error.none(), null); | 122 remoting.ChromotingEvent.SessionState.CONNECTING); |
124 }).then(function() { | 123 }).then(function() { |
125 return service.unbindSession('fake-window-id'); | 124 return service.unbindSession('fake-window-id'); |
126 }).then(function() { | 125 }).then(function() { |
127 var Event = remoting.ChromotingEvent; | 126 var Event = remoting.ChromotingEvent; |
128 verifyEvent(writeStub, assert, 1, { | 127 verifyEvent(writeStub, assert, 1, { |
129 type: Event.Type.SESSION_STATE, | 128 type: Event.Type.SESSION_STATE, |
130 session_state: Event.SessionState.CONNECTION_CANCELED, | 129 session_state: Event.SessionState.CONNECTION_CANCELED, |
131 connection_error: Event.ConnectionError.NONE, | 130 connection_error: Event.ConnectionError.NONE, |
132 application_id: 'extensionId', | 131 application_id: 'extensionId', |
133 role: Event.Role.CLIENT, | 132 role: Event.Role.CLIENT, |
134 mode: Event.Mode.ME2ME, | 133 mode: Event.Mode.ME2ME, |
135 connection_type: Event.ConnectionType.STUN, | 134 connection_type: Event.ConnectionType.STUN, |
136 host_version: 'host_version', | 135 host_version: 'host_version', |
137 host_os: remoting.ChromotingEvent.Os.OTHER, | 136 host_os: remoting.ChromotingEvent.Os.OTHER, |
138 host_os_version: 'host_os_version' | 137 host_os_version: 'host_os_version' |
139 }); | 138 }); |
140 }); | 139 }); |
141 }); | 140 }); |
142 | 141 |
143 QUnit.test('should send CLOSED event when window is closed while connected.', | 142 QUnit.test('should send CLOSED event when window is closed while connected.', |
144 function(assert) { | 143 function(assert) { |
145 var writeStub = sinon.stub(eventWriter, 'write'); | 144 var writeStub = sinon.stub(eventWriter, 'write'); |
146 | 145 |
147 return service.init().then(function() { | 146 return service.init().then(function() { |
148 chrome.app.window.current().id = 'fake-window-id'; | 147 chrome.app.window.current().id = 'fake-window-id'; |
149 }).then(function() { | 148 }).then(function() { |
150 logger.logClientSessionStateChange( | 149 logger.logSessionStateChange( |
151 remoting.ClientSession.State.CONNECTING, remoting.Error.none(), null); | 150 remoting.ChromotingEvent.SessionState.CONNECTING); |
152 }).then(function() { | 151 }).then(function() { |
153 logger.logClientSessionStateChange( | 152 logger.logSessionStateChange( |
154 remoting.ClientSession.State.CONNECTED, remoting.Error.none(), null); | 153 remoting.ChromotingEvent.SessionState.CONNECTED); |
155 }).then(function() { | 154 }).then(function() { |
156 return service.unbindSession('fake-window-id'); | 155 return service.unbindSession('fake-window-id'); |
157 }).then(function() { | 156 }).then(function() { |
158 var Event = remoting.ChromotingEvent; | 157 var Event = remoting.ChromotingEvent; |
159 verifyEvent(writeStub, assert, 2, { | 158 verifyEvent(writeStub, assert, 2, { |
160 type: Event.Type.SESSION_STATE, | 159 type: Event.Type.SESSION_STATE, |
161 session_state: Event.SessionState.CLOSED, | 160 session_state: Event.SessionState.CLOSED, |
162 connection_error: Event.ConnectionError.NONE, | 161 connection_error: Event.ConnectionError.NONE, |
163 application_id: 'extensionId', | 162 application_id: 'extensionId', |
164 role: Event.Role.CLIENT, | 163 role: Event.Role.CLIENT, |
165 mode: Event.Mode.ME2ME, | 164 mode: Event.Mode.ME2ME, |
166 connection_type: Event.ConnectionType.STUN, | 165 connection_type: Event.ConnectionType.STUN, |
167 host_version: 'host_version', | 166 host_version: 'host_version', |
168 host_os: remoting.ChromotingEvent.Os.OTHER, | 167 host_os: remoting.ChromotingEvent.Os.OTHER, |
169 host_os_version: 'host_os_version' | 168 host_os_version: 'host_os_version' |
170 }); | 169 }); |
171 }); | 170 }); |
172 }); | 171 }); |
173 | 172 |
174 QUnit.test('should not send CLOSED event when window is closed unconnected.', | 173 QUnit.test('should not send CLOSED event when window is closed unconnected.', |
175 function(assert) { | 174 function(assert) { |
176 | 175 |
177 var mockEventWriter = sinon.mock(eventWriter); | 176 var mockEventWriter = sinon.mock(eventWriter); |
178 mockEventWriter.expects('write').exactly(2); | 177 mockEventWriter.expects('write').exactly(2); |
179 | 178 |
180 return service.init().then(function() { | 179 return service.init().then(function() { |
181 chrome.app.window.current().id = 'fake-window-id'; | 180 chrome.app.window.current().id = 'fake-window-id'; |
182 }).then(function() { | 181 }).then(function() { |
183 logger.logClientSessionStateChange( | 182 logger.logSessionStateChange( |
184 remoting.ClientSession.State.CONNECTING, remoting.Error.none(), null); | 183 remoting.ChromotingEvent.SessionState.CONNECTING); |
185 }).then(function() { | 184 }).then(function() { |
186 logger.logClientSessionStateChange( | 185 logger.logSessionStateChange( |
187 remoting.ClientSession.State.FAILED, remoting.Error.none(), null); | 186 remoting.ChromotingEvent.SessionState.CONNECTION_FAILED); |
188 }).then(function() { | 187 }).then(function() { |
189 return service.unbindSession('fake-window-id'); | 188 return service.unbindSession('fake-window-id'); |
190 }).then(function() { | 189 }).then(function() { |
191 mockEventWriter.verify(); | 190 mockEventWriter.verify(); |
192 }); | 191 }); |
193 }); | 192 }); |
194 | 193 |
195 })(); | 194 })(); |
OLD | NEW |