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

Side by Side Diff: components/translate/core/browser/translate_ranker_impl_unittest.cc

Issue 2836333003: Cleanup TranslateRankerLogging experiment. (Closed)
Patch Set: Created 3 years, 7 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 "components/translate/core/browser/translate_ranker_impl.h" 5 #include "components/translate/core/browser/translate_ranker_impl.h"
6 6
7 #include <initializer_list> 7 #include <initializer_list>
8 #include <memory> 8 #include <memory>
9 9
10 #include "base/feature_list.h" 10 #include "base/feature_list.h"
(...skipping 16 matching lines...) Expand all
27 #include "components/ukm/test_ukm_service.h" 27 #include "components/ukm/test_ukm_service.h"
28 #include "components/ukm/ukm_source.h" 28 #include "components/ukm/ukm_source.h"
29 #include "net/url_request/test_url_fetcher_factory.h" 29 #include "net/url_request/test_url_fetcher_factory.h"
30 #include "net/url_request/url_request_test_util.h" 30 #include "net/url_request/url_request_test_util.h"
31 #include "testing/gtest/include/gtest/gtest.h" 31 #include "testing/gtest/include/gtest/gtest.h"
32 #include "url/gurl.h" 32 #include "url/gurl.h"
33 33
34 namespace { 34 namespace {
35 35
36 using translate::kTranslateRankerEnforcement; 36 using translate::kTranslateRankerEnforcement;
37 using translate::kTranslateRankerLogging;
38 using translate::kTranslateRankerQuery; 37 using translate::kTranslateRankerQuery;
39 using translate::kTranslateRankerDecisionOverride; 38 using translate::kTranslateRankerDecisionOverride;
40 using translate::TranslateDownloadManager; 39 using translate::TranslateDownloadManager;
41 using translate::TranslateRankerFeatures; 40 using translate::TranslateRankerFeatures;
42 using translate::TranslatePrefs; 41 using translate::TranslatePrefs;
43 using translate::TranslateRankerImpl; 42 using translate::TranslateRankerImpl;
44 43
45 constexpr uint32_t kModelVersion = 1234; 44 constexpr uint32_t kModelVersion = 1234;
46 45
47 class TranslateRankerImplTest : public ::testing::Test { 46 class TranslateRankerImplTest : public ::testing::Test {
(...skipping 279 matching lines...) Expand 10 before | Expand all | Expand 10 after
327 metrics::TranslateEventProto tep; 326 metrics::TranslateEventProto tep;
328 // If we don't have a model, returns true. 327 // If we don't have a model, returns true.
329 EXPECT_TRUE( 328 EXPECT_TRUE(
330 ranker->ShouldOfferTranslation(*translate_prefs_, "en", "fr", &tep)); 329 ranker->ShouldOfferTranslation(*translate_prefs_, "en", "fr", &tep));
331 EXPECT_NE(0U, tep.ranker_request_timestamp_sec()); 330 EXPECT_NE(0U, tep.ranker_request_timestamp_sec());
332 EXPECT_EQ(0U, tep.ranker_version()); 331 EXPECT_EQ(0U, tep.ranker_version());
333 EXPECT_EQ(metrics::TranslateEventProto::NOT_QUERIED, tep.ranker_response()); 332 EXPECT_EQ(metrics::TranslateEventProto::NOT_QUERIED, tep.ranker_response());
334 } 333 }
335 334
336 TEST_F(TranslateRankerImplTest, RecordAndFlushEvents) { 335 TEST_F(TranslateRankerImplTest, RecordAndFlushEvents) {
337 InitFeatures({kTranslateRankerLogging}, {});
338 std::unique_ptr<translate::TranslateRanker> ranker = GetRankerForTest(0.0f); 336 std::unique_ptr<translate::TranslateRanker> ranker = GetRankerForTest(0.0f);
339 std::vector<metrics::TranslateEventProto> flushed_events; 337 std::vector<metrics::TranslateEventProto> flushed_events;
340 338
341 GURL url0("https://www.google.com"); 339 GURL url0("https://www.google.com");
342 GURL url1("https://www.gmail.com"); 340 GURL url1("https://www.gmail.com");
343 341
344 // Check that flushing an empty cache will return an empty vector. 342 // Check that flushing an empty cache will return an empty vector.
345 ranker->FlushTranslateEvents(&flushed_events); 343 ranker->FlushTranslateEvents(&flushed_events);
346 EXPECT_EQ(0U, flushed_events.size()); 344 EXPECT_EQ(0U, flushed_events.size());
347 345
(...skipping 17 matching lines...) Expand all
365 363
366 ASSERT_EQ(2U, GetTestUkmService()->sources_count()); 364 ASSERT_EQ(2U, GetTestUkmService()->sources_count());
367 EXPECT_EQ( 365 EXPECT_EQ(
368 url0.spec(), 366 url0.spec(),
369 GetTestUkmService()->GetSourceForUrl(url0.spec().c_str())->url().spec()); 367 GetTestUkmService()->GetSourceForUrl(url0.spec().c_str())->url().spec());
370 EXPECT_EQ( 368 EXPECT_EQ(
371 url1.spec(), 369 url1.spec(),
372 GetTestUkmService()->GetSourceForUrl(url1.spec().c_str())->url().spec()); 370 GetTestUkmService()->GetSourceForUrl(url1.spec().c_str())->url().spec());
373 } 371 }
374 372
375 TEST_F(TranslateRankerImplTest, LoggingDisabled) {
376 InitFeatures({}, {kTranslateRankerLogging});
377 std::unique_ptr<translate::TranslateRanker> ranker = GetRankerForTest(0.0f);
378 std::vector<metrics::TranslateEventProto> flushed_events;
379
380 ranker->FlushTranslateEvents(&flushed_events);
381 EXPECT_EQ(0U, flushed_events.size());
382
383 ranker->RecordTranslateEvent(0, GURL(), &tep1_);
384 ranker->RecordTranslateEvent(1, GURL(), &tep2_);
385 ranker->RecordTranslateEvent(2, GURL(), &tep3_);
386
387 // Logging is disabled, so no events should be cached.
388 ranker->FlushTranslateEvents(&flushed_events);
389 EXPECT_EQ(0U, flushed_events.size());
390 EXPECT_EQ(0ul, GetTestUkmService()->sources_count());
391 }
392
393 TEST_F(TranslateRankerImplTest, LoggingDisabledViaOverride) { 373 TEST_F(TranslateRankerImplTest, LoggingDisabledViaOverride) {
394 InitFeatures({kTranslateRankerLogging}, {});
395 std::unique_ptr<translate::TranslateRankerImpl> ranker = 374 std::unique_ptr<translate::TranslateRankerImpl> ranker =
396 GetRankerForTest(0.0f); 375 GetRankerForTest(0.0f);
397 std::vector<metrics::TranslateEventProto> flushed_events; 376 std::vector<metrics::TranslateEventProto> flushed_events;
398 377
399 ranker->FlushTranslateEvents(&flushed_events); 378 ranker->FlushTranslateEvents(&flushed_events);
400 EXPECT_EQ(0U, flushed_events.size()); 379 EXPECT_EQ(0U, flushed_events.size());
401 380
402 ranker->RecordTranslateEvent(0, GURL(), &tep1_); 381 ranker->RecordTranslateEvent(0, GURL(), &tep1_);
403 ranker->RecordTranslateEvent(1, GURL(), &tep2_); 382 ranker->RecordTranslateEvent(1, GURL(), &tep2_);
404 ranker->RecordTranslateEvent(2, GURL(), &tep3_); 383 ranker->RecordTranslateEvent(2, GURL(), &tep3_);
405 384
406 // Logging is disabled, so no events should be cached. 385 // Logging is enabled by default, so events should be cached.
407 ranker->FlushTranslateEvents(&flushed_events); 386 ranker->FlushTranslateEvents(&flushed_events);
408 EXPECT_EQ(3U, flushed_events.size()); 387 EXPECT_EQ(3U, flushed_events.size());
409 388
410 // Override the feature setting to disable logging. 389 // Override the feature setting to disable logging.
411 ranker->EnableLogging(false); 390 ranker->EnableLogging(false);
412 391
413 ranker->RecordTranslateEvent(0, GURL(), &tep1_); 392 ranker->RecordTranslateEvent(0, GURL(), &tep1_);
414 ranker->RecordTranslateEvent(1, GURL(), &tep2_); 393 ranker->RecordTranslateEvent(1, GURL(), &tep2_);
415 ranker->RecordTranslateEvent(2, GURL(), &tep3_); 394 ranker->RecordTranslateEvent(2, GURL(), &tep3_);
416 395
(...skipping 28 matching lines...) Expand all
445 EXPECT_TRUE(ranker->ShouldOverrideDecision(2, GURL(), &tep)); 424 EXPECT_TRUE(ranker->ShouldOverrideDecision(2, GURL(), &tep));
446 425
447 std::vector<metrics::TranslateEventProto> flushed_events; 426 std::vector<metrics::TranslateEventProto> flushed_events;
448 ranker->FlushTranslateEvents(&flushed_events); 427 ranker->FlushTranslateEvents(&flushed_events);
449 EXPECT_EQ(0U, flushed_events.size()); 428 EXPECT_EQ(0U, flushed_events.size());
450 ASSERT_EQ(2, tep.decision_overrides_size()); 429 ASSERT_EQ(2, tep.decision_overrides_size());
451 ASSERT_EQ(1, tep.decision_overrides(0)); 430 ASSERT_EQ(1, tep.decision_overrides(0));
452 ASSERT_EQ(2, tep.decision_overrides(1)); 431 ASSERT_EQ(2, tep.decision_overrides(1));
453 ASSERT_EQ(0, tep.event_type()); 432 ASSERT_EQ(0, tep.event_type());
454 } 433 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698