| Index: remoting/client/client_telemetry_logger_unittest.cc
|
| diff --git a/remoting/client/client_telemetry_logger_unittest.cc b/remoting/client/client_telemetry_logger_unittest.cc
|
| index faf5647fb1d825262410749f711fc92973502bd3..0f8c12c9fe7c2574a964a187d0d76f6d36d9f1b9 100644
|
| --- a/remoting/client/client_telemetry_logger_unittest.cc
|
| +++ b/remoting/client/client_telemetry_logger_unittest.cc
|
| @@ -8,6 +8,7 @@
|
| #include <string>
|
|
|
| #include "base/memory/ptr_util.h"
|
| +#include "base/memory/weak_ptr.h"
|
| #include "remoting/protocol/connection_to_host.h"
|
| #include "testing/gtest/include/gtest/gtest.h"
|
|
|
| @@ -47,6 +48,8 @@ namespace remoting {
|
| // 3. There are no more expected log entries when the writer destructs.
|
| class FakeLogWriter : public ChromotingEventLogWriter {
|
| public:
|
| + FakeLogWriter();
|
| +
|
| ~FakeLogWriter() override {
|
| EXPECT_TRUE(expected_events_.empty()) << "Sent less logs than expected.";
|
| }
|
| @@ -57,6 +60,8 @@ class FakeLogWriter : public ChromotingEventLogWriter {
|
| // more fields in addition to those in the expected entry.
|
| void AddExpectedEvent(const ChromotingEvent& entry);
|
|
|
| + base::WeakPtr<FakeLogWriter> GetWeakPtr();
|
| +
|
| // ChromotingEventLogWriter overrides.
|
| void Log(const ChromotingEvent& entry) override;
|
| void SetAuthToken(const std::string& auth_token) override;
|
| @@ -69,12 +74,20 @@ class FakeLogWriter : public ChromotingEventLogWriter {
|
| std::deque<ChromotingEvent> expected_events_;
|
| std::string auth_token_;
|
| base::Closure auth_closure_;
|
| + base::WeakPtrFactory<FakeLogWriter> weak_factory_;
|
| };
|
|
|
| +FakeLogWriter::FakeLogWriter() : weak_factory_(this) {
|
| +}
|
| +
|
| void FakeLogWriter::AddExpectedEvent(const ChromotingEvent& entry) {
|
| expected_events_.push_back(entry);
|
| }
|
|
|
| +base::WeakPtr<FakeLogWriter> FakeLogWriter::GetWeakPtr() {
|
| + return weak_factory_.GetWeakPtr();
|
| +}
|
| +
|
| void FakeLogWriter::Log(const ChromotingEvent& entry) {
|
| ASSERT_FALSE(expected_events_.empty())
|
| << "Trying to send more logs than expected";
|
| @@ -97,16 +110,14 @@ class ClientTelemetryLoggerTest : public testing::Test {
|
| void SetUp() override;
|
|
|
| protected:
|
| - // |log_writer_| will be owned by |logger_| and freed when |logger_|
|
| - // destructs. Feel free to use this reference in the test.
|
| - FakeLogWriter* log_writer_ = nullptr;
|
| + std::unique_ptr<FakeLogWriter> log_writer_;
|
| std::unique_ptr<ClientTelemetryLogger> logger_;
|
| };
|
|
|
| void ClientTelemetryLoggerTest::SetUp() {
|
| - log_writer_ = new FakeLogWriter();
|
| - logger_.reset(new ClientTelemetryLogger(ChromotingEvent::Mode::ME2ME));
|
| - logger_->StartForTest(base::WrapUnique(log_writer_));
|
| + log_writer_.reset(new FakeLogWriter());
|
| + logger_.reset(new ClientTelemetryLogger(log_writer_->GetWeakPtr(),
|
| + ChromotingEvent::Mode::ME2ME));
|
| }
|
|
|
| TEST_F(ClientTelemetryLoggerTest, LogSessionStateChange) {
|
| @@ -174,13 +185,4 @@ TEST_F(ClientTelemetryLoggerTest, SessionIdExpiration) {
|
| EXPECT_NE(last_id, logger_->session_id());
|
| }
|
|
|
| -TEST_F(ClientTelemetryLoggerTest, PassesThroughAuthTokenAndClosure) {
|
| - std::string token("some token");
|
| - base::Closure closure = base::Bind(&base::DoNothing);
|
| - logger_->SetAuthToken(token);
|
| - logger_->SetAuthClosure(closure);
|
| - EXPECT_EQ(token, log_writer_->auth_token());
|
| - EXPECT_TRUE(closure.Equals(log_writer_->auth_closure()));
|
| -}
|
| -
|
| } // namespace remoting
|
|
|