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

Side by Side 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 unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "remoting/client/client_telemetry_logger.h" 5 #include "remoting/client/client_telemetry_logger.h"
6 6
7 #include <deque> 7 #include <deque>
8 #include <string> 8 #include <string>
9 9
10 #include "base/memory/ptr_util.h" 10 #include "base/memory/ptr_util.h"
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
90 void FakeLogWriter::SetAuthClosure(const base::Closure& closure) { 90 void FakeLogWriter::SetAuthClosure(const base::Closure& closure) {
91 auth_closure_ = closure; 91 auth_closure_ = closure;
92 } 92 }
93 93
94 class ClientTelemetryLoggerTest : public testing::Test { 94 class ClientTelemetryLoggerTest : public testing::Test {
95 public: 95 public:
96 // testing::Test override. 96 // testing::Test override.
97 void SetUp() override; 97 void SetUp() override;
98 98
99 protected: 99 protected:
100 // |log_writer_| will be owned by |logger_| and freed when |logger_| 100 std::unique_ptr<FakeLogWriter> log_writer_;
101 // destructs. Feel free to use this reference in the test.
102 FakeLogWriter* log_writer_ = nullptr;
103 std::unique_ptr<ClientTelemetryLogger> logger_; 101 std::unique_ptr<ClientTelemetryLogger> logger_;
104 }; 102 };
105 103
106 void ClientTelemetryLoggerTest::SetUp() { 104 void ClientTelemetryLoggerTest::SetUp() {
107 log_writer_ = new FakeLogWriter(); 105 log_writer_.reset(new FakeLogWriter());
108 logger_.reset(new ClientTelemetryLogger(ChromotingEvent::Mode::ME2ME)); 106 logger_.reset(new ClientTelemetryLogger(log_writer_.get(),
109 logger_->StartForTest(base::WrapUnique(log_writer_)); 107 ChromotingEvent::Mode::ME2ME));
110 } 108 }
111 109
112 TEST_F(ClientTelemetryLoggerTest, LogSessionStateChange) { 110 TEST_F(ClientTelemetryLoggerTest, LogSessionStateChange) {
113 ChromotingEvent event(ChromotingEvent::Type::SESSION_STATE); 111 ChromotingEvent event(ChromotingEvent::Type::SESSION_STATE);
114 event.SetEnum("session_state", ChromotingEvent::SessionState::CONNECTED); 112 event.SetEnum("session_state", ChromotingEvent::SessionState::CONNECTED);
115 event.SetEnum("connection_error", ChromotingEvent::ConnectionError::NONE); 113 event.SetEnum("connection_error", ChromotingEvent::ConnectionError::NONE);
116 log_writer_->AddExpectedEvent(event); 114 log_writer_->AddExpectedEvent(event);
117 logger_->LogSessionStateChange(ChromotingEvent::SessionState::CONNECTED, 115 logger_->LogSessionStateChange(ChromotingEvent::SessionState::CONNECTED,
118 ChromotingEvent::ConnectionError::NONE); 116 ChromotingEvent::ConnectionError::NONE);
119 117
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
167 165
168 // kMaxSessionIdAgeDays = 1. Fake the generation time to be 2 days ago and 166 // kMaxSessionIdAgeDays = 1. Fake the generation time to be 2 days ago and
169 // force it to expire. 167 // force it to expire.
170 logger_->SetSessionIdGenerationTimeForTest(base::TimeTicks::Now() - 168 logger_->SetSessionIdGenerationTimeForTest(base::TimeTicks::Now() -
171 base::TimeDelta::FromDays(2)); 169 base::TimeDelta::FromDays(2));
172 protocol::PerformanceTracker perf_tracker; 170 protocol::PerformanceTracker perf_tracker;
173 logger_->LogStatistics(&perf_tracker); 171 logger_->LogStatistics(&perf_tracker);
174 EXPECT_NE(last_id, logger_->session_id()); 172 EXPECT_NE(last_id, logger_->session_id());
175 } 173 }
176 174
177 TEST_F(ClientTelemetryLoggerTest, PassesThroughAuthTokenAndClosure) {
178 std::string token("some token");
179 base::Closure closure = base::Bind(&base::DoNothing);
180 logger_->SetAuthToken(token);
181 logger_->SetAuthClosure(closure);
182 EXPECT_EQ(token, log_writer_->auth_token());
183 EXPECT_TRUE(closure.Equals(log_writer_->auth_closure()));
184 }
185
186 } // namespace remoting 175 } // namespace remoting
OLDNEW
« no previous file with comments | « remoting/client/client_telemetry_logger.cc ('k') | remoting/client/jni/chromoting_jni_instance.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698