#include "chrome/browser/supervised_user/supervised_user_google_auth_navigation_throttle.h"
#include "base/test/scoped_feature_list.h"
#include "chrome/browser/signin/chrome_signin_client_factory.h"
#include "chrome/browser/signin/identity_manager_factory.h"
#include "chrome/browser/supervised_user/child_accounts/child_account_service_factory.h"
#include "chrome/browser/sync/sync_service_factory.h"
#include "chrome/test/base/chrome_render_view_host_test_harness.h"
#include "chrome/test/base/testing_profile.h"
#include "components/signin/public/base/list_accounts_test_utils.h"
#include "components/signin/public/base/test_signin_client.h"
#include "components/signin/public/identity_manager/accounts_cookie_mutator.h"
#include "components/signin/public/identity_manager/identity_manager.h"
#include "components/signin/public/identity_manager/identity_test_utils.h"
#include "components/supervised_user/core/browser/child_account_service.h"
#include "components/supervised_user/core/common/features.h"
#include "components/sync/test/mock_sync_service.h"
#include "content/public/browser/navigation_throttle.h"
#include "content/public/test/mock_navigation_handle.h"
#include "content/public/test/navigation_simulator.h"
#include "content/public/test/test_utils.h"
#include "services/network/test/test_url_loader_factory.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace {
constexpr char kExampleURL[] = …;
constexpr char kGoogleSearchURL[] = …;
constexpr char kGoogleHomeURL[] = …;
constexpr char kYoutubeDomain[] = …;
constexpr char kChildTestEmail[] = …;
constexpr char kTestGaiaId[] = …;
std::unique_ptr<KeyedService> BuildTestSigninClient(
content::BrowserContext* context) { … }
std::unique_ptr<KeyedService> CreateMockSyncService(
content::BrowserContext* context) { … }
}
class SupervisedUserGoogleAuthNavigationThrottleTest
: public ChromeRenderViewHostTestHarness { … };
TEST_F(SupervisedUserGoogleAuthNavigationThrottleTest,
NavigationForValidSignedinSupervisedUsers) { … }
TEST_F(SupervisedUserGoogleAuthNavigationThrottleTest,
NavigationForInvalidSignedInSupervisedUsers) { … }
TEST_F(SupervisedUserGoogleAuthNavigationThrottleTest,
NavigationForNotFreshSupervisedUsers) { … }
TEST_F(SupervisedUserGoogleAuthNavigationThrottleTest, NavigationForNonUsers) { … }