Rewrite SyncErrorNotifierTest in terms of TestSyncService

...instead of ProfileSyncServiceMock, which is an antipattern.

While we're here, also generally clean up a bit: Remove unused includes
etc.

Bug: 910518
Change-Id: Id3da7f7ceeb6b9c2495b96d30ac7591a75270310
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1522995
Auto-Submit: Marc Treib <treib@chromium.org>
Commit-Queue: Jan Krcal <jkrcal@chromium.org>
Reviewed-by: Jan Krcal <jkrcal@chromium.org>
Cr-Commit-Position: refs/heads/master@{#640737}
diff --git a/chrome/browser/sync/sync_error_notifier_ash_unittest.cc b/chrome/browser/sync/sync_error_notifier_ash_unittest.cc
index 191e078..68359ab 100644
--- a/chrome/browser/sync/sync_error_notifier_ash_unittest.cc
+++ b/chrome/browser/sync/sync_error_notifier_ash_unittest.cc
@@ -4,30 +4,20 @@
 
 #include "chrome/browser/sync/sync_error_notifier_ash.h"
 
-#include <stddef.h>
-
 #include <memory>
 
 #include "base/bind.h"
-#include "chrome/browser/browser_process.h"
 #include "chrome/browser/chromeos/login/users/mock_user_manager.h"
 #include "chrome/browser/notifications/notification_display_service_tester.h"
-#include "chrome/browser/sync/profile_sync_test_util.h"
 #include "chrome/browser/sync/sync_ui_util.h"
-#include "chrome/browser/ui/browser.h"
 #include "chrome/browser/ui/webui/signin/login_ui_service.h"
 #include "chrome/browser/ui/webui/signin/login_ui_service_factory.h"
 #include "chrome/test/base/browser_with_test_window_test.h"
-#include "components/browser_sync/profile_sync_service_mock.h"
+#include "components/sync/driver/test_sync_service.h"
 #include "components/user_manager/scoped_user_manager.h"
-#include "testing/gmock/include/gmock/gmock.h"
 #include "testing/gtest/include/gtest/gtest.h"
 #include "ui/message_center/public/cpp/notification.h"
 
-using ::testing::NiceMock;
-using ::testing::Return;
-using ::testing::_;
-
 namespace {
 
 // Notification ID corresponding to kProfileSyncNotificationId + the test
@@ -37,25 +27,18 @@
 class FakeLoginUIService: public LoginUIService {
  public:
   FakeLoginUIService() : LoginUIService(nullptr) {}
-  ~FakeLoginUIService() override {}
+  ~FakeLoginUIService() override = default;
 };
 
 class FakeLoginUI : public LoginUIService::LoginUI {
  public:
-  FakeLoginUI() : focus_ui_call_count_(0) {}
+  FakeLoginUI() = default;
+  ~FakeLoginUI() override = default;
 
-  ~FakeLoginUI() override {}
-
-  int focus_ui_call_count() const { return focus_ui_call_count_; }
-
- private:
-  // LoginUIService::LoginUI:
-  void FocusUI() override { ++focus_ui_call_count_; }
-
-  int focus_ui_call_count_;
+  void FocusUI() override {}
 };
 
-std::unique_ptr<KeyedService> BuildMockLoginUIService(
+std::unique_ptr<KeyedService> BuildFakeLoginUIService(
     content::BrowserContext* profile) {
   return std::make_unique<FakeLoginUIService>();
 }
@@ -68,16 +51,12 @@
   void SetUp() override {
     BrowserWithTestWindowTest::SetUp();
 
-    service_ = std::make_unique<NiceMock<browser_sync::ProfileSyncServiceMock>>(
-        CreateProfileSyncServiceParamsForTest(profile()));
-
     FakeLoginUIService* login_ui_service = static_cast<FakeLoginUIService*>(
         LoginUIServiceFactory::GetInstance()->SetTestingFactoryAndUse(
-            profile(), base::BindRepeating(&BuildMockLoginUIService)));
+            profile(), base::BindRepeating(&BuildFakeLoginUIService)));
     login_ui_service->SetLoginUI(&login_ui_);
 
-    error_notifier_ =
-        std::make_unique<SyncErrorNotifier>(service_.get(), profile());
+    error_notifier_ = std::make_unique<SyncErrorNotifier>(&service_, profile());
 
     display_service_ =
         std::make_unique<NotificationDisplayServiceTester>(profile());
@@ -85,7 +64,6 @@
 
   void TearDown() override {
     error_notifier_->Shutdown();
-    service_.reset();
 
     BrowserWithTestWindowTest::TearDown();
   }
@@ -97,15 +75,11 @@
                                      bool is_signed_in,
                                      bool is_error,
                                      bool expected_notification) {
-    ON_CALL(*service_->GetUserSettingsMock(), IsFirstSetupComplete())
-        .WillByDefault(Return(is_signed_in));
+    service_.SetFirstSetupComplete(is_signed_in);
+    service_.SetAuthError(GoogleServiceAuthError(error_state));
+    ASSERT_EQ(is_error, sync_ui_util::ShouldShowPassphraseError(&service_));
 
-    ON_CALL(*service_, GetAuthError())
-        .WillByDefault(Return(GoogleServiceAuthError(error_state)));
-    ASSERT_EQ(is_error,
-              sync_ui_util::ShouldShowPassphraseError(service_.get()));
-
-    error_notifier_->OnStateChanged(service_.get());
+    error_notifier_->OnStateChanged(&service_);
 
     base::Optional<message_center::Notification> notification =
         display_service_->GetNotification(kNotificationId);
@@ -119,7 +93,7 @@
   }
 
   std::unique_ptr<SyncErrorNotifier> error_notifier_;
-  std::unique_ptr<browser_sync::ProfileSyncServiceMock> service_;
+  syncer::TestSyncService service_;
   FakeLoginUI login_ui_;
   std::unique_ptr<NotificationDisplayServiceTester> display_service_;
 
@@ -134,12 +108,8 @@
       std::make_unique<chromeos::MockUserManager>());
   ASSERT_FALSE(display_service_->GetNotification(kNotificationId));
 
-  ON_CALL(*service_, QueryDetailedSyncStatus(_)).WillByDefault(Return(false));
-
-  ON_CALL(*service_->GetUserSettingsMock(), IsPassphraseRequired())
-      .WillByDefault(Return(true));
-  ON_CALL(*service_->GetUserSettingsMock(), IsPassphraseRequiredForDecryption())
-      .WillByDefault(Return(true));
+  service_.SetPassphraseRequired(true);
+  service_.SetPassphraseRequiredForDecryption(true);
   {
     SCOPED_TRACE("Expected a notification for passphrase error");
     VerifySyncErrorNotifierResult(GoogleServiceAuthError::NONE,
@@ -158,10 +128,8 @@
   }
 
   // Check that no notification is shown if there is no error.
-  ON_CALL(*service_->GetUserSettingsMock(), IsPassphraseRequired())
-      .WillByDefault(Return(false));
-  ON_CALL(*service_->GetUserSettingsMock(), IsPassphraseRequiredForDecryption())
-      .WillByDefault(Return(false));
+  service_.SetPassphraseRequired(false);
+  service_.SetPassphraseRequiredForDecryption(false);
   {
     SCOPED_TRACE("Not expecting notification since no error exists");
     VerifySyncErrorNotifierResult(GoogleServiceAuthError::NONE,
@@ -170,10 +138,8 @@
   }
 
   // Check that no notification is shown if sync setup is not completed.
-  ON_CALL(*service_->GetUserSettingsMock(), IsPassphraseRequired())
-      .WillByDefault(Return(true));
-  ON_CALL(*service_->GetUserSettingsMock(), IsPassphraseRequiredForDecryption())
-      .WillByDefault(Return(true));
+  service_.SetPassphraseRequired(true);
+  service_.SetPassphraseRequiredForDecryption(true);
   {
     SCOPED_TRACE("Not expecting notification since sync setup is incomplete");
     VerifySyncErrorNotifierResult(