| 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 af99a9bbc6df712bb71621c3bd9f38278f6365f9..3c39e2ec26a41b983180ab8afef144a96a85f1f6 100644
|
| --- a/remoting/host/register_support_host_request_unittest.cc
|
| +++ b/remoting/host/register_support_host_request_unittest.cc
|
| @@ -10,10 +10,10 @@
|
| #include "base/memory/ref_counted.h"
|
| #include "base/message_loop/message_loop.h"
|
| #include "base/observer_list.h"
|
| -#include "base/run_loop.h"
|
| #include "base/strings/string_number_conversions.h"
|
| #include "base/strings/stringize_macros.h"
|
| #include "base/test/mock_callback.h"
|
| +#include "base/test/scoped_mock_time_message_loop_task_runner.h"
|
| #include "remoting/base/constants.h"
|
| #include "remoting/base/rsa_key_pair.h"
|
| #include "remoting/base/test_rsa_key_pair.h"
|
| @@ -34,6 +34,7 @@ using testing::Invoke;
|
| using testing::NotNull;
|
| using testing::Return;
|
| using testing::SaveArg;
|
| +using testing::DeleteArg;
|
|
|
| namespace remoting {
|
|
|
| @@ -71,12 +72,30 @@ class RegisterSupportHostRequestTest : public testing::Test {
|
| }
|
|
|
| base::MessageLoop message_loop_;
|
| + base::ScopedMockTimeMessageLoopTaskRunner mock_time_task_runner_;
|
| MockSignalStrategy signal_strategy_;
|
| base::ObserverList<SignalStrategy::Listener, true> signal_strategy_listeners_;
|
| scoped_refptr<RsaKeyPair> key_pair_;
|
| base::MockCallback<RegisterSupportHostRequest::RegisterCallback> callback_;
|
| };
|
|
|
| +TEST_F(RegisterSupportHostRequestTest, Timeout) {
|
| + std::unique_ptr<RegisterSupportHostRequest> request(
|
| + new RegisterSupportHostRequest(&signal_strategy_, key_pair_, kTestBotJid,
|
| + callback_.Get()));
|
| + EXPECT_CALL(signal_strategy_, GetNextId()).WillOnce(Return(kStanzaId));
|
| + EXPECT_CALL(signal_strategy_, SendStanzaPtr(NotNull()))
|
| + .WillOnce(DoAll(DeleteArg<0>(), Return(true)));
|
| +
|
| + request->OnSignalStrategyStateChange(SignalStrategy::CONNECTED);
|
| +
|
| + // Generate response and verify that callback is called.
|
| + EXPECT_CALL(callback_, Run("", base::TimeDelta::FromSeconds(0),
|
| + "register-support-host request timed out."));
|
| +
|
| + mock_time_task_runner_->FastForwardBy(base::TimeDelta::FromSeconds(15));
|
| +}
|
| +
|
| TEST_F(RegisterSupportHostRequestTest, Send) {
|
| // |iq_request| is freed by RegisterSupportHostRequest.
|
| int64_t start_time = static_cast<int64_t>(base::Time::Now().ToDoubleT());
|
| @@ -92,7 +111,7 @@ TEST_F(RegisterSupportHostRequestTest, Send) {
|
| .WillOnce(DoAll(SaveArg<0>(&sent_iq), Return(true)));
|
|
|
| request->OnSignalStrategyStateChange(SignalStrategy::CONNECTED);
|
| - base::RunLoop().RunUntilIdle();
|
| + mock_time_task_runner_->RunUntilIdle();
|
|
|
| // Verify format of the query.
|
| std::unique_ptr<XmlElement> stanza(sent_iq);
|
| @@ -167,7 +186,7 @@ TEST_F(RegisterSupportHostRequestTest, Send) {
|
| }
|
| EXPECT_EQ(1, consumed);
|
|
|
| - base::RunLoop().RunUntilIdle();
|
| + mock_time_task_runner_->RunUntilIdle();
|
| }
|
|
|
| } // namespace remoting
|
|
|