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

Unified Diff: remoting/client/client_telemetry_logger_unittest.cc

Issue 2643483003: [Remoting Android] Refactor ClientTelemetryLogger (Closed)
Patch Set: PTAL Created 3 years, 11 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
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

Powered by Google App Engine
This is Rietveld 408576698