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

Unified Diff: remoting/host/heartbeat_sender_unittest.cc

Issue 9004050: Move signaling connection creation out of ChromotingHost. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: - Created 8 years, 12 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « remoting/host/heartbeat_sender.cc ('k') | remoting/host/host_status_observer.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: remoting/host/heartbeat_sender_unittest.cc
diff --git a/remoting/host/heartbeat_sender_unittest.cc b/remoting/host/heartbeat_sender_unittest.cc
index b1de98b47a2bf6750e57ce1ea9f342feae79ddb5..27514c52bf2ee37433cb77b7d948f07cf0fc597b 100644
--- a/remoting/host/heartbeat_sender_unittest.cc
+++ b/remoting/host/heartbeat_sender_unittest.cc
@@ -4,6 +4,8 @@
#include "remoting/host/heartbeat_sender.h"
+#include <set>
+
#include "base/memory/ref_counted.h"
#include "base/message_loop.h"
#include "base/message_loop_proxy.h"
@@ -39,30 +41,49 @@ const int64 kTestTime = 123123123;
const char kStanzaId[] = "123";
} // namespace
+ACTION_P(AddListener, list) {
+ list->insert(arg0);
+}
+ACTION_P(RemoveListener, list) {
+ EXPECT_TRUE(list->find(arg0) != list->end());
+ list->erase(arg0);
+}
+
class HeartbeatSenderTest : public testing::Test {
protected:
- virtual void SetUp() {
+ virtual void SetUp() OVERRIDE {
config_ = new InMemoryHostConfig();
config_->SetString(kHostIdConfigPath, kHostId);
config_->SetString(kPrivateKeyConfigPath, kTestHostKeyPair);
+
+ EXPECT_CALL(signal_strategy_, GetState())
+ .WillOnce(Return(SignalStrategy::DISCONNECTED));
+ EXPECT_CALL(signal_strategy_, AddListener(NotNull()))
+ .WillRepeatedly(AddListener(&signal_strategy_listeners_));
+ EXPECT_CALL(signal_strategy_, RemoveListener(NotNull()))
+ .WillRepeatedly(RemoveListener(&signal_strategy_listeners_));
+ EXPECT_CALL(signal_strategy_, GetLocalJid())
+ .WillRepeatedly(Return(kTestJid));
+
+ heartbeat_sender_.reset(new HeartbeatSender());
+ ASSERT_TRUE(heartbeat_sender_->Init(&signal_strategy_, config_));
+ }
+
+ virtual void TearDown() OVERRIDE {
+ heartbeat_sender_.reset();
+ EXPECT_TRUE(signal_strategy_listeners_.empty());
}
- MockSignalStrategy signal_strategy_;
MessageLoop message_loop_;
+ MockSignalStrategy signal_strategy_;
+ std::set<SignalStrategy::Listener*> signal_strategy_listeners_;
scoped_refptr<InMemoryHostConfig> config_;
+ scoped_ptr<HeartbeatSender> heartbeat_sender_;
};
// Call Start() followed by Stop(), and makes sure an Iq stanza is
// being sent.
TEST_F(HeartbeatSenderTest, DoSendStanza) {
- SignalStrategy::Listener* listener;
- EXPECT_CALL(signal_strategy_, AddListener(NotNull()))
- .WillOnce(SaveArg<0>(&listener));
-
- scoped_ptr<HeartbeatSender> heartbeat_sender(
- new HeartbeatSender(base::MessageLoopProxy::current(), config_));
- ASSERT_TRUE(heartbeat_sender->Init());
-
XmlElement* sent_iq = NULL;
EXPECT_CALL(signal_strategy_, GetLocalJid())
.WillRepeatedly(Return(kTestJid));
@@ -71,7 +92,7 @@ TEST_F(HeartbeatSenderTest, DoSendStanza) {
EXPECT_CALL(signal_strategy_, SendStanza(NotNull()))
.WillOnce(DoAll(SaveArg<0>(&sent_iq), Return(true)));
- heartbeat_sender->OnSignallingConnected(&signal_strategy_);
+ heartbeat_sender_->OnSignalStrategyStateChange(SignalStrategy::CONNECTED);
message_loop_.RunAllPending();
scoped_ptr<XmlElement> stanza(sent_iq);
@@ -81,23 +102,15 @@ TEST_F(HeartbeatSenderTest, DoSendStanza) {
std::string(kChromotingBotJid));
EXPECT_EQ(stanza->Attr(buzz::QName("", "type")), "set");
- EXPECT_CALL(signal_strategy_, RemoveListener(listener));
-
- heartbeat_sender->OnSignallingDisconnected();
+ heartbeat_sender_->OnSignalStrategyStateChange(SignalStrategy::DISCONNECTED);
message_loop_.RunAllPending();
}
// Validate format of the heartbeat stanza.
TEST_F(HeartbeatSenderTest, CreateHeartbeatMessage) {
- scoped_ptr<HeartbeatSender> heartbeat_sender(
- new HeartbeatSender(base::MessageLoopProxy::current(),
- config_));
- ASSERT_TRUE(heartbeat_sender->Init());
-
int64 start_time = static_cast<int64>(base::Time::Now().ToDoubleT());
- heartbeat_sender->full_jid_ = kTestJid;
- scoped_ptr<XmlElement> stanza(heartbeat_sender->CreateHeartbeatMessage());
+ scoped_ptr<XmlElement> stanza(heartbeat_sender_->CreateHeartbeatMessage());
ASSERT_TRUE(stanza.get() != NULL);
EXPECT_TRUE(QName(kChromotingXmlNamespace, "heartbeat") ==
@@ -141,12 +154,9 @@ TEST_F(HeartbeatSenderTest, ProcessResponse) {
const int kTestInterval = 123;
set_interval->AddText(base::IntToString(kTestInterval));
- scoped_ptr<HeartbeatSender> heartbeat_sender(
- new HeartbeatSender(base::MessageLoopProxy::current(),
- config_));
- heartbeat_sender->ProcessResponse(response.get());
+ heartbeat_sender_->ProcessResponse(response.get());
- EXPECT_EQ(kTestInterval * 1000, heartbeat_sender->interval_ms_);
+ EXPECT_EQ(kTestInterval * 1000, heartbeat_sender_->interval_ms_);
}
} // namespace remoting
« no previous file with comments | « remoting/host/heartbeat_sender.cc ('k') | remoting/host/host_status_observer.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698