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

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

Issue 12316083: Move HostKeyPair into protocol::KeyPair. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Rebase Created 7 years, 9 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/host/heartbeat_sender.cc ('k') | remoting/host/host_key_pair.h » ('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"
11 #include "base/message_loop_proxy.h" 11 #include "base/message_loop_proxy.h"
12 #include "base/string_number_conversions.h" 12 #include "base/string_number_conversions.h"
13 #include "remoting/base/constants.h" 13 #include "remoting/base/constants.h"
14 #include "remoting/host/host_key_pair.h" 14 #include "remoting/base/rsa_key_pair.h"
15 #include "remoting/host/test_key_pair.h" 15 #include "remoting/base/test_rsa_key_pair.h"
16 #include "remoting/jingle_glue/iq_sender.h" 16 #include "remoting/jingle_glue/iq_sender.h"
17 #include "remoting/jingle_glue/mock_objects.h" 17 #include "remoting/jingle_glue/mock_objects.h"
18 #include "testing/gmock/include/gmock/gmock.h" 18 #include "testing/gmock/include/gmock/gmock.h"
19 #include "testing/gtest/include/gtest/gtest.h" 19 #include "testing/gtest/include/gtest/gtest.h"
20 #include "third_party/libjingle/source/talk/xmllite/xmlelement.h" 20 #include "third_party/libjingle/source/talk/xmllite/xmlelement.h"
21 #include "third_party/libjingle/source/talk/xmpp/constants.h" 21 #include "third_party/libjingle/source/talk/xmpp/constants.h"
22 22
23 using buzz::QName; 23 using buzz::QName;
24 using buzz::XmlElement; 24 using buzz::XmlElement;
25 25
(...skipping 25 matching lines...) Expand all
51 class HeartbeatSenderTest 51 class HeartbeatSenderTest
52 : public testing::Test, 52 : public testing::Test,
53 public HeartbeatSender::Listener { 53 public HeartbeatSender::Listener {
54 protected: 54 protected:
55 // Overridden from HeartbeatSender::Listener 55 // Overridden from HeartbeatSender::Listener
56 virtual void OnUnknownHostIdError() OVERRIDE { 56 virtual void OnUnknownHostIdError() OVERRIDE {
57 NOTREACHED(); 57 NOTREACHED();
58 } 58 }
59 59
60 virtual void SetUp() OVERRIDE { 60 virtual void SetUp() OVERRIDE {
61 ASSERT_TRUE(key_pair_.LoadFromString(kTestHostKeyPair)); 61 key_pair_ = RsaKeyPair::FromString(kTestRsaKeyPair);
62 ASSERT_TRUE(key_pair_);
62 63
63 EXPECT_CALL(signal_strategy_, GetState()) 64 EXPECT_CALL(signal_strategy_, GetState())
64 .WillOnce(Return(SignalStrategy::DISCONNECTED)); 65 .WillOnce(Return(SignalStrategy::DISCONNECTED));
65 EXPECT_CALL(signal_strategy_, AddListener(NotNull())) 66 EXPECT_CALL(signal_strategy_, AddListener(NotNull()))
66 .WillRepeatedly(AddListener(&signal_strategy_listeners_)); 67 .WillRepeatedly(AddListener(&signal_strategy_listeners_));
67 EXPECT_CALL(signal_strategy_, RemoveListener(NotNull())) 68 EXPECT_CALL(signal_strategy_, RemoveListener(NotNull()))
68 .WillRepeatedly(RemoveListener(&signal_strategy_listeners_)); 69 .WillRepeatedly(RemoveListener(&signal_strategy_listeners_));
69 EXPECT_CALL(signal_strategy_, GetLocalJid()) 70 EXPECT_CALL(signal_strategy_, GetLocalJid())
70 .WillRepeatedly(Return(kTestJid)); 71 .WillRepeatedly(Return(kTestJid));
71 72
72 heartbeat_sender_.reset(new HeartbeatSender( 73 heartbeat_sender_.reset(new HeartbeatSender(
73 this, kHostId, &signal_strategy_, &key_pair_, kTestBotJid)); 74 this, kHostId, &signal_strategy_, key_pair_, kTestBotJid));
74 } 75 }
75 76
76 virtual void TearDown() OVERRIDE { 77 virtual void TearDown() OVERRIDE {
77 heartbeat_sender_.reset(); 78 heartbeat_sender_.reset();
78 EXPECT_TRUE(signal_strategy_listeners_.empty()); 79 EXPECT_TRUE(signal_strategy_listeners_.empty());
79 } 80 }
80 81
81 void ValidateHeartbeatStanza(XmlElement* stanza, 82 void ValidateHeartbeatStanza(XmlElement* stanza,
82 const char* expectedSequenceId); 83 const char* expectedSequenceId);
83 84
84 MessageLoop message_loop_; 85 MessageLoop message_loop_;
85 MockSignalStrategy signal_strategy_; 86 MockSignalStrategy signal_strategy_;
86 std::set<SignalStrategy::Listener*> signal_strategy_listeners_; 87 std::set<SignalStrategy::Listener*> signal_strategy_listeners_;
87 HostKeyPair key_pair_; 88 scoped_refptr<RsaKeyPair> key_pair_;
88 scoped_ptr<HeartbeatSender> heartbeat_sender_; 89 scoped_ptr<HeartbeatSender> heartbeat_sender_;
89 }; 90 };
90 91
91 // Call Start() followed by Stop(), and make sure a valid heartbeat is sent. 92 // Call Start() followed by Stop(), and make sure a valid heartbeat is sent.
92 TEST_F(HeartbeatSenderTest, DoSendStanza) { 93 TEST_F(HeartbeatSenderTest, DoSendStanza) {
93 XmlElement* sent_iq = NULL; 94 XmlElement* sent_iq = NULL;
94 EXPECT_CALL(signal_strategy_, GetLocalJid()) 95 EXPECT_CALL(signal_strategy_, GetLocalJid())
95 .WillRepeatedly(Return(kTestJid)); 96 .WillRepeatedly(Return(kTestJid));
96 EXPECT_CALL(signal_strategy_, GetNextId()) 97 EXPECT_CALL(signal_strategy_, GetNextId())
97 .WillOnce(Return(kStanzaId)); 98 .WillOnce(Return(kStanzaId));
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after
229 EXPECT_EQ(expectedSequenceId, heartbeat_stanza->Attr( 230 EXPECT_EQ(expectedSequenceId, heartbeat_stanza->Attr(
230 buzz::QName(kChromotingXmlNamespace, "sequence-id"))); 231 buzz::QName(kChromotingXmlNamespace, "sequence-id")));
231 EXPECT_EQ(std::string(kHostId), 232 EXPECT_EQ(std::string(kHostId),
232 heartbeat_stanza->Attr(QName(kChromotingXmlNamespace, "hostid"))); 233 heartbeat_stanza->Attr(QName(kChromotingXmlNamespace, "hostid")));
233 234
234 QName signature_tag(kChromotingXmlNamespace, "signature"); 235 QName signature_tag(kChromotingXmlNamespace, "signature");
235 XmlElement* signature = heartbeat_stanza->FirstNamed(signature_tag); 236 XmlElement* signature = heartbeat_stanza->FirstNamed(signature_tag);
236 ASSERT_TRUE(signature != NULL); 237 ASSERT_TRUE(signature != NULL);
237 EXPECT_TRUE(heartbeat_stanza->NextNamed(signature_tag) == NULL); 238 EXPECT_TRUE(heartbeat_stanza->NextNamed(signature_tag) == NULL);
238 239
239 HostKeyPair key_pair; 240 scoped_refptr<RsaKeyPair> key_pair = RsaKeyPair::FromString(kTestRsaKeyPair);
240 key_pair.LoadFromString(kTestHostKeyPair); 241 ASSERT_TRUE(key_pair);
241 std::string expected_signature = 242 std::string expected_signature =
242 key_pair.GetSignature(std::string(kTestJid) + ' ' + expectedSequenceId); 243 key_pair->SignMessage(std::string(kTestJid) + ' ' + expectedSequenceId);
243 EXPECT_EQ(expected_signature, signature->BodyText()); 244 EXPECT_EQ(expected_signature, signature->BodyText());
244 } 245 }
245 246
246 } // namespace remoting 247 } // namespace remoting
OLDNEW
« no previous file with comments | « remoting/host/heartbeat_sender.cc ('k') | remoting/host/host_key_pair.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698