Extract common mock classes for Sharing

Extract MockSharingDeviceSource, MockSharingMessageHandler and
MockSharingMessageSender as they were implemented 3 times each in our
tests already. This makes it easier to refactor these base classes in
future.

Bug: None
Change-Id: I5cbcfebe55c2d41f66c91487039ab066db8b55e9
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2023832
Reviewed-by: Michael van Ouwerkerk <[email protected]>
Commit-Queue: Richard Knoll <[email protected]>
Cr-Commit-Position: refs/heads/master@{#735999}
diff --git a/chrome/browser/sharing/ack_message_handler_unittest.cc b/chrome/browser/sharing/ack_message_handler_unittest.cc
index 2e8b832..fca4e022 100644
--- a/chrome/browser/sharing/ack_message_handler_unittest.cc
+++ b/chrome/browser/sharing/ack_message_handler_unittest.cc
@@ -7,32 +7,15 @@
 #include "base/bind.h"
 #include "base/bind_helpers.h"
 #include "base/test/mock_callback.h"
+#include "chrome/browser/sharing/mock_sharing_message_sender.h"
 #include "chrome/browser/sharing/proto/sharing_message.pb.h"
 #include "chrome/browser/sharing/sharing_fcm_sender.h"
-#include "chrome/browser/sharing/sharing_message_sender.h"
 #include "testing/gmock/include/gmock/gmock.h"
 #include "testing/gtest/include/gtest/gtest.h"
 
 namespace {
 constexpr char kTestMessageId[] = "test_message_id";
 
-class MockSharingMessageSender : public SharingMessageSender {
- public:
-  MockSharingMessageSender()
-      : SharingMessageSender(
-            /*sync_prefs=*/nullptr,
-            /*local_device_info_provider=*/nullptr) {}
-  ~MockSharingMessageSender() override = default;
-
-  MOCK_METHOD2(
-      OnAckReceived,
-      void(const std::string& fcm_message_id,
-           std::unique_ptr<chrome_browser_sharing::ResponseMessage> response));
-
- private:
-  DISALLOW_COPY_AND_ASSIGN(MockSharingMessageSender);
-};
-
 class AckMessageHandlerTest : public testing::Test {
  protected:
   AckMessageHandlerTest()
diff --git a/chrome/browser/sharing/fake_device_info.cc b/chrome/browser/sharing/fake_device_info.cc
index c01b92be..83a94c0 100644
--- a/chrome/browser/sharing/fake_device_info.cc
+++ b/chrome/browser/sharing/fake_device_info.cc
@@ -1,6 +1,7 @@
 // Copyright 2019 The Chromium Authors. All rights reserved.
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
+
 #include "chrome/browser/sharing/fake_device_info.h"
 
 std::unique_ptr<syncer::DeviceInfo> CreateFakeDeviceInfo(
diff --git a/chrome/browser/sharing/mock_sharing_device_source.cc b/chrome/browser/sharing/mock_sharing_device_source.cc
new file mode 100644
index 0000000..b61ef6a6
--- /dev/null
+++ b/chrome/browser/sharing/mock_sharing_device_source.cc
@@ -0,0 +1,9 @@
+// Copyright 2020 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "chrome/browser/sharing/mock_sharing_device_source.h"
+
+MockSharingDeviceSource::MockSharingDeviceSource() = default;
+
+MockSharingDeviceSource::~MockSharingDeviceSource() = default;
diff --git a/chrome/browser/sharing/mock_sharing_device_source.h b/chrome/browser/sharing/mock_sharing_device_source.h
new file mode 100644
index 0000000..71d646a7
--- /dev/null
+++ b/chrome/browser/sharing/mock_sharing_device_source.h
@@ -0,0 +1,36 @@
+// Copyright 2020 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef CHROME_BROWSER_SHARING_MOCK_SHARING_DEVICE_SOURCE_H_
+#define CHROME_BROWSER_SHARING_MOCK_SHARING_DEVICE_SOURCE_H_
+
+#include <memory>
+#include <string>
+#include <vector>
+
+#include "chrome/browser/sharing/sharing_device_source.h"
+#include "components/sync_device_info/device_info.h"
+#include "testing/gmock/include/gmock/gmock.h"
+
+class MockSharingDeviceSource : public SharingDeviceSource {
+ public:
+  MockSharingDeviceSource();
+  MockSharingDeviceSource(const MockSharingDeviceSource&) = delete;
+  MockSharingDeviceSource& operator=(const MockSharingDeviceSource&) = delete;
+  ~MockSharingDeviceSource() override;
+
+  MOCK_METHOD0(IsReady, bool());
+
+  MOCK_METHOD1(GetDeviceByGuid,
+               std::unique_ptr<syncer::DeviceInfo>(const std::string& guid));
+
+  MOCK_METHOD1(
+      GetDeviceCandidates,
+      std::vector<std::unique_ptr<syncer::DeviceInfo>>(
+          sync_pb::SharingSpecificFields::EnabledFeatures required_feature));
+
+  void MaybeRunReadyCallbacksForTesting() { MaybeRunReadyCallbacks(); }
+};
+
+#endif  // CHROME_BROWSER_SHARING_MOCK_SHARING_DEVICE_SOURCE_H_
diff --git a/chrome/browser/sharing/mock_sharing_message_handler.cc b/chrome/browser/sharing/mock_sharing_message_handler.cc
new file mode 100644
index 0000000..1f4e4a4
--- /dev/null
+++ b/chrome/browser/sharing/mock_sharing_message_handler.cc
@@ -0,0 +1,9 @@
+// Copyright 2020 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "chrome/browser/sharing/mock_sharing_message_handler.h"
+
+MockSharingMessageHandler::MockSharingMessageHandler() = default;
+
+MockSharingMessageHandler::~MockSharingMessageHandler() = default;
diff --git a/chrome/browser/sharing/mock_sharing_message_handler.h b/chrome/browser/sharing/mock_sharing_message_handler.h
new file mode 100644
index 0000000..c8b6dd57
--- /dev/null
+++ b/chrome/browser/sharing/mock_sharing_message_handler.h
@@ -0,0 +1,25 @@
+// Copyright 2020 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef CHROME_BROWSER_SHARING_MOCK_SHARING_MESSAGE_HANDLER_H_
+#define CHROME_BROWSER_SHARING_MOCK_SHARING_MESSAGE_HANDLER_H_
+
+#include "chrome/browser/sharing/proto/sharing_message.pb.h"
+#include "chrome/browser/sharing/sharing_message_handler.h"
+#include "testing/gmock/include/gmock/gmock.h"
+
+class MockSharingMessageHandler : public SharingMessageHandler {
+ public:
+  MockSharingMessageHandler();
+  MockSharingMessageHandler(const MockSharingMessageHandler&) = delete;
+  MockSharingMessageHandler& operator=(const MockSharingMessageHandler&) =
+      delete;
+  ~MockSharingMessageHandler() override;
+
+  // SharingMessageHandler:
+  MOCK_METHOD2(OnMessage,
+               void(chrome_browser_sharing::SharingMessage, DoneCallback));
+};
+
+#endif  // CHROME_BROWSER_SHARING_MOCK_SHARING_MESSAGE_HANDLER_H_
diff --git a/chrome/browser/sharing/mock_sharing_message_sender.cc b/chrome/browser/sharing/mock_sharing_message_sender.cc
new file mode 100644
index 0000000..f2b40b8
--- /dev/null
+++ b/chrome/browser/sharing/mock_sharing_message_sender.cc
@@ -0,0 +1,12 @@
+// Copyright 2020 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "chrome/browser/sharing/mock_sharing_message_sender.h"
+
+MockSharingMessageSender::MockSharingMessageSender()
+    : SharingMessageSender(
+          /*sync_prefs=*/nullptr,
+          /*local_device_info_provider=*/nullptr) {}
+
+MockSharingMessageSender::~MockSharingMessageSender() = default;
diff --git a/chrome/browser/sharing/mock_sharing_message_sender.h b/chrome/browser/sharing/mock_sharing_message_sender.h
new file mode 100644
index 0000000..59a5441
--- /dev/null
+++ b/chrome/browser/sharing/mock_sharing_message_sender.h
@@ -0,0 +1,38 @@
+// Copyright 2020 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef CHROME_BROWSER_SHARING_MOCK_SHARING_MESSAGE_SENDER_H_
+#define CHROME_BROWSER_SHARING_MOCK_SHARING_MESSAGE_SENDER_H_
+
+#include <memory>
+#include <string>
+
+#include "base/callback.h"
+#include "base/time/time.h"
+#include "chrome/browser/sharing/proto/sharing_message.pb.h"
+#include "chrome/browser/sharing/sharing_message_sender.h"
+#include "components/sync_device_info/device_info.h"
+#include "testing/gmock/include/gmock/gmock.h"
+
+class MockSharingMessageSender : public SharingMessageSender {
+ public:
+  MockSharingMessageSender();
+  MockSharingMessageSender(const MockSharingMessageSender&) = delete;
+  MockSharingMessageSender& operator=(const MockSharingMessageSender&) = delete;
+  ~MockSharingMessageSender() override;
+
+  MOCK_METHOD5(SendMessageToDevice,
+               void(const syncer::DeviceInfo&,
+                    base::TimeDelta,
+                    chrome_browser_sharing::SharingMessage,
+                    DelegateType,
+                    ResponseCallback));
+
+  MOCK_METHOD2(
+      OnAckReceived,
+      void(const std::string& fcm_message_id,
+           std::unique_ptr<chrome_browser_sharing::ResponseMessage> response));
+};
+
+#endif  // CHROME_BROWSER_SHARING_MOCK_SHARING_MESSAGE_SENDER_H_
diff --git a/chrome/browser/sharing/mock_sharing_service.cc b/chrome/browser/sharing/mock_sharing_service.cc
index 0c60386..b849c13f 100644
--- a/chrome/browser/sharing/mock_sharing_service.cc
+++ b/chrome/browser/sharing/mock_sharing_service.cc
@@ -1,6 +1,7 @@
 // Copyright 2019 The Chromium Authors. All rights reserved.
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
+
 #include "chrome/browser/sharing/mock_sharing_service.h"
 
 #include "chrome/browser/sharing/sharing_device_source.h"
diff --git a/chrome/browser/sharing/mock_sharing_service.h b/chrome/browser/sharing/mock_sharing_service.h
index 48d6cb7..e9e8ef72 100644
--- a/chrome/browser/sharing/mock_sharing_service.h
+++ b/chrome/browser/sharing/mock_sharing_service.h
@@ -9,7 +9,6 @@
 #include "chrome/browser/sharing/sharing_message_handler.h"
 #include "chrome/browser/sharing/sharing_message_sender.h"
 #include "chrome/browser/sharing/sharing_service.h"
-
 #include "testing/gmock/include/gmock/gmock.h"
 
 class MockSharingService : public SharingService {
diff --git a/chrome/browser/sharing/shared_clipboard/shared_clipboard_message_handler_desktop_unittest.cc b/chrome/browser/sharing/shared_clipboard/shared_clipboard_message_handler_desktop_unittest.cc
index f5e4adb..6286af5c 100644
--- a/chrome/browser/sharing/shared_clipboard/shared_clipboard_message_handler_desktop_unittest.cc
+++ b/chrome/browser/sharing/shared_clipboard/shared_clipboard_message_handler_desktop_unittest.cc
@@ -7,10 +7,10 @@
 #include "base/guid.h"
 #include "base/strings/utf_string_conversions.h"
 #include "base/test/mock_callback.h"
+#include "chrome/browser/sharing/mock_sharing_device_source.h"
 #include "chrome/browser/sharing/mock_sharing_service.h"
 #include "chrome/browser/sharing/proto/shared_clipboard_message.pb.h"
 #include "chrome/browser/sharing/shared_clipboard/shared_clipboard_test_base.h"
-#include "chrome/browser/sharing/sharing_device_source.h"
 #include "chrome/grit/generated_resources.h"
 #include "chrome/test/base/testing_profile.h"
 #include "components/sync/protocol/sync_enums.pb.h"
@@ -26,19 +26,6 @@
 const char kDeviceNameInDeviceInfo[] = "DeviceNameInDeviceInfo";
 const char kDeviceNameInMessage[] = "DeviceNameInMessage";
 
-class MockSharingDeviceSource : public SharingDeviceSource {
- public:
-  bool IsReady() override { return true; }
-
-  MOCK_METHOD1(GetDeviceByGuid,
-               std::unique_ptr<syncer::DeviceInfo>(const std::string& guid));
-
-  MOCK_METHOD1(
-      GetDeviceCandidates,
-      std::vector<std::unique_ptr<syncer::DeviceInfo>>(
-          sync_pb::SharingSpecificFields::EnabledFeatures required_feature));
-};
-
 class SharedClipboardMessageHandlerTest : public SharedClipboardTestBase {
  public:
   SharedClipboardMessageHandlerTest() = default;
@@ -47,6 +34,7 @@
 
   void SetUp() override {
     SharedClipboardTestBase::SetUp();
+    ON_CALL(device_source_, IsReady()).WillByDefault(testing::Return(true));
     message_handler_ = std::make_unique<SharedClipboardMessageHandlerDesktop>(
         &device_source_, &profile_);
   }
diff --git a/chrome/browser/sharing/sharing_device_source_unittest.cc b/chrome/browser/sharing/sharing_device_source_unittest.cc
index e6978ea..7ef2e7a 100644
--- a/chrome/browser/sharing/sharing_device_source_unittest.cc
+++ b/chrome/browser/sharing/sharing_device_source_unittest.cc
@@ -6,29 +6,11 @@
 
 #include "base/callback.h"
 #include "base/test/bind_test_util.h"
+#include "chrome/browser/sharing/mock_sharing_device_source.h"
 #include "components/sync_device_info/device_info.h"
 #include "testing/gmock/include/gmock/gmock.h"
 #include "testing/gtest/include/gtest/gtest.h"
 
-namespace {
-
-class MockSharingDeviceSource : public SharingDeviceSource {
- public:
-  MOCK_METHOD0(IsReady, bool());
-
-  MOCK_METHOD1(GetDeviceByGuid,
-               std::unique_ptr<syncer::DeviceInfo>(const std::string& guid));
-
-  MOCK_METHOD1(
-      GetDeviceCandidates,
-      std::vector<std::unique_ptr<syncer::DeviceInfo>>(
-          sync_pb::SharingSpecificFields::EnabledFeatures required_feature));
-
-  void MaybeRunReadyCallbacksForTesting() { MaybeRunReadyCallbacks(); }
-};
-
-}  // namespace
-
 TEST(SharingDeviceSourceTest, RunsCallbackImmediatelyIfReady) {
   MockSharingDeviceSource device_source;
   EXPECT_CALL(device_source, IsReady()).WillOnce(testing::Return(true));
diff --git a/chrome/browser/sharing/sharing_fcm_handler_unittest.cc b/chrome/browser/sharing/sharing_fcm_handler_unittest.cc
index ba538e0..c7fd562 100644
--- a/chrome/browser/sharing/sharing_fcm_handler_unittest.cc
+++ b/chrome/browser/sharing/sharing_fcm_handler_unittest.cc
@@ -8,11 +8,11 @@
 
 #include "chrome/browser/sharing/fake_sharing_handler_registry.h"
 #include "chrome/browser/sharing/features.h"
+#include "chrome/browser/sharing/mock_sharing_message_handler.h"
 #include "chrome/browser/sharing/sharing_constants.h"
 #include "chrome/browser/sharing/sharing_fcm_handler.h"
 #include "chrome/browser/sharing/sharing_fcm_sender.h"
 #include "chrome/browser/sharing/sharing_handler_registry.h"
-#include "chrome/browser/sharing/sharing_message_handler.h"
 #include "chrome/browser/sharing/sharing_sync_preference.h"
 #include "components/gcm_driver/fake_gcm_driver.h"
 #include "components/sync_device_info/device_info.h"
@@ -39,17 +39,6 @@
 const char kP256dh[] = "test_p256_dh";
 const char kAuthSecret[] = "test_auth_secret";
 
-class MockSharingMessageHandler : public SharingMessageHandler {
- public:
-  MockSharingMessageHandler() = default;
-  ~MockSharingMessageHandler() override = default;
-
-  // SharingMessageHandler implementation:
-  MOCK_METHOD2(OnMessage,
-               void(SharingMessage message,
-                    SharingMessageHandler::DoneCallback done_callback));
-};
-
 class MockSharingFCMSender : public SharingFCMSender {
  public:
   MockSharingFCMSender()
diff --git a/chrome/browser/sharing/sharing_handler_registry_impl_unittest.cc b/chrome/browser/sharing/sharing_handler_registry_impl_unittest.cc
index c81d46b..ed0faaf 100644
--- a/chrome/browser/sharing/sharing_handler_registry_impl_unittest.cc
+++ b/chrome/browser/sharing/sharing_handler_registry_impl_unittest.cc
@@ -7,21 +7,12 @@
 
 #include <memory>
 
+#include "chrome/browser/sharing/mock_sharing_message_handler.h"
 #include "chrome/browser/sharing/sharing_device_registration.h"
-#include "chrome/browser/sharing/sharing_message_handler.h"
 #include "testing/gtest/include/gtest/gtest.h"
 
 namespace {
 
-class FakeMessageHandler : public SharingMessageHandler {
- public:
-  FakeMessageHandler() = default;
-  ~FakeMessageHandler() override = default;
-
-  void OnMessage(chrome_browser_sharing::SharingMessage message,
-                 SharingMessageHandler::DoneCallback done_callback) override {}
-};
-
 class FakeSharingDeviceRegistration : public SharingDeviceRegistration {
  public:
   FakeSharingDeviceRegistration()
@@ -85,7 +76,7 @@
       chrome_browser_sharing::SharingMessage::kSharedClipboardMessage));
 
   handler_registry->RegisterSharingHandler(
-      std::make_unique<FakeMessageHandler>(),
+      std::make_unique<MockSharingMessageHandler>(),
       chrome_browser_sharing::SharingMessage::kSharedClipboardMessage);
   EXPECT_TRUE(handler_registry->GetSharingHandler(
       chrome_browser_sharing::SharingMessage::kSharedClipboardMessage));
diff --git a/chrome/browser/sharing/sharing_service_unittest.cc b/chrome/browser/sharing/sharing_service_unittest.cc
index 6c7176c..8cd4b45 100644
--- a/chrome/browser/sharing/sharing_service_unittest.cc
+++ b/chrome/browser/sharing/sharing_service_unittest.cc
@@ -14,11 +14,12 @@
 #include "base/test/task_environment.h"
 #include "chrome/browser/sharing/fake_device_info.h"
 #include "chrome/browser/sharing/features.h"
+#include "chrome/browser/sharing/mock_sharing_device_source.h"
+#include "chrome/browser/sharing/mock_sharing_message_sender.h"
 #include "chrome/browser/sharing/proto/sharing_message.pb.h"
 #include "chrome/browser/sharing/sharing_constants.h"
 #include "chrome/browser/sharing/sharing_device_registration.h"
 #include "chrome/browser/sharing/sharing_device_registration_result.h"
-#include "chrome/browser/sharing/sharing_device_source_sync.h"
 #include "chrome/browser/sharing/sharing_fcm_handler.h"
 #include "chrome/browser/sharing/sharing_fcm_sender.h"
 #include "chrome/browser/sharing/sharing_handler_registry.h"
@@ -90,25 +91,6 @@
   MOCK_METHOD0(StopListening, void());
 };
 
-class MockSharingMessageSender : public SharingMessageSender {
- public:
-  MockSharingMessageSender()
-      : SharingMessageSender(
-            /*sync_prefs=*/nullptr,
-            /*local_device_info_provider=*/nullptr) {}
-  ~MockSharingMessageSender() override = default;
-
-  MOCK_METHOD5(SendMessageToDevice,
-               void(const syncer::DeviceInfo&,
-                    base::TimeDelta,
-                    chrome_browser_sharing::SharingMessage,
-                    DelegateType,
-                    ResponseCallback));
-
- private:
-  DISALLOW_COPY_AND_ASSIGN(MockSharingMessageSender);
-};
-
 class FakeSharingDeviceRegistration : public SharingDeviceRegistration {
  public:
   FakeSharingDeviceRegistration(
@@ -151,19 +133,6 @@
   int unregistration_attempts_ = 0;
 };
 
-class MockSharingDeviceSource : public SharingDeviceSource {
- public:
-  bool IsReady() override { return true; }
-
-  MOCK_METHOD1(GetDeviceByGuid,
-               std::unique_ptr<syncer::DeviceInfo>(const std::string& guid));
-
-  MOCK_METHOD1(
-      GetDeviceCandidates,
-      std::vector<std::unique_ptr<syncer::DeviceInfo>>(
-          sync_pb::SharingSpecificFields::EnabledFeatures required_feature));
-};
-
 class SharingServiceTest : public testing::Test {
  public:
   SharingServiceTest() {
@@ -179,6 +148,8 @@
     device_source_ = new testing::NiceMock<MockSharingDeviceSource>();
     sharing_message_sender_ = new testing::NiceMock<MockSharingMessageSender>();
     SharingSyncPreference::RegisterProfilePrefs(prefs_.registry());
+
+    ON_CALL(*device_source_, IsReady()).WillByDefault(testing::Return(true));
   }
 
   ~SharingServiceTest() override {
diff --git a/chrome/browser/sharing/webrtc/sharing_webrtc_connection_host_unittest.cc b/chrome/browser/sharing/webrtc/sharing_webrtc_connection_host_unittest.cc
index 0c812e3..ff5fd944 100644
--- a/chrome/browser/sharing/webrtc/sharing_webrtc_connection_host_unittest.cc
+++ b/chrome/browser/sharing/webrtc/sharing_webrtc_connection_host_unittest.cc
@@ -10,9 +10,9 @@
 #include "base/time/time.h"
 #include "chrome/browser/sharing/fake_device_info.h"
 #include "chrome/browser/sharing/fake_sharing_handler_registry.h"
+#include "chrome/browser/sharing/mock_sharing_message_handler.h"
 #include "chrome/browser/sharing/proto/sharing_message.pb.h"
 #include "chrome/browser/sharing/sharing_constants.h"
-#include "chrome/browser/sharing/sharing_message_handler.h"
 #include "chrome/browser/sharing/webrtc/webrtc_signalling_host_fcm.h"
 #include "chrome/services/sharing/public/mojom/webrtc.mojom.h"
 #include "content/public/test/browser_task_environment.h"
@@ -62,16 +62,6 @@
                void(std::vector<sharing::mojom::IceCandidatePtr>));
 };
 
-class MockSharingMessageHandler : public SharingMessageHandler {
- public:
-  MockSharingMessageHandler() = default;
-  ~MockSharingMessageHandler() override = default;
-
-  // SharingMessageHandler:
-  MOCK_METHOD2(OnMessage,
-               void(chrome_browser_sharing::SharingMessage, DoneCallback));
-};
-
 chrome_browser_sharing::WebRtcMessage CreateMessage() {
   chrome_browser_sharing::WebRtcMessage message;
   message.set_message_guid("guid");
diff --git a/chrome/browser/sharing/webrtc/webrtc_signalling_host_fcm_unittest.cc b/chrome/browser/sharing/webrtc/webrtc_signalling_host_fcm_unittest.cc
index 7a2bd46..0d472849 100644
--- a/chrome/browser/sharing/webrtc/webrtc_signalling_host_fcm_unittest.cc
+++ b/chrome/browser/sharing/webrtc/webrtc_signalling_host_fcm_unittest.cc
@@ -6,8 +6,8 @@
 
 #include "base/test/bind_test_util.h"
 #include "chrome/browser/sharing/fake_device_info.h"
+#include "chrome/browser/sharing/mock_sharing_message_sender.h"
 #include "chrome/browser/sharing/proto/sharing_message.pb.h"
-#include "chrome/browser/sharing/sharing_message_sender.h"
 #include "chrome/browser/sharing/sharing_send_message_result.h"
 #include "chrome/services/sharing/public/mojom/webrtc.mojom.h"
 #include "content/public/test/browser_task_environment.h"
@@ -16,24 +16,6 @@
 
 namespace {
 
-class MockSharingMessageSender : public SharingMessageSender {
- public:
-  MockSharingMessageSender()
-      : SharingMessageSender(
-            /*sync_prefs=*/nullptr,
-            /*local_device_info_provider=*/nullptr) {}
-  MockSharingMessageSender(const MockSharingMessageSender&) = delete;
-  MockSharingMessageSender& operator=(const MockSharingMessageSender&) = delete;
-  ~MockSharingMessageSender() override = default;
-
-  MOCK_METHOD5(SendMessageToDevice,
-               void(const syncer::DeviceInfo&,
-                    base::TimeDelta,
-                    chrome_browser_sharing::SharingMessage,
-                    DelegateType,
-                    ResponseCallback));
-};
-
 class MockSignallingService : public sharing::mojom::SignallingReceiver {
  public:
   MockSignallingService() = default;
diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn
index b32665b..3ff51a6 100644
--- a/chrome/test/BUILD.gn
+++ b/chrome/test/BUILD.gn
@@ -3361,6 +3361,12 @@
     "../browser/sharing/fake_device_info.h",
     "../browser/sharing/fake_sharing_handler_registry.cc",
     "../browser/sharing/fake_sharing_handler_registry.h",
+    "../browser/sharing/mock_sharing_device_source.cc",
+    "../browser/sharing/mock_sharing_device_source.h",
+    "../browser/sharing/mock_sharing_message_handler.cc",
+    "../browser/sharing/mock_sharing_message_handler.h",
+    "../browser/sharing/mock_sharing_message_sender.cc",
+    "../browser/sharing/mock_sharing_message_sender.h",
     "../browser/sharing/mock_sharing_service.cc",
     "../browser/sharing/mock_sharing_service.h",
     "../browser/sharing/sharing_device_registration_unittest.cc",