| Index: remoting/host/heartbeat_sender_unittest.cc
|
| diff --git a/remoting/host/heartbeat_sender_unittest.cc b/remoting/host/heartbeat_sender_unittest.cc
|
| index c5f03a8560e5b00d57eb72fe2b5fb5f3ed2e2386..9b3edfcbcd03d2b954d17d49ff931c24301c1b7f 100644
|
| --- a/remoting/host/heartbeat_sender_unittest.cc
|
| +++ b/remoting/host/heartbeat_sender_unittest.cc
|
| @@ -19,6 +19,9 @@
|
| #include "third_party/libjingle/source/talk/xmllite/xmlelement.h"
|
| #include "third_party/libjingle/source/talk/xmpp/constants.h"
|
|
|
| +using buzz::QName;
|
| +using buzz::XmlElement;
|
| +
|
| using testing::_;
|
| using testing::DeleteArg;
|
| using testing::DoAll;
|
| @@ -46,7 +49,7 @@ class MockIqRequest : public IqRequest {
|
| }
|
| MOCK_METHOD3(SendIq, void(const std::string& type,
|
| const std::string& addressee,
|
| - buzz::XmlElement* iq_body));
|
| + XmlElement* iq_body));
|
| };
|
|
|
| class HeartbeatSenderTest : public testing::Test {
|
| @@ -79,10 +82,9 @@ class HeartbeatSenderTest : public testing::Test {
|
| scoped_refptr<InMemoryHostConfig> config_;
|
| };
|
|
|
| +// Call Start() followed by Stop(), and makes sure an Iq stanza is
|
| +// being send.
|
| TEST_F(HeartbeatSenderTest, DoSendStanza) {
|
| - // This test calls Start() followed by Stop(), and makes sure an Iq
|
| - // stanza is being send.
|
| -
|
| // |iq_request| is freed by HeartbeatSender.
|
| MockIqRequest* iq_request = new MockIqRequest(jingle_client_);
|
|
|
| @@ -102,30 +104,29 @@ TEST_F(HeartbeatSenderTest, DoSendStanza) {
|
| message_loop_.RunAllPending();
|
| }
|
|
|
| +// Validate format of the heartbeat stanza.
|
| TEST_F(HeartbeatSenderTest, CreateHeartbeatMessage) {
|
| - // This test validates format of the heartbeat stanza.
|
| -
|
| scoped_refptr<HeartbeatSender> heartbeat_sender(new HeartbeatSender());
|
| ASSERT_TRUE(heartbeat_sender->Init(config_, jingle_client_));
|
|
|
| int64 start_time = static_cast<int64>(base::Time::Now().ToDoubleT());
|
|
|
| - scoped_ptr<buzz::XmlElement> stanza(
|
| + scoped_ptr<XmlElement> stanza(
|
| heartbeat_sender->CreateHeartbeatMessage());
|
| ASSERT_TRUE(stanza.get() != NULL);
|
|
|
| - EXPECT_TRUE(buzz::QName(kChromotingXmlNamespace, "heartbeat") ==
|
| + EXPECT_TRUE(QName(kChromotingXmlNamespace, "heartbeat") ==
|
| stanza->Name());
|
| EXPECT_EQ(std::string(kHostId),
|
| - stanza->Attr(buzz::QName(kChromotingXmlNamespace, "hostid")));
|
| + stanza->Attr(QName(kChromotingXmlNamespace, "hostid")));
|
|
|
| - buzz::QName signature_tag(kChromotingXmlNamespace, "signature");
|
| - buzz::XmlElement* signature = stanza->FirstNamed(signature_tag);
|
| + QName signature_tag(kChromotingXmlNamespace, "signature");
|
| + XmlElement* signature = stanza->FirstNamed(signature_tag);
|
| ASSERT_TRUE(signature != NULL);
|
| EXPECT_TRUE(stanza->NextNamed(signature_tag) == NULL);
|
|
|
| std::string time_str =
|
| - signature->Attr(buzz::QName(kChromotingXmlNamespace, "time"));
|
| + signature->Attr(QName(kChromotingXmlNamespace, "time"));
|
| int64 time;
|
| EXPECT_TRUE(base::StringToInt64(time_str, &time));
|
| int64 now = static_cast<int64>(base::Time::Now().ToDoubleT());
|
| @@ -139,4 +140,26 @@ TEST_F(HeartbeatSenderTest, CreateHeartbeatMessage) {
|
| EXPECT_EQ(expected_signature, signature->BodyText());
|
| }
|
|
|
| +// Verify that ProcessResponse parses set-interval result.
|
| +TEST_F(HeartbeatSenderTest, ProcessResponse) {
|
| + XmlElement* response = new XmlElement(QName("", "iq"));
|
| + response->AddAttr(QName("", "type"), "result");
|
| +
|
| + XmlElement* result = new XmlElement(
|
| + QName(kChromotingXmlNamespace, "heartbeat-result"));
|
| + response->AddElement(result);
|
| +
|
| + XmlElement* set_interval = new XmlElement(
|
| + QName(kChromotingXmlNamespace, "set-interval"));
|
| + result->AddElement(set_interval);
|
| +
|
| + const int kTestInterval = 123;
|
| + set_interval->AddText(base::IntToString(kTestInterval));
|
| +
|
| + scoped_refptr<HeartbeatSender> heartbeat_sender(new HeartbeatSender());
|
| + heartbeat_sender->ProcessResponse(response);
|
| +
|
| + EXPECT_EQ(kTestInterval * 1000, heartbeat_sender->interval_ms_);
|
| +}
|
| +
|
| } // namespace remoting
|
|
|