Commit 741d8c30 authored by Ramin Halavati's avatar Ramin Halavati Committed by Chromium LUCI CQ

Update Guest profile lifetime browser test.

Updates Guest profile lifetime browser test to remove duplicate code and
fix failure for OTR Guest profiles when ephemeral Guest profiles are
enabled.

Bug: 1125474
Change-Id: If93e1c069b690831d1ae1aff1faa50679ce992ba
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2616700
Commit-Queue: Mihai Sardarescu <msarda@chromium.org>
Reviewed-by: default avatarMihai Sardarescu <msarda@chromium.org>
Cr-Commit-Position: refs/heads/master@{#841454}
parent f68219b2
......@@ -48,6 +48,7 @@
#include "chrome/common/chrome_paths.h"
#include "chrome/common/pref_names.h"
#include "chrome/test/base/in_process_browser_test.h"
#include "chrome/test/base/testing_profile.h"
#include "chrome/test/base/ui_test_utils.h"
#include "components/prefs/pref_service.h"
#include "components/version_info/version_info.h"
......@@ -947,17 +948,38 @@ IN_PROC_BROWSER_TEST_F(ProfileBrowserTest,
#if !defined(OS_ANDROID) && !BUILDFLAG(IS_CHROMEOS_ASH)
// TODO(https://crbug.com/1125474): Expand to cover ChromeOS.
IN_PROC_BROWSER_TEST_F(ProfileBrowserTest, ProfileLifetimeTestUnderOneMinute) {
class GuestProfileLifetimeBrowserTest
: public ProfileBrowserTest,
public testing::WithParamInterface<bool> {
public:
GuestProfileLifetimeBrowserTest() : is_ephemeral_(GetParam()) {
// Change the value if Ephemeral is not supported.
is_ephemeral_ &=
TestingProfile::SetScopedFeatureListForEphemeralGuestProfiles(
scoped_feature_list_, is_ephemeral_);
}
bool is_ephemeral() const { return is_ephemeral_; }
private:
bool is_ephemeral_;
base::test::ScopedFeatureList scoped_feature_list_;
};
IN_PROC_BROWSER_TEST_P(GuestProfileLifetimeBrowserTest, UnderOneMinute) {
base::HistogramTester tester;
Browser* browser = CreateGuestBrowser();
BrowserCloseObserver close_observer(browser);
BrowserList::CloseAllBrowsersWithProfile(browser->profile());
close_observer.Wait();
tester.ExpectUniqueSample("Profile.Guest.OTR.Lifetime", 0, 1);
tester.ExpectUniqueSample("Profile.Guest.OTR.Lifetime", 0,
is_ephemeral() ? 0 : 1);
tester.ExpectUniqueSample("Profile.Guest.Ephemeral.Lifetime", 0,
is_ephemeral() ? 1 : 0);
}
IN_PROC_BROWSER_TEST_F(ProfileBrowserTest, ProfileLifetimeTestOneHour) {
IN_PROC_BROWSER_TEST_P(GuestProfileLifetimeBrowserTest, OneHour) {
base::HistogramTester tester;
Browser* browser = CreateGuestBrowser();
BrowserCloseObserver close_observer(browser);
......@@ -966,9 +988,16 @@ IN_PROC_BROWSER_TEST_F(ProfileBrowserTest, ProfileLifetimeTestOneHour) {
base::Time::Now() - base::TimeDelta::FromSeconds(60) * 60);
BrowserList::CloseAllBrowsersWithProfile(browser->profile());
close_observer.Wait();
tester.ExpectUniqueSample("Profile.Guest.OTR.Lifetime", 60, 1);
tester.ExpectUniqueSample("Profile.Guest.OTR.Lifetime", 60,
is_ephemeral() ? 0 : 1);
tester.ExpectUniqueSample("Profile.Guest.Ephemeral.Lifetime", 60,
is_ephemeral() ? 1 : 0);
}
INSTANTIATE_TEST_SUITE_P(AllGuestTypes,
GuestProfileLifetimeBrowserTest,
/*is_ephemeral=*/testing::Bool());
class EphemeralGuestProfileBrowserTest : public ProfileBrowserTest {
public:
EphemeralGuestProfileBrowserTest() {
......@@ -990,30 +1019,6 @@ IN_PROC_BROWSER_TEST_F(EphemeralGuestProfileBrowserTest, TestProfileType) {
EXPECT_TRUE(guest_profile->IsEphemeralGuestProfile());
}
IN_PROC_BROWSER_TEST_F(EphemeralGuestProfileBrowserTest,
ProfileLifetimeTestUnderOneMinute) {
base::HistogramTester tester;
Browser* browser = CreateGuestBrowser();
BrowserCloseObserver close_observer(browser);
BrowserList::CloseAllBrowsersWithProfile(browser->profile());
close_observer.Wait();
tester.ExpectUniqueSample("Profile.Guest.Ephemeral.Lifetime", 0, 1);
}
IN_PROC_BROWSER_TEST_F(EphemeralGuestProfileBrowserTest,
ProfileLifetimeTestOneHour) {
base::HistogramTester tester;
Browser* browser = CreateGuestBrowser();
BrowserCloseObserver close_observer(browser);
browser->profile()->SetCreationTimeForTesting(
base::Time::Now() - base::TimeDelta::FromSeconds(60) * 60);
BrowserList::CloseAllBrowsersWithProfile(browser->profile());
close_observer.Wait();
tester.ExpectUniqueSample("Profile.Guest.Ephemeral.Lifetime", 60, 1);
}
// Tests if ephemeral Guest profile paths are persistent as long as one does not
// close all Guest browsers.
IN_PROC_BROWSER_TEST_F(EphemeralGuestProfileBrowserTest,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment