#include "remoting/client/notification/notification_client.h"
#include <memory>
#include <optional>
#include "base/memory/ptr_util.h"
#include "base/memory/raw_ptr.h"
#include "base/test/mock_callback.h"
#include "base/values.h"
#include "remoting/client/notification/json_fetcher.h"
#include "remoting/client/notification/notification_message.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace remoting {
namespace {
ByMove;
Return;
constexpr char kTestEmail[] = …;
constexpr char kTestPlatform[] = …;
constexpr char kTestVersion[] = …;
constexpr char kTestOsVersion[] = …;
constexpr char kTestLocale[] = …;
class MockJsonFetcher : public JsonFetcher { … };
MATCHER(NoMessage, "") { … }
MATCHER_P(MessageMatches, expected, "") { … }
template <typename T>
decltype(auto) ReturnByMove(T t) { … }
base::Value::Dict CreateDefaultRule() { … }
base::Value CreateDefaultTranslations(const std::string& text) { … }
NotificationMessage CreateDefaultNotification() { … }
}
class NotificationClientTest : public ::testing::Test { … };
TEST_F(NotificationClientTest, NoRule) { … }
TEST_F(NotificationClientTest, DefaultRule) { … }
TEST_F(NotificationClientTest, PlatformNotMatched) { … }
TEST_F(NotificationClientTest, VersionNotMatched) { … }
TEST_F(NotificationClientTest, OsVersionNotMatched) { … }
TEST_F(NotificationClientTest, OsVersionMatched) { … }
TEST_F(NotificationClientTest, UserNotSelected) { … }
TEST_F(NotificationClientTest, SecondRuleMatches) { … }
TEST_F(NotificationClientTest, MultipleMatchingRules_FirstRuleSelected) { … }
TEST_F(NotificationClientTest, TextFilesNotFound) { … }
TEST_F(NotificationClientTest, TranslationNotFound_FallbackToGenericLanguage) { … }
TEST_F(NotificationClientTest, TranslationNotFound_FallbackToEnglish) { … }
TEST_F(NotificationClientTest,
GenericLanguageTranslationNotFound_FallbackToEnglish) { … }
TEST_F(NotificationClientTest, NoAvailableTranslation) { … }
TEST_F(NotificationClientTest, ReleaseBuildsIgnoreDevMessages) { … }
TEST_F(NotificationClientTest, ReleaseBuildsDontIgnoreDevMessages) { … }
TEST_F(NotificationClientTest, DebugBuildsDontIgnoreDevMessages) { … }
TEST_F(NotificationClientTest, AllowSilenceNotSet_DefaultToFalse) { … }
TEST_F(NotificationClientTest,
EmptyUserEmailAndNot100PercentRollout_NoNotification) { … }
TEST_F(NotificationClientTest,
EmptyUserEmailAnd100PercentRollout_ReturnsNotification) { … }
}