1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
|
// Copyright 2012 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "base/memory/raw_ptr.h"
#include "build/build_config.h"
#include "build/chromeos_buildflags.h"
#include "chrome/browser/extensions/extension_apitest.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/ui/browser.h"
#include "components/policy/core/common/policy_pref_names.h"
#include "components/prefs/pref_service.h"
#include "content/public/test/browser_test.h"
#if BUILDFLAG(IS_CHROMEOS)
#include "chromeos/ash/components/dbus/update_engine/fake_update_engine_client.h"
#include "chromeos/ash/components/dbus/update_engine/update_engine_client.h"
#endif
namespace extensions {
IN_PROC_BROWSER_TEST_F(ExtensionApiTest, GetIncognitoModeAvailability) {
PrefService* pref_service = browser()->profile()->GetPrefs();
pref_service->SetInteger(policy::policy_prefs::kIncognitoModeAvailability, 1);
EXPECT_TRUE(RunExtensionTest("system/get_incognito_mode_availability", {},
{.load_as_component = true}))
<< message_;
}
#if BUILDFLAG(IS_CHROMEOS)
class GetUpdateStatusApiTest : public ExtensionApiTest {
public:
GetUpdateStatusApiTest() = default;
GetUpdateStatusApiTest(const GetUpdateStatusApiTest&) = delete;
GetUpdateStatusApiTest& operator=(const GetUpdateStatusApiTest&) = delete;
void SetUpInProcessBrowserTestFixture() override {
ExtensionApiTest::SetUpInProcessBrowserTestFixture();
fake_update_engine_client_ =
ash::UpdateEngineClient::InitializeFakeForTest();
}
void TearDownInProcessBrowserTestFixture() override {
ExtensionApiTest::TearDownInProcessBrowserTestFixture();
}
protected:
raw_ptr<ash::FakeUpdateEngineClient, DanglingUntriaged>
fake_update_engine_client_ = nullptr;
};
IN_PROC_BROWSER_TEST_F(GetUpdateStatusApiTest, Progress) {
update_engine::StatusResult status_not_available;
status_not_available.set_current_operation(update_engine::Operation::IDLE);
update_engine::StatusResult status_updating;
status_updating.set_current_operation(update_engine::Operation::DOWNLOADING);
status_updating.set_progress(0.5);
update_engine::StatusResult status_boot_needed;
status_boot_needed.set_current_operation(
update_engine::Operation::UPDATED_NEED_REBOOT);
// The fake client returns the last status in this order.
fake_update_engine_client_->PushLastStatus(status_not_available);
fake_update_engine_client_->PushLastStatus(status_updating);
fake_update_engine_client_->PushLastStatus(status_boot_needed);
ASSERT_TRUE(RunExtensionTest("system/get_update_status", {},
{.load_as_component = true}))
<< message_;
}
#endif
} // namespace extensions
|