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()