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

Side by Side Diff: remoting/host/heartbeat_sender_unittest.cc

Issue 11364031: remoting: Update calls froms RunAllPending() to RunUntilIdle(). (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 1 month 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
« no previous file with comments | « no previous file | remoting/host/host_key_pair_unittest.cc » ('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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "remoting/host/heartbeat_sender.h" 5 #include "remoting/host/heartbeat_sender.h"
6 6
7 #include <set> 7 #include <set>
8 8
9 #include "base/memory/ref_counted.h" 9 #include "base/memory/ref_counted.h"
10 #include "base/message_loop.h" 10 #include "base/message_loop.h"
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
91 TEST_F(HeartbeatSenderTest, DoSendStanza) { 91 TEST_F(HeartbeatSenderTest, DoSendStanza) {
92 XmlElement* sent_iq = NULL; 92 XmlElement* sent_iq = NULL;
93 EXPECT_CALL(signal_strategy_, GetLocalJid()) 93 EXPECT_CALL(signal_strategy_, GetLocalJid())
94 .WillRepeatedly(Return(kTestJid)); 94 .WillRepeatedly(Return(kTestJid));
95 EXPECT_CALL(signal_strategy_, GetNextId()) 95 EXPECT_CALL(signal_strategy_, GetNextId())
96 .WillOnce(Return(kStanzaId)); 96 .WillOnce(Return(kStanzaId));
97 EXPECT_CALL(signal_strategy_, SendStanzaPtr(NotNull())) 97 EXPECT_CALL(signal_strategy_, SendStanzaPtr(NotNull()))
98 .WillOnce(DoAll(SaveArg<0>(&sent_iq), Return(true))); 98 .WillOnce(DoAll(SaveArg<0>(&sent_iq), Return(true)));
99 99
100 heartbeat_sender_->OnSignalStrategyStateChange(SignalStrategy::CONNECTED); 100 heartbeat_sender_->OnSignalStrategyStateChange(SignalStrategy::CONNECTED);
101 message_loop_.RunAllPending(); 101 message_loop_.RunUntilIdle();
102 102
103 scoped_ptr<XmlElement> stanza(sent_iq); 103 scoped_ptr<XmlElement> stanza(sent_iq);
104 ASSERT_TRUE(stanza != NULL); 104 ASSERT_TRUE(stanza != NULL);
105 ValidateHeartbeatStanza(stanza.get(), "0"); 105 ValidateHeartbeatStanza(stanza.get(), "0");
106 106
107 heartbeat_sender_->OnSignalStrategyStateChange(SignalStrategy::DISCONNECTED); 107 heartbeat_sender_->OnSignalStrategyStateChange(SignalStrategy::DISCONNECTED);
108 message_loop_.RunAllPending(); 108 message_loop_.RunUntilIdle();
109 } 109 }
110 110
111 // Call Start() followed by Stop(), twice, and make sure two valid heartbeats 111 // Call Start() followed by Stop(), twice, and make sure two valid heartbeats
112 // are sent, with the correct sequence IDs. 112 // are sent, with the correct sequence IDs.
113 TEST_F(HeartbeatSenderTest, DoSendStanzaTwice) { 113 TEST_F(HeartbeatSenderTest, DoSendStanzaTwice) {
114 XmlElement* sent_iq = NULL; 114 XmlElement* sent_iq = NULL;
115 EXPECT_CALL(signal_strategy_, GetLocalJid()) 115 EXPECT_CALL(signal_strategy_, GetLocalJid())
116 .WillRepeatedly(Return(kTestJid)); 116 .WillRepeatedly(Return(kTestJid));
117 EXPECT_CALL(signal_strategy_, GetNextId()) 117 EXPECT_CALL(signal_strategy_, GetNextId())
118 .WillOnce(Return(kStanzaId)); 118 .WillOnce(Return(kStanzaId));
119 EXPECT_CALL(signal_strategy_, SendStanzaPtr(NotNull())) 119 EXPECT_CALL(signal_strategy_, SendStanzaPtr(NotNull()))
120 .WillOnce(DoAll(SaveArg<0>(&sent_iq), Return(true))); 120 .WillOnce(DoAll(SaveArg<0>(&sent_iq), Return(true)));
121 121
122 heartbeat_sender_->OnSignalStrategyStateChange(SignalStrategy::CONNECTED); 122 heartbeat_sender_->OnSignalStrategyStateChange(SignalStrategy::CONNECTED);
123 message_loop_.RunAllPending(); 123 message_loop_.RunUntilIdle();
124 124
125 scoped_ptr<XmlElement> stanza(sent_iq); 125 scoped_ptr<XmlElement> stanza(sent_iq);
126 ASSERT_TRUE(stanza != NULL); 126 ASSERT_TRUE(stanza != NULL);
127 ValidateHeartbeatStanza(stanza.get(), "0"); 127 ValidateHeartbeatStanza(stanza.get(), "0");
128 128
129 heartbeat_sender_->OnSignalStrategyStateChange(SignalStrategy::DISCONNECTED); 129 heartbeat_sender_->OnSignalStrategyStateChange(SignalStrategy::DISCONNECTED);
130 message_loop_.RunAllPending(); 130 message_loop_.RunUntilIdle();
131 131
132 EXPECT_CALL(signal_strategy_, GetLocalJid()) 132 EXPECT_CALL(signal_strategy_, GetLocalJid())
133 .WillRepeatedly(Return(kTestJid)); 133 .WillRepeatedly(Return(kTestJid));
134 EXPECT_CALL(signal_strategy_, GetNextId()) 134 EXPECT_CALL(signal_strategy_, GetNextId())
135 .WillOnce(Return(kStanzaId + 1)); 135 .WillOnce(Return(kStanzaId + 1));
136 EXPECT_CALL(signal_strategy_, SendStanzaPtr(NotNull())) 136 EXPECT_CALL(signal_strategy_, SendStanzaPtr(NotNull()))
137 .WillOnce(DoAll(SaveArg<0>(&sent_iq), Return(true))); 137 .WillOnce(DoAll(SaveArg<0>(&sent_iq), Return(true)));
138 138
139 heartbeat_sender_->OnSignalStrategyStateChange(SignalStrategy::CONNECTED); 139 heartbeat_sender_->OnSignalStrategyStateChange(SignalStrategy::CONNECTED);
140 message_loop_.RunAllPending(); 140 message_loop_.RunUntilIdle();
141 141
142 scoped_ptr<XmlElement> stanza2(sent_iq); 142 scoped_ptr<XmlElement> stanza2(sent_iq);
143 ValidateHeartbeatStanza(stanza2.get(), "1"); 143 ValidateHeartbeatStanza(stanza2.get(), "1");
144 144
145 heartbeat_sender_->OnSignalStrategyStateChange(SignalStrategy::DISCONNECTED); 145 heartbeat_sender_->OnSignalStrategyStateChange(SignalStrategy::DISCONNECTED);
146 message_loop_.RunAllPending(); 146 message_loop_.RunUntilIdle();
147 } 147 }
148 148
149 // Call Start() followed by Stop(), make sure a valid Iq stanza is sent, 149 // Call Start() followed by Stop(), make sure a valid Iq stanza is sent,
150 // reply with an expected sequence ID, and make sure two valid heartbeats 150 // reply with an expected sequence ID, and make sure two valid heartbeats
151 // are sent, with the correct sequence IDs. 151 // are sent, with the correct sequence IDs.
152 TEST_F(HeartbeatSenderTest, DoSendStanzaWithExpectedSequenceId) { 152 TEST_F(HeartbeatSenderTest, DoSendStanzaWithExpectedSequenceId) {
153 XmlElement* sent_iq = NULL; 153 XmlElement* sent_iq = NULL;
154 EXPECT_CALL(signal_strategy_, GetLocalJid()) 154 EXPECT_CALL(signal_strategy_, GetLocalJid())
155 .WillRepeatedly(Return(kTestJid)); 155 .WillRepeatedly(Return(kTestJid));
156 EXPECT_CALL(signal_strategy_, GetNextId()) 156 EXPECT_CALL(signal_strategy_, GetNextId())
157 .WillOnce(Return(kStanzaId)); 157 .WillOnce(Return(kStanzaId));
158 EXPECT_CALL(signal_strategy_, SendStanzaPtr(NotNull())) 158 EXPECT_CALL(signal_strategy_, SendStanzaPtr(NotNull()))
159 .WillOnce(DoAll(SaveArg<0>(&sent_iq), Return(true))); 159 .WillOnce(DoAll(SaveArg<0>(&sent_iq), Return(true)));
160 160
161 heartbeat_sender_->OnSignalStrategyStateChange(SignalStrategy::CONNECTED); 161 heartbeat_sender_->OnSignalStrategyStateChange(SignalStrategy::CONNECTED);
162 message_loop_.RunAllPending(); 162 message_loop_.RunUntilIdle();
163 163
164 scoped_ptr<XmlElement> stanza(sent_iq); 164 scoped_ptr<XmlElement> stanza(sent_iq);
165 ASSERT_TRUE(stanza != NULL); 165 ASSERT_TRUE(stanza != NULL);
166 ValidateHeartbeatStanza(stanza.get(), "0"); 166 ValidateHeartbeatStanza(stanza.get(), "0");
167 167
168 XmlElement* sent_iq2 = NULL; 168 XmlElement* sent_iq2 = NULL;
169 EXPECT_CALL(signal_strategy_, GetLocalJid()) 169 EXPECT_CALL(signal_strategy_, GetLocalJid())
170 .WillRepeatedly(Return(kTestJid)); 170 .WillRepeatedly(Return(kTestJid));
171 EXPECT_CALL(signal_strategy_, GetNextId()) 171 EXPECT_CALL(signal_strategy_, GetNextId())
172 .WillOnce(Return(kStanzaId + 1)); 172 .WillOnce(Return(kStanzaId + 1));
173 EXPECT_CALL(signal_strategy_, SendStanzaPtr(NotNull())) 173 EXPECT_CALL(signal_strategy_, SendStanzaPtr(NotNull()))
174 .WillOnce(DoAll(SaveArg<0>(&sent_iq2), Return(true))); 174 .WillOnce(DoAll(SaveArg<0>(&sent_iq2), Return(true)));
175 175
176 scoped_ptr<XmlElement> response(new XmlElement(buzz::QN_IQ)); 176 scoped_ptr<XmlElement> response(new XmlElement(buzz::QN_IQ));
177 response->AddAttr(QName("", "type"), "result"); 177 response->AddAttr(QName("", "type"), "result");
178 XmlElement* result = new XmlElement( 178 XmlElement* result = new XmlElement(
179 QName(kChromotingXmlNamespace, "heartbeat-result")); 179 QName(kChromotingXmlNamespace, "heartbeat-result"));
180 response->AddElement(result); 180 response->AddElement(result);
181 XmlElement* expected_sequence_id = new XmlElement( 181 XmlElement* expected_sequence_id = new XmlElement(
182 QName(kChromotingXmlNamespace, "expected-sequence-id")); 182 QName(kChromotingXmlNamespace, "expected-sequence-id"));
183 result->AddElement(expected_sequence_id); 183 result->AddElement(expected_sequence_id);
184 const int kExpectedSequenceId = 456; 184 const int kExpectedSequenceId = 456;
185 expected_sequence_id->AddText(base::IntToString(kExpectedSequenceId)); 185 expected_sequence_id->AddText(base::IntToString(kExpectedSequenceId));
186 heartbeat_sender_->ProcessResponse(NULL, response.get()); 186 heartbeat_sender_->ProcessResponse(NULL, response.get());
187 message_loop_.RunAllPending(); 187 message_loop_.RunUntilIdle();
188 188
189 scoped_ptr<XmlElement> stanza2(sent_iq2); 189 scoped_ptr<XmlElement> stanza2(sent_iq2);
190 ASSERT_TRUE(stanza2 != NULL); 190 ASSERT_TRUE(stanza2 != NULL);
191 ValidateHeartbeatStanza(stanza2.get(), 191 ValidateHeartbeatStanza(stanza2.get(),
192 base::IntToString(kExpectedSequenceId).c_str()); 192 base::IntToString(kExpectedSequenceId).c_str());
193 193
194 heartbeat_sender_->OnSignalStrategyStateChange(SignalStrategy::DISCONNECTED); 194 heartbeat_sender_->OnSignalStrategyStateChange(SignalStrategy::DISCONNECTED);
195 message_loop_.RunAllPending(); 195 message_loop_.RunUntilIdle();
196 } 196 }
197 197
198 // Verify that ProcessResponse parses set-interval result. 198 // Verify that ProcessResponse parses set-interval result.
199 TEST_F(HeartbeatSenderTest, ProcessResponseSetInterval) { 199 TEST_F(HeartbeatSenderTest, ProcessResponseSetInterval) {
200 scoped_ptr<XmlElement> response(new XmlElement(buzz::QN_IQ)); 200 scoped_ptr<XmlElement> response(new XmlElement(buzz::QN_IQ));
201 response->AddAttr(QName("", "type"), "result"); 201 response->AddAttr(QName("", "type"), "result");
202 202
203 XmlElement* result = new XmlElement( 203 XmlElement* result = new XmlElement(
204 QName(kChromotingXmlNamespace, "heartbeat-result")); 204 QName(kChromotingXmlNamespace, "heartbeat-result"));
205 response->AddElement(result); 205 response->AddElement(result);
(...skipping 30 matching lines...) Expand all
236 EXPECT_TRUE(heartbeat_stanza->NextNamed(signature_tag) == NULL); 236 EXPECT_TRUE(heartbeat_stanza->NextNamed(signature_tag) == NULL);
237 237
238 HostKeyPair key_pair; 238 HostKeyPair key_pair;
239 key_pair.LoadFromString(kTestHostKeyPair); 239 key_pair.LoadFromString(kTestHostKeyPair);
240 std::string expected_signature = 240 std::string expected_signature =
241 key_pair.GetSignature(std::string(kTestJid) + ' ' + expectedSequenceId); 241 key_pair.GetSignature(std::string(kTestJid) + ' ' + expectedSequenceId);
242 EXPECT_EQ(expected_signature, signature->BodyText()); 242 EXPECT_EQ(expected_signature, signature->BodyText());
243 } 243 }
244 244
245 } // namespace remoting 245 } // namespace remoting
OLDNEW
« no previous file with comments | « no previous file | remoting/host/host_key_pair_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698