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

Side by Side Diff: jingle/notifier/base/xmpp_connection_unittest.cc

Issue 5958001: The MediatorThread worker thread needs to have a CertVerifier... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Fix typos in xmpp_connection_unittest.cc Created 10 years 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 | Annotate | Revision Log
Property Changes:
Added: svn:eol-style
+ LF
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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 #include "jingle/notifier/base/xmpp_connection.h" 5 #include "jingle/notifier/base/xmpp_connection.h"
6 6
7 #include <string> 7 #include <string>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/basictypes.h" 10 #include "base/basictypes.h"
11 #include "base/message_loop.h" 11 #include "base/message_loop.h"
12 #include "base/weak_ptr.h" 12 #include "base/weak_ptr.h"
13 #include "jingle/notifier/base/weak_xmpp_client.h" 13 #include "jingle/notifier/base/weak_xmpp_client.h"
14 #include "net/base/cert_verifier.h"
14 #include "talk/xmpp/prexmppauth.h" 15 #include "talk/xmpp/prexmppauth.h"
15 #include "talk/xmpp/xmppclientsettings.h" 16 #include "talk/xmpp/xmppclientsettings.h"
16 #include "testing/gmock/include/gmock/gmock.h" 17 #include "testing/gmock/include/gmock/gmock.h"
17 #include "testing/gtest/include/gtest/gtest.h" 18 #include "testing/gtest/include/gtest/gtest.h"
18 19
19 namespace buzz { 20 namespace buzz {
20 class CaptchaChallenge; 21 class CaptchaChallenge;
21 class Jid; 22 class Jid;
22 } // namespace buzz 23 } // namespace buzz
23 24
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
69 70
70 virtual ~XmppConnectionTest() {} 71 virtual ~XmppConnectionTest() {}
71 72
72 virtual void TearDown() { 73 virtual void TearDown() {
73 // Clear out any messages posted by XmppConnection's destructor. 74 // Clear out any messages posted by XmppConnection's destructor.
74 message_loop_.RunAllPending(); 75 message_loop_.RunAllPending();
75 } 76 }
76 77
77 // Needed by XmppConnection. 78 // Needed by XmppConnection.
78 MessageLoop message_loop_; 79 MessageLoop message_loop_;
80 net::CertVerifier cert_verifier_;
79 MockXmppConnectionDelegate mock_xmpp_connection_delegate_; 81 MockXmppConnectionDelegate mock_xmpp_connection_delegate_;
80 scoped_ptr<MockPreXmppAuth> mock_pre_xmpp_auth_; 82 scoped_ptr<MockPreXmppAuth> mock_pre_xmpp_auth_;
81 }; 83 };
82 84
83 TEST_F(XmppConnectionTest, CreateDestroy) { 85 TEST_F(XmppConnectionTest, CreateDestroy) {
84 XmppConnection xmpp_connection(buzz::XmppClientSettings(), 86 XmppConnection xmpp_connection(buzz::XmppClientSettings(), &cert_verifier_,
85 &mock_xmpp_connection_delegate_, NULL); 87 &mock_xmpp_connection_delegate_, NULL);
86 } 88 }
87 89
88 TEST_F(XmppConnectionTest, ImmediateFailure) { 90 TEST_F(XmppConnectionTest, ImmediateFailure) {
89 // ChromeAsyncSocket::Connect() will always return false since we're 91 // ChromeAsyncSocket::Connect() will always return false since we're
90 // not setting a valid host, but this gets bubbled up as ERROR_NONE 92 // not setting a valid host, but this gets bubbled up as ERROR_NONE
91 // due to XmppClient's inconsistent error-handling. 93 // due to XmppClient's inconsistent error-handling.
92 EXPECT_CALL(mock_xmpp_connection_delegate_, 94 EXPECT_CALL(mock_xmpp_connection_delegate_,
93 OnError(buzz::XmppEngine::ERROR_NONE, 0, NULL)); 95 OnError(buzz::XmppEngine::ERROR_NONE, 0, NULL));
94 96
95 XmppConnection xmpp_connection(buzz::XmppClientSettings(), 97 XmppConnection xmpp_connection(buzz::XmppClientSettings(), &cert_verifier_,
96 &mock_xmpp_connection_delegate_, NULL); 98 &mock_xmpp_connection_delegate_, NULL);
97 99
98 // We need to do this *before* |xmpp_connection| gets destroyed or 100 // We need to do this *before* |xmpp_connection| gets destroyed or
99 // our delegate won't be called. 101 // our delegate won't be called.
100 message_loop_.RunAllPending(); 102 message_loop_.RunAllPending();
101 } 103 }
102 104
103 TEST_F(XmppConnectionTest, PreAuthFailure) { 105 TEST_F(XmppConnectionTest, PreAuthFailure) {
104 EXPECT_CALL(*mock_pre_xmpp_auth_, StartPreXmppAuth(_, _, _, _)); 106 EXPECT_CALL(*mock_pre_xmpp_auth_, StartPreXmppAuth(_, _, _, _));
105 EXPECT_CALL(*mock_pre_xmpp_auth_, IsAuthDone()).WillOnce(Return(true)); 107 EXPECT_CALL(*mock_pre_xmpp_auth_, IsAuthDone()).WillOnce(Return(true));
106 EXPECT_CALL(*mock_pre_xmpp_auth_, IsAuthorized()).WillOnce(Return(false)); 108 EXPECT_CALL(*mock_pre_xmpp_auth_, IsAuthorized()).WillOnce(Return(false));
107 EXPECT_CALL(*mock_pre_xmpp_auth_, HadError()).WillOnce(Return(true)); 109 EXPECT_CALL(*mock_pre_xmpp_auth_, HadError()).WillOnce(Return(true));
108 EXPECT_CALL(*mock_pre_xmpp_auth_, GetError()).WillOnce(Return(5)); 110 EXPECT_CALL(*mock_pre_xmpp_auth_, GetError()).WillOnce(Return(5));
109 111
110 EXPECT_CALL(mock_xmpp_connection_delegate_, 112 EXPECT_CALL(mock_xmpp_connection_delegate_,
111 OnError(buzz::XmppEngine::ERROR_AUTH, 5, NULL)); 113 OnError(buzz::XmppEngine::ERROR_AUTH, 5, NULL));
112 114
113 XmppConnection xmpp_connection( 115 XmppConnection xmpp_connection(
114 buzz::XmppClientSettings(), &mock_xmpp_connection_delegate_, 116 buzz::XmppClientSettings(), &cert_verifier_,
115 mock_pre_xmpp_auth_.release()); 117 &mock_xmpp_connection_delegate_, mock_pre_xmpp_auth_.release());
116 118
117 // We need to do this *before* |xmpp_connection| gets destroyed or 119 // We need to do this *before* |xmpp_connection| gets destroyed or
118 // our delegate won't be called. 120 // our delegate won't be called.
119 message_loop_.RunAllPending(); 121 message_loop_.RunAllPending();
120 } 122 }
121 123
122 TEST_F(XmppConnectionTest, FailureAfterPreAuth) { 124 TEST_F(XmppConnectionTest, FailureAfterPreAuth) {
123 EXPECT_CALL(*mock_pre_xmpp_auth_, StartPreXmppAuth(_, _, _, _)); 125 EXPECT_CALL(*mock_pre_xmpp_auth_, StartPreXmppAuth(_, _, _, _));
124 EXPECT_CALL(*mock_pre_xmpp_auth_, IsAuthDone()).WillOnce(Return(true)); 126 EXPECT_CALL(*mock_pre_xmpp_auth_, IsAuthDone()).WillOnce(Return(true));
125 EXPECT_CALL(*mock_pre_xmpp_auth_, IsAuthorized()).WillOnce(Return(true)); 127 EXPECT_CALL(*mock_pre_xmpp_auth_, IsAuthorized()).WillOnce(Return(true));
126 EXPECT_CALL(*mock_pre_xmpp_auth_, GetAuthCookie()).WillOnce(Return("")); 128 EXPECT_CALL(*mock_pre_xmpp_auth_, GetAuthCookie()).WillOnce(Return(""));
127 129
128 EXPECT_CALL(mock_xmpp_connection_delegate_, 130 EXPECT_CALL(mock_xmpp_connection_delegate_,
129 OnError(buzz::XmppEngine::ERROR_NONE, 0, NULL)); 131 OnError(buzz::XmppEngine::ERROR_NONE, 0, NULL));
130 132
131 XmppConnection xmpp_connection( 133 XmppConnection xmpp_connection(
132 buzz::XmppClientSettings(), &mock_xmpp_connection_delegate_, 134 buzz::XmppClientSettings(), &cert_verifier_,
133 mock_pre_xmpp_auth_.release()); 135 &mock_xmpp_connection_delegate_, mock_pre_xmpp_auth_.release());
134 136
135 // We need to do this *before* |xmpp_connection| gets destroyed or 137 // We need to do this *before* |xmpp_connection| gets destroyed or
136 // our delegate won't be called. 138 // our delegate won't be called.
137 message_loop_.RunAllPending(); 139 message_loop_.RunAllPending();
138 } 140 }
139 141
140 TEST_F(XmppConnectionTest, RaisedError) { 142 TEST_F(XmppConnectionTest, RaisedError) {
141 EXPECT_CALL(mock_xmpp_connection_delegate_, 143 EXPECT_CALL(mock_xmpp_connection_delegate_,
142 OnError(buzz::XmppEngine::ERROR_NONE, 0, NULL)); 144 OnError(buzz::XmppEngine::ERROR_NONE, 0, NULL));
143 145
144 XmppConnection xmpp_connection(buzz::XmppClientSettings(), 146 XmppConnection xmpp_connection(buzz::XmppClientSettings(), &cert_verifier_,
145 &mock_xmpp_connection_delegate_, NULL); 147 &mock_xmpp_connection_delegate_, NULL);
146 148
147 xmpp_connection.weak_xmpp_client_-> 149 xmpp_connection.weak_xmpp_client_->
148 SignalStateChange(buzz::XmppEngine::STATE_CLOSED); 150 SignalStateChange(buzz::XmppEngine::STATE_CLOSED);
149 } 151 }
150 152
151 TEST_F(XmppConnectionTest, Connect) { 153 TEST_F(XmppConnectionTest, Connect) {
152 base::WeakPtr<talk_base::Task> weak_ptr; 154 base::WeakPtr<talk_base::Task> weak_ptr;
153 EXPECT_CALL(mock_xmpp_connection_delegate_, OnConnect(_)). 155 EXPECT_CALL(mock_xmpp_connection_delegate_, OnConnect(_)).
154 WillOnce(SaveArg<0>(&weak_ptr)); 156 WillOnce(SaveArg<0>(&weak_ptr));
155 157
156 { 158 {
157 XmppConnection xmpp_connection(buzz::XmppClientSettings(), 159 XmppConnection xmpp_connection(buzz::XmppClientSettings(), &cert_verifier_,
158 &mock_xmpp_connection_delegate_, NULL); 160 &mock_xmpp_connection_delegate_, NULL);
159 161
160 xmpp_connection.weak_xmpp_client_-> 162 xmpp_connection.weak_xmpp_client_->
161 SignalStateChange(buzz::XmppEngine::STATE_OPEN); 163 SignalStateChange(buzz::XmppEngine::STATE_OPEN);
162 EXPECT_EQ(xmpp_connection.weak_xmpp_client_.get(), weak_ptr.get()); 164 EXPECT_EQ(xmpp_connection.weak_xmpp_client_.get(), weak_ptr.get());
163 } 165 }
164 166
165 EXPECT_EQ(NULL, weak_ptr.get()); 167 EXPECT_EQ(NULL, weak_ptr.get());
166 } 168 }
167 169
168 TEST_F(XmppConnectionTest, MultipleConnect) { 170 TEST_F(XmppConnectionTest, MultipleConnect) {
169 EXPECT_DEBUG_DEATH({ 171 EXPECT_DEBUG_DEATH({
170 base::WeakPtr<talk_base::Task> weak_ptr; 172 base::WeakPtr<talk_base::Task> weak_ptr;
171 EXPECT_CALL(mock_xmpp_connection_delegate_, OnConnect(_)). 173 EXPECT_CALL(mock_xmpp_connection_delegate_, OnConnect(_)).
172 WillOnce(SaveArg<0>(&weak_ptr)); 174 WillOnce(SaveArg<0>(&weak_ptr));
173 175
174 XmppConnection xmpp_connection(buzz::XmppClientSettings(), 176 XmppConnection xmpp_connection(buzz::XmppClientSettings(), &cert_verifier_,
175 &mock_xmpp_connection_delegate_, NULL); 177 &mock_xmpp_connection_delegate_, NULL);
176 178
177 xmpp_connection.weak_xmpp_client_-> 179 xmpp_connection.weak_xmpp_client_->
178 SignalStateChange(buzz::XmppEngine::STATE_OPEN); 180 SignalStateChange(buzz::XmppEngine::STATE_OPEN);
179 for (int i = 0; i < 3; ++i) { 181 for (int i = 0; i < 3; ++i) {
180 xmpp_connection.weak_xmpp_client_-> 182 xmpp_connection.weak_xmpp_client_->
181 SignalStateChange(buzz::XmppEngine::STATE_OPEN); 183 SignalStateChange(buzz::XmppEngine::STATE_OPEN);
182 } 184 }
183 185
184 EXPECT_EQ(xmpp_connection.weak_xmpp_client_.get(), weak_ptr.get()); 186 EXPECT_EQ(xmpp_connection.weak_xmpp_client_.get(), weak_ptr.get());
185 }, "more than once"); 187 }, "more than once");
186 } 188 }
187 189
188 TEST_F(XmppConnectionTest, ConnectThenError) { 190 TEST_F(XmppConnectionTest, ConnectThenError) {
189 base::WeakPtr<talk_base::Task> weak_ptr; 191 base::WeakPtr<talk_base::Task> weak_ptr;
190 EXPECT_CALL(mock_xmpp_connection_delegate_, OnConnect(_)). 192 EXPECT_CALL(mock_xmpp_connection_delegate_, OnConnect(_)).
191 WillOnce(SaveArg<0>(&weak_ptr)); 193 WillOnce(SaveArg<0>(&weak_ptr));
192 EXPECT_CALL(mock_xmpp_connection_delegate_, 194 EXPECT_CALL(mock_xmpp_connection_delegate_,
193 OnError(buzz::XmppEngine::ERROR_NONE, 0, NULL)); 195 OnError(buzz::XmppEngine::ERROR_NONE, 0, NULL));
194 196
195 XmppConnection xmpp_connection(buzz::XmppClientSettings(), 197 XmppConnection xmpp_connection(buzz::XmppClientSettings(), &cert_verifier_,
196 &mock_xmpp_connection_delegate_, NULL); 198 &mock_xmpp_connection_delegate_, NULL);
197 199
198 xmpp_connection.weak_xmpp_client_-> 200 xmpp_connection.weak_xmpp_client_->
199 SignalStateChange(buzz::XmppEngine::STATE_OPEN); 201 SignalStateChange(buzz::XmppEngine::STATE_OPEN);
200 EXPECT_EQ(xmpp_connection.weak_xmpp_client_.get(), weak_ptr.get()); 202 EXPECT_EQ(xmpp_connection.weak_xmpp_client_.get(), weak_ptr.get());
201 203
202 xmpp_connection.weak_xmpp_client_-> 204 xmpp_connection.weak_xmpp_client_->
203 SignalStateChange(buzz::XmppEngine::STATE_CLOSED); 205 SignalStateChange(buzz::XmppEngine::STATE_CLOSED);
204 EXPECT_EQ(NULL, weak_ptr.get()); 206 EXPECT_EQ(NULL, weak_ptr.get());
205 } 207 }
206 208
207 } // namespace notifier 209 } // namespace notifier
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698