| Index: remoting/protocol/authenticator_test_base.cc
|
| diff --git a/remoting/protocol/authenticator_test_base.cc b/remoting/protocol/authenticator_test_base.cc
|
| index 1e3f5409adb8578fef452286738897556548bb07..cd77841ecb5b90ef3d594c5ba6254d7c4820f242 100644
|
| --- a/remoting/protocol/authenticator_test_base.cc
|
| +++ b/remoting/protocol/authenticator_test_base.cc
|
| @@ -59,36 +59,27 @@ void AuthenticatorTestBase::SetUp() {
|
| }
|
|
|
| void AuthenticatorTestBase::RunAuthExchange() {
|
| - do {
|
| - scoped_ptr<buzz::XmlElement> message;
|
| -
|
| - // Pass message from client to host.
|
| - ASSERT_EQ(Authenticator::MESSAGE_READY, client_->state());
|
| - message = client_->GetNextMessage();
|
| - ASSERT_TRUE(message.get());
|
| - ASSERT_NE(Authenticator::MESSAGE_READY, client_->state());
|
| -
|
| - ASSERT_EQ(Authenticator::WAITING_MESSAGE, host_->state());
|
| - host_->ProcessMessage(message.get());
|
| - ASSERT_NE(Authenticator::WAITING_MESSAGE, host_->state());
|
| -
|
| - // Are we done yet?
|
| - if (host_->state() == Authenticator::ACCEPTED ||
|
| - host_->state() == Authenticator::REJECTED) {
|
| - break;
|
| - }
|
| -
|
| - // Pass message from host to client.
|
| - ASSERT_EQ(Authenticator::MESSAGE_READY, host_->state());
|
| - message = host_->GetNextMessage();
|
| - ASSERT_TRUE(message.get());
|
| - ASSERT_NE(Authenticator::MESSAGE_READY, host_->state());
|
| -
|
| - ASSERT_EQ(Authenticator::WAITING_MESSAGE, client_->state());
|
| - client_->ProcessMessage(message.get());
|
| - ASSERT_NE(Authenticator::WAITING_MESSAGE, client_->state());
|
| - } while (client_->state() != Authenticator::ACCEPTED &&
|
| - client_->state() != Authenticator::REJECTED);
|
| + RunAuthExchangeStep(client_.get(), host_.get());
|
| +}
|
| +
|
| +void AuthenticatorTestBase::RunAuthExchangeStep(Authenticator* sender,
|
| + Authenticator* receiver) {
|
| + scoped_ptr<buzz::XmlElement> message;
|
| + ASSERT_NE(Authenticator::WAITING_MESSAGE, sender->state());
|
| + if (sender->state() == Authenticator::ACCEPTED ||
|
| + sender->state() == Authenticator::REJECTED)
|
| + return;
|
| + // Pass message from client to host.
|
| + ASSERT_EQ(Authenticator::MESSAGE_READY, sender->state());
|
| + message = sender->GetNextMessage();
|
| + ASSERT_TRUE(message.get());
|
| + ASSERT_NE(Authenticator::MESSAGE_READY, sender->state());
|
| +
|
| + ASSERT_EQ(Authenticator::WAITING_MESSAGE, receiver->state());
|
| + receiver->ProcessMessage(base::Bind(
|
| + &AuthenticatorTestBase::RunAuthExchangeStep,
|
| + base::Unretained(this), base::Unretained(receiver),
|
| + base::Unretained(sender)), message.get());
|
| }
|
|
|
| void AuthenticatorTestBase::RunChannelAuth(bool expected_fail) {
|
|
|