#include "chrome/test/supervised_user/family_live_test.h"
#include <memory>
#include <optional>
#include <string>
#include <string_view>
#include <vector>
#include "base/check.h"
#include "base/command_line.h"
#include "base/files/file_path.h"
#include "base/functional/bind.h"
#include "base/functional/callback_forward.h"
#include "base/notreached.h"
#include "base/strings/strcat.h"
#include "base/test/bind.h"
#include "chrome/browser/browser_process.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/profiles/profile_manager.h"
#include "chrome/browser/profiles/profile_test_util.h"
#include "chrome/browser/signin/e2e_tests/live_test.h"
#include "chrome/browser/signin/e2e_tests/test_accounts_util.h"
#include "chrome/browser/sync/sync_service_factory.h"
#include "chrome/browser/sync/test/integration/invalidations/invalidations_status_checker.h"
#include "chrome/browser/sync/test/integration/single_client_status_change_checker.h"
#include "chrome/test/supervised_user/family_member.h"
#include "chrome/test/supervised_user/test_state_seeded_observer.h"
#include "google_apis/gaia/google_service_auth_error.h"
#include "net/dns/mock_host_resolver.h"
#include "ui/base/page_transition_types.h"
#include "ui/compositor/scoped_animation_duration_scale_mode.h"
namespace supervised_user {
namespace {
const char* kWaitForSyncInvalidationReadySwitch = …;
const char* kDebugSwitch = …;
bool IsSwitchEnabled(const char* flag) { … }
static constexpr std::string_view kHeadOfHouseholdAccountIdSuffix{ … };
static constexpr std::string_view kChildAccountIdSuffix{ … };
Profile& CreateNewProfile() { … }
std::string GetFamilyIdentifier() { … }
std::string GetFamilyMemberIdentifier(std::string_view member_identifier) { … }
bool HasAuthError(syncer::SyncServiceImpl* service) { … }
class SyncSetupChecker : public SingleClientStatusChangeChecker { … };
signin::test::TestAccount CreateTestAccountFromCredentialsSwitch(
std::string_view credentials_switch) { … }
}
FamilyLiveTest::FamilyLiveTest() = default;
FamilyLiveTest::FamilyLiveTest(
const std::vector<std::string>& extra_enabled_hosts)
: … { … }
FamilyLiveTest::~FamilyLiveTest() = default;
FamilyMember& FamilyLiveTest::head_of_household() const { … }
FamilyMember& FamilyLiveTest::child() const { … }
void FamilyLiveTest::TurnOnSync() { … }
void FamilyLiveTest::TurnOnSyncFor(FamilyMember& member) { … }
void FamilyLiveTest::SetUp() { … }
void FamilyLiveTest::SetUpOnMainThread() { … }
void FamilyLiveTest::SetHeadOfHousehold(
const ::signin::test::TestAccount& account) { … }
void FamilyLiveTest::SetChild(const ::signin::test::TestAccount& account) { … }
void FamilyLiveTest::SetUpInProcessBrowserTestFixture() { … }
signin::test::TestAccount FamilyLiveTest::GetAccountFromFile(
std::string_view account_name_suffix) const { … }
std::unique_ptr<FamilyMember> FamilyLiveTest::MakeSignedInBrowser(
const signin::test::TestAccount& account) { … }
GURL FamilyLiveTest::GetRoutedUrl(std::string_view url_spec) const { … }
InteractiveFamilyLiveTest::InteractiveFamilyLiveTest() = default;
InteractiveFamilyLiveTest::InteractiveFamilyLiveTest(
const std::vector<std::string>& extra_enabled_hosts)
: … { … }
ui::test::internal::InteractiveTestPrivate::MultiStep
InteractiveFamilyLiveTest::WaitForStateSeeding(
ui::test::StateIdentifier<BrowserState::Observer> id,
const FamilyMember& rpc_issuer,
const FamilyMember& browser_user,
const BrowserState& state) { … }
}