Index: components/proximity_auth/remote_device_life_cycle_impl_unittest.cc |
diff --git a/components/proximity_auth/remote_device_life_cycle_impl_unittest.cc b/components/proximity_auth/remote_device_life_cycle_impl_unittest.cc |
index 65d86131e927c76dbcf3ee7fee1e79934960be10..5ef883f315bb5657329c08af609e54c61f067322 100644 |
--- a/components/proximity_auth/remote_device_life_cycle_impl_unittest.cc |
+++ b/components/proximity_auth/remote_device_life_cycle_impl_unittest.cc |
@@ -86,8 +86,14 @@ class FakeConnectionFinder : public ConnectionFinder { |
class FakeAuthenticator : public Authenticator { |
public: |
- FakeAuthenticator() {} |
- ~FakeAuthenticator() override {} |
+ FakeAuthenticator(Connection* connection) : connection_(connection) {} |
+ ~FakeAuthenticator() override { |
+ // This object should be destroyed immediately after authentication is |
+ // complete in order not to outlive the underlying connection. |
+ EXPECT_FALSE(callback_.is_null()); |
+ EXPECT_EQ(kTestRemoteDevicePublicKey, |
+ connection_->remote_device().public_key); |
+ } |
void OnAuthenticationResult(Authenticator::Result result) { |
ASSERT_FALSE(callback_.is_null()); |
@@ -104,6 +110,8 @@ class FakeAuthenticator : public Authenticator { |
callback_ = callback; |
} |
+ Connection* connection_; |
+ |
AuthenticationCallback callback_; |
DISALLOW_COPY_AND_ASSIGN(FakeAuthenticator); |
@@ -130,7 +138,9 @@ class TestableRemoteDeviceLifeCycleImpl : public RemoteDeviceLifeCycleImpl { |
} |
scoped_ptr<Authenticator> CreateAuthenticator() override { |
- scoped_ptr<FakeAuthenticator> scoped_authenticator(new FakeAuthenticator()); |
+ EXPECT_TRUE(connection_finder_); |
+ scoped_ptr<FakeAuthenticator> scoped_authenticator( |
+ new FakeAuthenticator(connection_finder_->connection())); |
authenticator_ = scoped_authenticator.get(); |
return scoped_authenticator.Pass(); |
} |