| // Copyright 2023 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include "chrome/browser/lacros/profile_loader.h" |
| |
| #include "base/test/test_future.h" |
| #include "chrome/browser/profiles/profile.h" |
| #include "chrome/browser/ui/profiles/profile_ui_test_utils.h" |
| #include "chrome/browser/ui/webui/signin/login_ui_service.h" |
| #include "chrome/common/chrome_switches.h" |
| #include "chrome/test/base/in_process_browser_test.h" |
| #include "chromeos/crosapi/mojom/crosapi.mojom.h" |
| #include "chromeos/startup/browser_init_params.h" |
| #include "content/public/test/browser_test.h" |
| |
| using ProfileLoaderBrowserTest = InProcessBrowserTest; |
| |
| IN_PROC_BROWSER_TEST_F(ProfileLoaderBrowserTest, LoadMainProfile) { |
| base::test::TestFuture<Profile*> result; |
| LoadMainProfile(result.GetCallback(), /*can_trigger_fre=*/false); |
| Profile* profile = result.Get(); |
| |
| ASSERT_NE(profile, nullptr); |
| ASSERT_TRUE(profile->IsMainProfile()); |
| } |
| |
| class ProfileLoaderGuestSessionBrowserTest : public ProfileLoaderBrowserTest { |
| public: |
| void CreatedBrowserMainParts( |
| content::BrowserMainParts* browser_main_parts) override { |
| crosapi::mojom::BrowserInitParamsPtr init_params = |
| chromeos::BrowserInitParams::GetForTests()->Clone(); |
| init_params->session_type = crosapi::mojom::SessionType::kGuestSession; |
| chromeos::BrowserInitParams::SetInitParamsForTests(std::move(init_params)); |
| |
| InProcessBrowserTest::CreatedBrowserMainParts(browser_main_parts); |
| } |
| }; |
| |
| IN_PROC_BROWSER_TEST_F(ProfileLoaderGuestSessionBrowserTest, LoadMainProfile) { |
| base::test::TestFuture<Profile*> result; |
| LoadMainProfile(result.GetCallback(), /*can_trigger_fre=*/false); |
| Profile* profile = result.Get(); |
| |
| ASSERT_NE(profile, nullptr); |
| EXPECT_TRUE(profile->IsMainProfile()); |
| EXPECT_TRUE(profile->IsGuestSession()); |
| EXPECT_TRUE(profile->IsOffTheRecord()); |
| } |