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

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

Issue 530213004: Use XMPP in V2 webapp (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 3 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/signal_strategy.js ('k') | remoting/webapp/wcs_adapter.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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 testUsername = 'testUsername@gmail.com'; 9 var testUsername = 'testUsername@gmail.com';
10 var testToken = 'testToken'; 10 var testToken = 'testToken';
(...skipping 11 matching lines...) Expand all
22 onStanzaStr(new XMLSerializer().serializeToString(stanza)); 22 onStanzaStr(new XMLSerializer().serializeToString(stanza));
23 } 23 }
24 24
25 sinon.stub(chrome.socket, 'create'); 25 sinon.stub(chrome.socket, 'create');
26 sinon.stub(chrome.socket, 'connect'); 26 sinon.stub(chrome.socket, 'connect');
27 sinon.stub(chrome.socket, 'write'); 27 sinon.stub(chrome.socket, 'write');
28 sinon.stub(chrome.socket, 'read'); 28 sinon.stub(chrome.socket, 'read');
29 sinon.stub(chrome.socket, 'destroy'); 29 sinon.stub(chrome.socket, 'destroy');
30 sinon.stub(chrome.socket, 'secure'); 30 sinon.stub(chrome.socket, 'secure');
31 31
32 connection = new remoting.XmppConnection(onStateChange, onStanza); 32 connection = new remoting.XmppConnection(onStateChange);
33 connection.setIncomingStanzaCallback(onStanza);
33 }, 34 },
34 35
35 teardown: function() { 36 teardown: function() {
36 chrome.socket.create.restore(); 37 chrome.socket.create.restore();
37 chrome.socket.connect.restore(); 38 chrome.socket.connect.restore();
38 chrome.socket.write.restore(); 39 chrome.socket.write.restore();
39 chrome.socket.read.restore(); 40 chrome.socket.read.restore();
40 chrome.socket.destroy.restore(); 41 chrome.socket.destroy.restore();
41 chrome.socket.secure.restore(); 42 chrome.socket.secure.restore();
42 } 43 }
43 }); 44 });
44 45
45 test('should go to FAILED state when failed to connect', function() { 46 test('should go to FAILED state when failed to connect', function() {
46 connection.connect( 47 connection.connect(
47 'xmpp.example.com:123', 'testUsername@gmail.com', 'testToken'); 48 'xmpp.example.com:123', 'testUsername@gmail.com', 'testToken');
48 sinon.assert.calledWith(onStateChange, 49 sinon.assert.calledWith(onStateChange,
49 remoting.XmppConnection.State.CONNECTING); 50 remoting.SignalStrategy.State.CONNECTING);
50 sinon.assert.calledWith(chrome.socket.create, "tcp", {}); 51 sinon.assert.calledWith(chrome.socket.create, "tcp", {});
51 chrome.socket.create.getCall(0).args[2]({socketId: socketId}); 52 chrome.socket.create.getCall(0).args[2]({socketId: socketId});
52 53
53 sinon.assert.calledWith( 54 sinon.assert.calledWith(
54 chrome.socket.connect, socketId, "xmpp.example.com", 123); 55 chrome.socket.connect, socketId, "xmpp.example.com", 123);
55 chrome.socket.connect.getCall(0).args[3](-1); 56 chrome.socket.connect.getCall(0).args[3](-1);
56 57
57 QUnit.equal(connection.getError(), remoting.Error.NETWORK_FAILURE); 58 QUnit.equal(connection.getError(), remoting.Error.NETWORK_FAILURE);
58 }); 59 });
59 60
60 test('should use XmppLoginHandler to complete handshake and read data', 61 test('should use XmppLoginHandler to complete handshake and read data',
61 function() { 62 function() {
62 connection.connect( 63 connection.connect(
63 'xmpp.example.com:123', 'testUsername@gmail.com', 'testToken'); 64 'xmpp.example.com:123', 'testUsername@gmail.com', 'testToken');
64 sinon.assert.calledWith(onStateChange, 65 sinon.assert.calledWith(onStateChange,
65 remoting.XmppConnection.State.CONNECTING); 66 remoting.SignalStrategy.State.CONNECTING);
66 sinon.assert.calledWith(chrome.socket.create, "tcp", {}); 67 sinon.assert.calledWith(chrome.socket.create, "tcp", {});
67 chrome.socket.create.getCall(0).args[2]({socketId: socketId}); 68 chrome.socket.create.getCall(0).args[2]({socketId: socketId});
68 69
69 sinon.assert.calledWith( 70 sinon.assert.calledWith(
70 chrome.socket.connect, socketId, "xmpp.example.com", 123); 71 chrome.socket.connect, socketId, "xmpp.example.com", 123);
71 chrome.socket.connect.getCall(0).args[3](0); 72 chrome.socket.connect.getCall(0).args[3](0);
72 73
73 sinon.assert.calledWith(onStateChange, 74 sinon.assert.calledWith(onStateChange,
74 remoting.XmppConnection.State.HANDSHAKE); 75 remoting.SignalStrategy.State.HANDSHAKE);
75 76
76 var parser = new remoting.XmppStreamParser(); 77 var parser = new remoting.XmppStreamParser();
77 var parserMock = sinon.mock(parser); 78 var parserMock = sinon.mock(parser);
78 var setCallbacksCalled = parserMock.expects('setCallbacks').once(); 79 var setCallbacksCalled = parserMock.expects('setCallbacks').once();
79 connection.loginHandler_.onHandshakeDoneCallback_('test@example.com/123123', 80 connection.loginHandler_.onHandshakeDoneCallback_('test@example.com/123123',
80 parser); 81 parser);
81 sinon.assert.calledWith(onStateChange, 82 sinon.assert.calledWith(onStateChange,
82 remoting.XmppConnection.State.CONNECTED); 83 remoting.SignalStrategy.State.CONNECTED);
83 setCallbacksCalled.verify(); 84 setCallbacksCalled.verify();
84 85
85 // Simulate read() callback with |data|. It should be passed to the parser. 86 // Simulate read() callback with |data|. It should be passed to the parser.
86 var data = base.encodeUtf8('<iq id="1">hello</iq>'); 87 var data = base.encodeUtf8('<iq id="1">hello</iq>');
87 sinon.assert.calledWith(chrome.socket.read, socketId); 88 sinon.assert.calledWith(chrome.socket.read, socketId);
88 var appendDataCalled = parserMock.expects('appendData').once().withArgs(data); 89 var appendDataCalled = parserMock.expects('appendData').once().withArgs(data);
89 chrome.socket.read.getCall(0).args[1]({resultCode: 0, data: data}); 90 chrome.socket.read.getCall(0).args[1]({resultCode: 0, data: data});
90 appendDataCalled.verify(); 91 appendDataCalled.verify();
91 }); 92 });
92 93
93 })(); 94 })();
OLDNEW
« no previous file with comments | « remoting/webapp/signal_strategy.js ('k') | remoting/webapp/wcs_adapter.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698