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

Unified Diff: remoting/host/register_support_host_request_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/register_support_host_request.cc ('k') | remoting/host/remoting_me2me_host.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: remoting/host/register_support_host_request_unittest.cc
diff --git a/remoting/host/register_support_host_request_unittest.cc b/remoting/host/register_support_host_request_unittest.cc
index dc3258d492f2bc699204d20a380c39a74a47e331..18a19712ad51613aa96eadb507078f74112e9a76 100644
--- a/remoting/host/register_support_host_request_unittest.cc
+++ b/remoting/host/register_support_host_request_unittest.cc
@@ -7,6 +7,7 @@
#include "base/bind.h"
#include "base/memory/ref_counted.h"
#include "base/message_loop.h"
+#include "base/observer_list.h"
#include "base/string_number_conversions.h"
#include "remoting/base/constants.h"
#include "remoting/host/host_key_pair.h"
@@ -37,6 +38,13 @@ const char kSupportId[] = "AB4RF3";
const char kSupportIdLifetime[] = "300";
const char kStanzaId[] = "123";
+ACTION_P(AddListener, list) {
+ list->AddObserver(arg0);
+}
+ACTION_P(RemoveListener, list) {
+ list->RemoveObserver(arg0);
+}
+
class MockCallback {
public:
MOCK_METHOD3(OnResponse, void(bool result, const std::string& support_id,
@@ -51,37 +59,40 @@ class RegisterSupportHostRequestTest : public testing::Test {
virtual void SetUp() {
config_ = new InMemoryHostConfig();
config_->SetString(kPrivateKeyConfigPath, kTestHostKeyPair);
+
+ 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));
}
- MockSignalStrategy signal_strategy_;
MessageLoop message_loop_;
+ MockSignalStrategy signal_strategy_;
+ ObserverList<SignalStrategy::Listener, true> signal_strategy_listeners_;
scoped_refptr<InMemoryHostConfig> config_;
MockCallback callback_;
};
+
TEST_F(RegisterSupportHostRequestTest, Send) {
// |iq_request| is freed by RegisterSupportHostRequest.
int64 start_time = static_cast<int64>(base::Time::Now().ToDoubleT());
- SignalStrategy::Listener* listener;
- EXPECT_CALL(signal_strategy_, AddListener(NotNull()))
- .WillOnce(SaveArg<0>(&listener));
-
scoped_ptr<RegisterSupportHostRequest> request(
new RegisterSupportHostRequest());
ASSERT_TRUE(request->Init(
- config_, base::Bind(&MockCallback::OnResponse,
- base::Unretained(&callback_))));
+ &signal_strategy_, config_, base::Bind(&MockCallback::OnResponse,
+ base::Unretained(&callback_))));
XmlElement* sent_iq = NULL;
EXPECT_CALL(signal_strategy_, GetNextId())
.WillOnce(Return(kStanzaId));
- EXPECT_CALL(signal_strategy_, GetLocalJid())
- .WillRepeatedly(Return(kTestJid));
EXPECT_CALL(signal_strategy_, SendStanza(NotNull()))
.WillOnce(DoAll(SaveArg<0>(&sent_iq), Return(true)));
- request->OnSignallingConnected(&signal_strategy_);
+ request->OnSignalStrategyStateChange(SignalStrategy::CONNECTED);
message_loop_.RunAllPending();
// Verify format of the query.
@@ -136,10 +147,17 @@ TEST_F(RegisterSupportHostRequestTest, Send) {
support_id_lifetime->AddText(kSupportIdLifetime);
result->AddElement(support_id_lifetime);
- EXPECT_TRUE(listener->OnSignalStrategyIncomingStanza(response.get()));
- message_loop_.RunAllPending();
+ int consumed = 0;
+ ObserverListBase<SignalStrategy::Listener>::Iterator it(
+ signal_strategy_listeners_);
+ SignalStrategy::Listener* listener;
+ while ((listener = it.GetNext()) != NULL) {
+ if (listener->OnSignalStrategyIncomingStanza(response.get()))
+ consumed++;
+ }
+ EXPECT_EQ(1, consumed);
- EXPECT_CALL(signal_strategy_, RemoveListener(listener));
+ message_loop_.RunAllPending();
}
} // namespace remoting
« no previous file with comments | « remoting/host/register_support_host_request.cc ('k') | remoting/host/remoting_me2me_host.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698