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

Unified Diff: chrome/browser/browsing_data/history_counter_browsertest.cc

Issue 2855623005: Move browsing_data counter sync tests to separate file (Closed)
Patch Set: remove HistoryResult and PasswordResult 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/browsing_data/history_counter_browsertest.cc
diff --git a/chrome/browser/browsing_data/history_counter_browsertest.cc b/chrome/browser/browsing_data/history_counter_browsertest.cc
index cae1fcf92f97f49d062b44be91f8e78a38f7be93..b43b038a8c54fb988ade9086ea371894fdb86e14 100644
--- a/chrome/browser/browsing_data/history_counter_browsertest.cc
+++ b/chrome/browser/browsing_data/history_counter_browsertest.cc
@@ -12,8 +12,8 @@
#include "chrome/browser/signin/profile_oauth2_token_service_factory.h"
#include "chrome/browser/signin/signin_manager_factory.h"
#include "chrome/browser/sync/profile_sync_service_factory.h"
-#include "chrome/browser/sync/test/integration/sync_test.h"
#include "chrome/browser/ui/browser.h"
+#include "chrome/test/base/in_process_browser_test.h"
#include "components/browser_sync/profile_sync_service.h"
#include "components/browsing_data/core/browsing_data_utils.h"
#include "components/browsing_data/core/pref_names.h"
@@ -28,15 +28,11 @@
namespace {
-class HistoryCounterTest : public SyncTest {
- public:
- HistoryCounterTest() : SyncTest(SINGLE_CLIENT) {
- // TODO(msramek): Only one of the test cases, RestartOnSyncChange, is a Sync
- // integration test. Extract it and move it to the rest of integration tests
- // in chrome/browser/sync/test/integration/. Change this class back to
- // InProcessBrowserTest.
- }
+using browsing_data::BrowsingDataCounter;
+class HistoryCounterTest : public InProcessBrowserTest {
+ public:
+ HistoryCounterTest() {}
~HistoryCounterTest() override {};
void SetUpOnMainThread() override {
@@ -79,7 +75,7 @@ class HistoryCounterTest : public SyncTest {
run_loop_->Run();
}
- browsing_data::BrowsingDataCounter::ResultInt GetLocalResult() {
+ BrowsingDataCounter::ResultInt GetLocalResult() {
DCHECK(finished_);
return local_result_;
}
@@ -89,37 +85,21 @@ class HistoryCounterTest : public SyncTest {
return has_synced_visits_;
}
- void Callback(
- std::unique_ptr<browsing_data::BrowsingDataCounter::Result> result) {
+ void Callback(std::unique_ptr<BrowsingDataCounter::Result> result) {
finished_ = result->Finished();
if (finished_) {
- browsing_data::HistoryCounter::HistoryResult* history_result =
- static_cast<browsing_data::HistoryCounter::HistoryResult*>(
- result.get());
+ auto* history_result =
+ static_cast<BrowsingDataCounter::SyncResult*>(result.get());
local_result_ = history_result->Value();
- has_synced_visits_ = history_result->has_synced_visits();
+ has_synced_visits_ = history_result->IsSyncEnabled();
}
if (run_loop_ && finished_)
run_loop_->Quit();
}
- bool CountingFinishedSinceLastAsked() {
- bool result = finished_;
- finished_ = false;
- return result;
- }
-
- void WaitForCountingOrConfirmFinished() {
- if (CountingFinishedSinceLastAsked())
- return;
-
- WaitForCounting();
- CountingFinishedSinceLastAsked();
- }
-
history::WebHistoryService* GetFakeWebHistoryService(Profile* profile,
bool check_sync_status) {
// |check_sync_status| is true when the factory should check if
@@ -144,7 +124,7 @@ class HistoryCounterTest : public SyncTest {
base::Time time_;
bool finished_;
- browsing_data::BrowsingDataCounter::ResultInt local_result_;
+ BrowsingDataCounter::ResultInt local_result_;
bool has_synced_visits_;
};
@@ -358,88 +338,4 @@ IN_PROC_BROWSER_TEST_F(HistoryCounterTest, Synced) {
EXPECT_FALSE(HasSyncedVisits());
}
-// Test that the counting restarts when history sync state changes.
-// TODO(crbug.com/553421): Move this to the sync/test/integration directory?
-IN_PROC_BROWSER_TEST_F(HistoryCounterTest, RestartOnSyncChange) {
- // Set up the Sync client.
- ASSERT_TRUE(SetupClients());
- static const int kFirstProfileIndex = 0;
- browser_sync::ProfileSyncService* sync_service =
- GetSyncService(kFirstProfileIndex);
- Profile* profile = GetProfile(kFirstProfileIndex);
-
- // Set up the fake web history service and the counter.
-
- browsing_data::HistoryCounter counter(
- GetHistoryService(),
- base::Bind(&HistoryCounterTest::GetFakeWebHistoryService,
- base::Unretained(this),
- base::Unretained(profile),
- true),
- sync_service);
-
- counter.Init(
- profile->GetPrefs(), browsing_data::ClearBrowsingDataTab::ADVANCED,
- base::Bind(&HistoryCounterTest::Callback, base::Unretained(this)));
-
- // Note that some Sync operations notify observers immediately (and thus there
- // is no need to call |WaitForCounting()|; in fact, it would block the test),
- // while other operations only post the task on UI thread's message loop
- // (which requires calling |WaitForCounting()| for them to run). Therefore,
- // this test always checks if the callback has already run and only waits
- // if it has not.
-
- // We sync all datatypes by default, so starting Sync means that we start
- // syncing history deletion, and this should restart the counter.
- ASSERT_TRUE(SetupSync());
- ASSERT_TRUE(sync_service->IsSyncActive());
- ASSERT_TRUE(sync_service->GetPreferredDataTypes().Has(
- syncer::HISTORY_DELETE_DIRECTIVES));
- WaitForCountingOrConfirmFinished();
-
- // We stop syncing history deletion in particular. This restarts the counter.
- syncer::ModelTypeSet everything_except_history =
- syncer::UserSelectableTypes();
- everything_except_history.Remove(syncer::HISTORY_DELETE_DIRECTIVES);
- auto sync_blocker = sync_service->GetSetupInProgressHandle();
- sync_service->OnUserChoseDatatypes(/*sync_everything=*/false,
- everything_except_history);
- sync_blocker.reset();
- WaitForCountingOrConfirmFinished();
-
- // If the history deletion sync is not affected, the counter is not restarted.
- syncer::ModelTypeSet only_passwords(syncer::PASSWORDS);
- sync_service->ChangePreferredDataTypes(only_passwords);
- sync_blocker = sync_service->GetSetupInProgressHandle();
- sync_service->ChangePreferredDataTypes(only_passwords);
- sync_blocker.reset();
- EXPECT_FALSE(counter.HasTrackedTasks());
- EXPECT_FALSE(CountingFinishedSinceLastAsked());
-
- // Same in this case.
- syncer::ModelTypeSet autofill_and_passwords(
- syncer::AUTOFILL, syncer::PASSWORDS);
- sync_blocker = sync_service->GetSetupInProgressHandle();
- sync_service->ChangePreferredDataTypes(autofill_and_passwords);
- sync_blocker.reset();
- EXPECT_FALSE(counter.HasTrackedTasks());
- EXPECT_FALSE(CountingFinishedSinceLastAsked());
-
- // We start syncing history deletion again. This restarts the counter.
- sync_blocker = sync_service->GetSetupInProgressHandle();
- sync_service->ChangePreferredDataTypes(syncer::ModelTypeSet::All());
- sync_blocker.reset();
- WaitForCountingOrConfirmFinished();
-
- // Changing the syncing datatypes to another set that still includes history
- // deletion should technically not trigger a restart, because the state of
- // history deletion did not change. However, in reality we can get two
- // notifications, one that history sync has stopped and another that it is
- // active again.
-
- // Stopping the Sync service triggers a restart.
- sync_service->RequestStop(syncer::SyncService::CLEAR_DATA);
- WaitForCountingOrConfirmFinished();
-}
-
} // namespace

Powered by Google App Engine
This is Rietveld 408576698