#include "chrome/browser/safe_browsing/cloud_content_scanning/binary_fcm_service.h"
#include <memory>
#include <set>
#include <string>
#include <utility>
#include "base/base64.h"
#include "base/functional/callback_helpers.h"
#include "base/notreached.h"
#include "base/run_loop.h"
#include "base/test/bind.h"
#include "base/test/metrics/histogram_tester.h"
#include "base/time/time.h"
#include "chrome/browser/gcm/gcm_profile_service_factory.h"
#include "chrome/browser/gcm/instance_id/instance_id_profile_service_factory.h"
#include "chrome/test/base/testing_profile.h"
#include "components/enterprise/common/proto/connectors.pb.h"
#include "components/gcm_driver/common/gcm_message.h"
#include "components/gcm_driver/fake_gcm_profile_service.h"
#include "components/gcm_driver/gcm_client.h"
#include "components/gcm_driver/instance_id/instance_id.h"
#include "components/gcm_driver/instance_id/instance_id_driver.h"
#include "content/public/test/browser_task_environment.h"
#include "content/public/test/test_utils.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace safe_browsing {
Invoke;
NiceMock;
Return;
namespace {
std::unique_ptr<KeyedService> BuildFakeGCMProfileService(
content::BrowserContext* context) { … }
class MockInstanceIDDriver : public instance_id::InstanceIDDriver { … };
class MockInstanceID : public instance_id::InstanceID { … };
}
class BinaryFCMServiceTest : public ::testing::Test { … };
TEST_F(BinaryFCMServiceTest, GetsInstanceID) { … }
TEST_F(BinaryFCMServiceTest, RoutesMessages) { … }
TEST_F(BinaryFCMServiceTest, UnregisterToken) { … }
TEST_F(BinaryFCMServiceTest, UnregisterTokenRetriesFailures) { … }
TEST_F(BinaryFCMServiceTest, UnregistersTokensOnShutdown) { … }
TEST_F(BinaryFCMServiceTest, UnregisterOneTokensOneCall) { … }
TEST_F(BinaryFCMServiceTest, UnregisterTwoTokensTwoCalls) { … }
TEST_F(BinaryFCMServiceTest, UnregisterTwoTokenConflict) { … }
TEST_F(BinaryFCMServiceTest, QueuesGetInstanceIDOnRetriableError) { … }
}