Clean up kSharingSyncedDevices
- Cleaned up usage of kSharingSyncedDevices in SharingSyncPreference,
as we've migrated to DeviceInfo since M79
- Moved DeviceInfo related helper methods of SharingSyncPreference to
SharingUtil
- Removed code path that use sender_guid to find fcm channel, as
fcm_channel_configuration field has been embeeded in SharingMessage
since M78
- Remove SharingSyncPreference dependency from a few classes
- Added send-via-sync codepath in browser tests
Bug: 1069475
Change-Id: Ie3b46e8af8a02697a55c6ef4dc2ba3123e843daf
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2159235
Reviewed-by: Richard Knoll <[email protected]>
Commit-Queue: Alex Chau <[email protected]>
Cr-Commit-Position: refs/heads/master@{#761373}
diff --git a/chrome/browser/sharing/sharing_utils_unittest.cc b/chrome/browser/sharing/sharing_utils_unittest.cc
index d18ed67..bdc5941 100644
--- a/chrome/browser/sharing/sharing_utils_unittest.cc
+++ b/chrome/browser/sharing/sharing_utils_unittest.cc
@@ -5,13 +5,25 @@
#include "chrome/browser/sharing/sharing_utils.h"
#include "base/test/scoped_feature_list.h"
+#include "chrome/browser/sharing/fake_device_info.h"
#include "chrome/browser/sharing/features.h"
+#include "chrome/browser/sharing/proto/sharing_message.pb.h"
+#include "chrome/browser/sharing/sharing_constants.h"
#include "components/sync/driver/test_sync_service.h"
#include "components/sync_device_info/device_info.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace {
+const char kDeviceGuid[] = "test_guid";
+const char kDeviceName[] = "test_name";
+const char kVapidFCMToken[] = "test_vapid_fcm_token";
+const char kVapidP256dh[] = "test_vapid_p256_dh";
+const char kVapidAuthSecret[] = "test_vapid_auth_secret";
+const char kSenderIdFCMToken[] = "test_sender_id_fcm_token";
+const char kSenderIdP256dh[] = "test_sender_id_p256_dh";
+const char kSenderIdAuthSecret[] = "test_sender_id_auth_secret";
+
class SharingUtilsTest : public testing::Test {
public:
SharingUtilsTest() = default;
@@ -23,7 +35,6 @@
} // namespace
-
TEST_F(SharingUtilsTest, SyncEnabled_SigninOnly) {
// Enable transport mode required features.
scoped_feature_list_.InitWithFeatures(
@@ -96,3 +107,79 @@
EXPECT_FALSE(IsSyncEnabledForSharing(&test_sync_service_));
EXPECT_FALSE(IsSyncDisabledForSharing(&test_sync_service_));
}
+
+TEST_F(SharingUtilsTest, GetFCMChannel) {
+ std::unique_ptr<syncer::DeviceInfo> device_info = CreateFakeDeviceInfo(
+ kDeviceGuid, kDeviceName,
+ syncer::DeviceInfo::SharingInfo(
+ {kVapidFCMToken, kVapidP256dh, kVapidAuthSecret},
+ {kSenderIdFCMToken, kSenderIdP256dh, kSenderIdAuthSecret},
+ std::set<sync_pb::SharingSpecificFields::EnabledFeatures>()));
+
+ auto fcm_channel = GetFCMChannel(*device_info);
+
+ ASSERT_TRUE(fcm_channel);
+ EXPECT_EQ(fcm_channel->vapid_fcm_token(), kVapidFCMToken);
+ EXPECT_EQ(fcm_channel->vapid_p256dh(), kVapidP256dh);
+ EXPECT_EQ(fcm_channel->vapid_auth_secret(), kVapidAuthSecret);
+ EXPECT_EQ(fcm_channel->sender_id_fcm_token(), kSenderIdFCMToken);
+ EXPECT_EQ(fcm_channel->sender_id_p256dh(), kSenderIdP256dh);
+ EXPECT_EQ(fcm_channel->sender_id_auth_secret(), kSenderIdAuthSecret);
+}
+
+TEST_F(SharingUtilsTest, GetDevicePlatform) {
+ EXPECT_EQ(GetDevicePlatform(*CreateFakeDeviceInfo(
+ kDeviceGuid, kDeviceName, /*sharing_info=*/base::nullopt,
+ sync_pb::SyncEnums_DeviceType_TYPE_CROS)),
+ SharingDevicePlatform::kChromeOS);
+
+ EXPECT_EQ(GetDevicePlatform(*CreateFakeDeviceInfo(
+ kDeviceGuid, kDeviceName, /*sharing_info=*/base::nullopt,
+ sync_pb::SyncEnums_DeviceType_TYPE_LINUX)),
+ SharingDevicePlatform::kLinux);
+
+ EXPECT_EQ(GetDevicePlatform(*CreateFakeDeviceInfo(
+ kDeviceGuid, kDeviceName, /*sharing_info=*/base::nullopt,
+ sync_pb::SyncEnums_DeviceType_TYPE_MAC)),
+ SharingDevicePlatform::kMac);
+
+ EXPECT_EQ(GetDevicePlatform(*CreateFakeDeviceInfo(
+ kDeviceGuid, kDeviceName, /*sharing_info=*/base::nullopt,
+ sync_pb::SyncEnums_DeviceType_TYPE_WIN)),
+ SharingDevicePlatform::kWindows);
+
+ EXPECT_EQ(GetDevicePlatform(*CreateFakeDeviceInfo(
+ kDeviceGuid, kDeviceName, /*sharing_info=*/base::nullopt,
+ sync_pb::SyncEnums_DeviceType_TYPE_PHONE,
+ base::SysInfo::HardwareInfo(
+ {"Apple Inc.", "iPhone 50", "serial_no"}))),
+ SharingDevicePlatform::kIOS);
+ EXPECT_EQ(
+ GetDevicePlatform(*CreateFakeDeviceInfo(
+ kDeviceGuid, kDeviceName, /*sharing_info=*/base::nullopt,
+ sync_pb::SyncEnums_DeviceType_TYPE_TABLET,
+ base::SysInfo::HardwareInfo({"Apple Inc.", "iPad 99", "serial_no"}))),
+ SharingDevicePlatform::kIOS);
+
+ EXPECT_EQ(
+ GetDevicePlatform(*CreateFakeDeviceInfo(
+ kDeviceGuid, kDeviceName, /*sharing_info=*/base::nullopt,
+ sync_pb::SyncEnums_DeviceType_TYPE_PHONE,
+ base::SysInfo::HardwareInfo({"Google", "Pixel 777", "serial_no"}))),
+ SharingDevicePlatform::kAndroid);
+ EXPECT_EQ(
+ GetDevicePlatform(*CreateFakeDeviceInfo(
+ kDeviceGuid, kDeviceName, /*sharing_info=*/base::nullopt,
+ sync_pb::SyncEnums_DeviceType_TYPE_TABLET,
+ base::SysInfo::HardwareInfo({"Google", "Pixel Z", "serial_no"}))),
+ SharingDevicePlatform::kAndroid);
+
+ EXPECT_EQ(GetDevicePlatform(*CreateFakeDeviceInfo(
+ kDeviceGuid, kDeviceName, /*sharing_info=*/base::nullopt,
+ sync_pb::SyncEnums_DeviceType_TYPE_UNSET)),
+ SharingDevicePlatform::kUnknown);
+ EXPECT_EQ(GetDevicePlatform(*CreateFakeDeviceInfo(
+ kDeviceGuid, kDeviceName, /*sharing_info=*/base::nullopt,
+ sync_pb::SyncEnums_DeviceType_TYPE_OTHER)),
+ SharingDevicePlatform::kUnknown);
+}