Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(209)

Unified Diff: common/config_manager_unittest.cc

Issue 624713003: Keep only base/extractor.[cc|h]. (Closed) Base URL: https://chromium.googlesource.com/external/omaha.git@master
Patch Set: Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « common/config_manager.cc ('k') | common/const_cmd_line.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: common/config_manager_unittest.cc
diff --git a/common/config_manager_unittest.cc b/common/config_manager_unittest.cc
deleted file mode 100644
index 73bcc7b549c55f209bcc8934859ad74532a112ad..0000000000000000000000000000000000000000
--- a/common/config_manager_unittest.cc
+++ /dev/null
@@ -1,1581 +0,0 @@
-// Copyright 2007-2010 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-// ========================================================================
-
-#include <limits.h>
-#include "omaha/base/const_addresses.h"
-#include "omaha/base/constants.h"
-#include "omaha/base/file.h"
-#include "omaha/base/reg_key.h"
-#include "omaha/base/string.h"
-#include "omaha/base/system_info.h"
-#include "omaha/base/time.h"
-#include "omaha/base/utils.h"
-#include "omaha/base/vistautil.h"
-#include "omaha/common/config_manager.h"
-#include "omaha/common/const_goopdate.h"
-#include "omaha/testing/unit_test.h"
-
-namespace omaha {
-
-namespace {
-
-// OMAHA_KEY_REL == "Software\Google\Update"
-#define OMAHA_KEY_REL \
- _T("Software\\") SHORT_COMPANY_NAME _T("\\") PRODUCT_NAME
-
-
-#define APP_GUID1 _T("{6762F466-8863-424f-817C-5757931F346E}")
-const TCHAR* const kAppGuid1 = APP_GUID1;
-const TCHAR* const kAppMachineClientStatePath1 =
- _T("HKLM\\") OMAHA_KEY_REL _T("\\ClientState\\") APP_GUID1;
-const TCHAR* const kAppUserClientStatePath1 =
- _T("HKCU\\") OMAHA_KEY_REL _T("\\ClientState\\") APP_GUID1;
-const TCHAR* const kAppMachineClientStateMediumPath1 =
- _T("HKLM\\") OMAHA_KEY_REL _T("\\ClientStateMedium\\") APP_GUID1;
-
-#define APP_GUID2 _T("{8A0FDD16-D4B7-4167-893F-1386F2A2F0FB}")
-const TCHAR* const kAppGuid2 = APP_GUID2;
-const TCHAR* const kAppMachineClientStatePath2 =
- _T("HKLM\\") OMAHA_KEY_REL _T("\\ClientState\\") APP_GUID2;
-const TCHAR* const kAppUserClientStatePath2 =
- _T("HKCU\\") OMAHA_KEY_REL _T("\\ClientState\\") APP_GUID2;
-
-const TCHAR* const kPolicyKey =
- _T("HKLM\\Software\\Policies\\")
- SHORT_COMPANY_NAME _T("\\") PRODUCT_NAME _T("\\");
-const TCHAR* const kInstallPolicyApp1 = _T("Install") APP_GUID1;
-const TCHAR* const kInstallPolicyApp2 = _T("Install") APP_GUID2;
-const TCHAR* const kUpdatePolicyApp1 = _T("Update") APP_GUID1;
-const TCHAR* const kUpdatePolicyApp2 = _T("Update") APP_GUID2;
-
-// Helper to write policies to the registry. Eliminates ambiguity of which
-// overload of SetValue to use without the need for static_cast.
-HRESULT SetPolicy(const TCHAR* policy_name, DWORD value) {
- return RegKey::SetValue(kPolicyKey, policy_name, value);
-}
-
-// DeleteDirectory can fail with ERROR_PATH_NOT_FOUND if the parent directory
-// does not exist. Consider this a success for testing purposes.
-HRESULT DeleteTestDirectory(const TCHAR* dir) {
- HRESULT hr = DeleteDirectory(dir);
- if (hr == HRESULT_FROM_WIN32(ERROR_PATH_NOT_FOUND)) {
- return S_OK;
- }
- return hr;
-}
-
-} // namespace
-
-class ConfigManagerNoOverrideTest : public testing::Test {
- protected:
- ConfigManagerNoOverrideTest()
- : cm_(ConfigManager::Instance()) {
- }
-
- bool CanInstallApp(const TCHAR* guid) {
- return cm_->CanInstallApp(StringToGuid(guid));
- }
-
- bool CanUpdateApp(const TCHAR* guid, bool is_manual) {
- return cm_->CanUpdateApp(StringToGuid(guid), is_manual);
- }
-
- ConfigManager* cm_;
-};
-
-class ConfigManagerTest : public ConfigManagerNoOverrideTest {
- protected:
- ConfigManagerTest()
- : hive_override_key_name_(kRegistryHiveOverrideRoot) {
- }
-
- virtual void SetUp() {
- RegKey::DeleteKey(hive_override_key_name_, true);
- OverrideRegistryHives(hive_override_key_name_);
- }
-
- virtual void TearDown() {
- RestoreRegistryHives();
- EXPECT_SUCCEEDED(RegKey::DeleteKey(hive_override_key_name_, true));
- }
-
- void CanCollectStatsHelper(bool is_machine);
- void CanCollectStatsIgnoresOppositeHiveHelper(bool is_machine);
- HRESULT SetFirstInstallTime(bool is_machine, DWORD time);
- HRESULT DeleteFirstInstallTime(bool is_machine);
- HRESULT SetUpdateTime(bool is_machine, DWORD time);
- HRESULT DeleteUpdateTime(bool is_machine);
-
- CString hive_override_key_name_;
-};
-
-void ConfigManagerTest::CanCollectStatsHelper(bool is_machine) {
- const TCHAR* app1_state_key_name = is_machine ? kAppMachineClientStatePath1 :
- kAppUserClientStatePath1;
-
- EXPECT_FALSE(cm_->CanCollectStats(is_machine));
-
- // Test the 'UsageStats' override.
- EXPECT_SUCCEEDED(RegKey::SetValue(MACHINE_REG_UPDATE_DEV,
- kRegValueForceUsageStats,
- _T("")));
- EXPECT_TRUE(cm_->CanCollectStats(is_machine));
- EXPECT_SUCCEEDED(RegKey::DeleteValue(MACHINE_REG_UPDATE_DEV,
- kRegValueForceUsageStats));
-
- DWORD val = 1;
- EXPECT_SUCCEEDED(RegKey::SetValue(app1_state_key_name,
- _T("usagestats"),
- val));
- EXPECT_TRUE(cm_->CanCollectStats(is_machine));
-
- val = 2; // invalid value
- EXPECT_SUCCEEDED(RegKey::SetValue(app1_state_key_name,
- _T("usagestats"),
- val));
- EXPECT_FALSE(cm_->CanCollectStats(is_machine));
-
- val = 0;
- EXPECT_SUCCEEDED(RegKey::SetValue(app1_state_key_name,
- _T("usagestats"),
- val));
- EXPECT_FALSE(cm_->CanCollectStats(is_machine));
-
- // One 0 and one 1 results in true. The alphabetical order of the GUIDs is
- // important assuming GetSubkeyNameAt returns subkeys in alphabetical order.
- const TCHAR* app2_state_key_name = is_machine ? kAppMachineClientStatePath2 :
- kAppUserClientStatePath2;
- val = 1;
- EXPECT_SUCCEEDED(RegKey::SetValue(app2_state_key_name,
- _T("usagestats"),
- val));
- EXPECT_TRUE(cm_->CanCollectStats(is_machine));
-}
-
-void ConfigManagerTest::CanCollectStatsIgnoresOppositeHiveHelper(
- bool is_machine) {
- const TCHAR* app1_state_key_name = is_machine ? kAppMachineClientStatePath1 :
- kAppUserClientStatePath1;
-
- EXPECT_FALSE(cm_->CanCollectStats(is_machine));
-
- DWORD val = 1;
- EXPECT_SUCCEEDED(RegKey::SetValue(app1_state_key_name,
- _T("usagestats"),
- val));
- EXPECT_TRUE(cm_->CanCollectStats(is_machine));
- EXPECT_FALSE(cm_->CanCollectStats(!is_machine));
-}
-
-HRESULT ConfigManagerTest::SetFirstInstallTime(bool is_machine, DWORD time) {
- return RegKey::SetValue(cm_->registry_client_state_goopdate(is_machine),
- kRegValueInstallTimeSec,
- time);
-}
-
-HRESULT ConfigManagerTest::DeleteFirstInstallTime(bool is_machine) {
- if (!RegKey::HasValue(cm_->registry_client_state_goopdate(is_machine),
- kRegValueInstallTimeSec)) {
- return S_OK;
- }
-
- return RegKey::DeleteValue(cm_->registry_client_state_goopdate(is_machine),
- kRegValueInstallTimeSec);
-}
-
-HRESULT ConfigManagerTest::SetUpdateTime(bool is_machine, DWORD time) {
- return RegKey::SetValue(cm_->registry_client_state_goopdate(is_machine),
- kRegValueLastUpdateTimeSec,
- time);
-}
-
-HRESULT ConfigManagerTest::DeleteUpdateTime(bool is_machine) {
- if (!RegKey::HasValue(cm_->registry_client_state_goopdate(is_machine),
- kRegValueLastUpdateTimeSec)) {
- return S_OK;
- }
-
- return RegKey::DeleteValue(cm_->registry_client_state_goopdate(is_machine),
- kRegValueLastUpdateTimeSec);
-}
-
-TEST_F(ConfigManagerNoOverrideTest, RegistryKeys) {
- EXPECT_STREQ(_T("HKCU\\") OMAHA_KEY_REL _T("\\Clients\\"),
- cm_->user_registry_clients());
- EXPECT_STREQ(_T("HKLM\\") OMAHA_KEY_REL _T("\\Clients\\"),
- cm_->machine_registry_clients());
- EXPECT_STREQ(_T("HKCU\\") OMAHA_KEY_REL _T("\\Clients\\"),
- cm_->registry_clients(false));
- EXPECT_STREQ(_T("HKLM\\") OMAHA_KEY_REL _T("\\Clients\\"),
- cm_->registry_clients(true));
-
- EXPECT_STREQ(_T("HKCU\\") OMAHA_KEY_REL _T("\\Clients\\") GOOPDATE_APP_ID,
- cm_->user_registry_clients_goopdate());
- EXPECT_STREQ(_T("HKLM\\") OMAHA_KEY_REL _T("\\Clients\\") GOOPDATE_APP_ID,
- cm_->machine_registry_clients_goopdate());
- EXPECT_STREQ(_T("HKCU\\") OMAHA_KEY_REL _T("\\Clients\\") GOOPDATE_APP_ID,
- cm_->registry_clients_goopdate(false));
- EXPECT_STREQ(_T("HKLM\\") OMAHA_KEY_REL _T("\\Clients\\") GOOPDATE_APP_ID,
- cm_->registry_clients_goopdate(true));
-
- EXPECT_STREQ(_T("HKCU\\") OMAHA_KEY_REL _T("\\ClientState\\"),
- cm_->user_registry_client_state());
- EXPECT_STREQ(_T("HKLM\\") OMAHA_KEY_REL _T("\\ClientState\\"),
- cm_->machine_registry_client_state());
- EXPECT_STREQ(_T("HKCU\\") OMAHA_KEY_REL _T("\\ClientState\\"),
- cm_->registry_client_state(false));
- EXPECT_STREQ(_T("HKLM\\") OMAHA_KEY_REL _T("\\ClientState\\"),
- cm_->registry_client_state(true));
-
- EXPECT_STREQ(_T("HKCU\\") OMAHA_KEY_REL _T("\\ClientState\\") GOOPDATE_APP_ID,
- cm_->user_registry_client_state_goopdate());
- EXPECT_STREQ(_T("HKLM\\") OMAHA_KEY_REL _T("\\ClientState\\") GOOPDATE_APP_ID,
- cm_->machine_registry_client_state_goopdate());
- EXPECT_STREQ(_T("HKCU\\") OMAHA_KEY_REL _T("\\ClientState\\") GOOPDATE_APP_ID,
- cm_->registry_client_state_goopdate(false));
- EXPECT_STREQ(_T("HKLM\\") OMAHA_KEY_REL _T("\\ClientState\\") GOOPDATE_APP_ID,
- cm_->registry_client_state_goopdate(true));
-
- EXPECT_STREQ(_T("HKLM\\") OMAHA_KEY_REL _T("\\ClientStateMedium\\"),
- cm_->machine_registry_client_state_medium());
-
- EXPECT_STREQ(_T("HKCU\\") OMAHA_KEY_REL _T("\\"),
- cm_->user_registry_update());
- EXPECT_STREQ(_T("HKLM\\") OMAHA_KEY_REL _T("\\"),
- cm_->machine_registry_update());
- EXPECT_STREQ(_T("HKCU\\") OMAHA_KEY_REL _T("\\"),
- cm_->registry_update(false));
- EXPECT_STREQ(_T("HKLM\\") OMAHA_KEY_REL _T("\\"),
- cm_->registry_update(true));
-
- EXPECT_STREQ(_T("HKCU\\Software\\") COMPANY_NAME_IDENTIFIER _T("\\"),
- cm_->user_registry_google());
- EXPECT_STREQ(_T("HKLM\\Software\\") COMPANY_NAME_IDENTIFIER _T("\\"),
- cm_->machine_registry_google());
- EXPECT_STREQ(_T("HKCU\\Software\\") COMPANY_NAME_IDENTIFIER _T("\\"),
- cm_->registry_google(false));
- EXPECT_STREQ(_T("HKLM\\Software\\") COMPANY_NAME_IDENTIFIER _T("\\"),
- cm_->registry_google(true));
-}
-
-TEST_F(ConfigManagerNoOverrideTest, GetUserCrashReportsDir) {
- const CString expected_path = GetGoogleUserPath() + _T("CrashReports");
- EXPECT_SUCCEEDED(DeleteTestDirectory(expected_path));
- EXPECT_STREQ(expected_path, cm_->GetUserCrashReportsDir());
- EXPECT_TRUE(File::Exists(expected_path));
-}
-
-// Should run before the subdirectory tests to ensure the directory is created.
-TEST_F(ConfigManagerNoOverrideTest, GetUserGoopdateInstallDir) {
- const CString expected_path = GetGoogleUserPath() + _T("Update");
- EXPECT_STREQ(expected_path, cm_->GetUserGoopdateInstallDir());
- EXPECT_TRUE(File::Exists(expected_path));
-}
-
-TEST_F(ConfigManagerNoOverrideTest, GetUserDownloadStorageDir) {
- const CString expected_path = GetGoogleUpdateUserPath() + _T("Download");
- EXPECT_SUCCEEDED(DeleteTestDirectory(expected_path));
- EXPECT_STREQ(expected_path, cm_->GetUserDownloadStorageDir());
- EXPECT_TRUE(File::Exists(expected_path));
-}
-
-TEST_F(ConfigManagerNoOverrideTest, GetUserInstallWorkingDir) {
- const CString expected_path = GetGoogleUpdateUserPath() + _T("Install");
- EXPECT_SUCCEEDED(DeleteTestDirectory(expected_path));
- EXPECT_STREQ(expected_path, cm_->GetUserInstallWorkingDir());
- EXPECT_TRUE(File::Exists(expected_path));
-}
-
-TEST_F(ConfigManagerNoOverrideTest, GetUserOfflineStorageDir) {
- const CString expected_path = GetGoogleUpdateUserPath() + _T("Offline");
- EXPECT_SUCCEEDED(DeleteTestDirectory(expected_path));
- EXPECT_STREQ(expected_path, cm_->GetUserOfflineStorageDir());
- EXPECT_TRUE(File::Exists(expected_path));
-}
-
-TEST_F(ConfigManagerNoOverrideTest, IsRunningFromUserGoopdateInstallDir) {
- EXPECT_FALSE(cm_->IsRunningFromUserGoopdateInstallDir());
-}
-
-TEST_F(ConfigManagerNoOverrideTest, GetTempDownloadDir) {
- TCHAR expected_path[MAX_PATH] = {0};
- ASSERT_NE(0, ::GetTempPath(MAX_PATH, expected_path));
-
- EXPECT_STREQ(expected_path, cm_->GetTempDownloadDir());
- EXPECT_TRUE(File::Exists(expected_path));
-}
-
-TEST_F(ConfigManagerNoOverrideTest, GetMachineCrashReportsDir) {
- CString program_files;
- EXPECT_SUCCEEDED(GetFolderPath(CSIDL_PROGRAM_FILES, &program_files));
- const CString expected_path =
- program_files + _T("\\") + SHORT_COMPANY_NAME + _T("\\CrashReports");
- EXPECT_SUCCEEDED(DeleteTestDirectory(expected_path));
- EXPECT_STREQ(expected_path, cm_->GetMachineCrashReportsDir());
- EXPECT_TRUE(File::Exists(expected_path) || !vista_util::IsUserAdmin());
-}
-
-// Should run before the subdirectory tests to ensure the directory is created.
-TEST_F(ConfigManagerNoOverrideTest, GetMachineGoopdateInstallDir) {
- CString expected_path = GetGoogleUpdateMachinePath();
- EXPECT_STREQ(expected_path, cm_->GetMachineGoopdateInstallDir());
- EXPECT_TRUE(File::Exists(expected_path) || !vista_util::IsUserAdmin());
-}
-
-TEST_F(ConfigManagerNoOverrideTest, GetMachineSecureDownloadStorageDir) {
- CString expected_path = GetGoogleUpdateMachinePath() + _T("\\Download");
- EXPECT_SUCCEEDED(DeleteTestDirectory(expected_path));
- EXPECT_STREQ(expected_path, cm_->GetMachineSecureDownloadStorageDir());
- EXPECT_TRUE(File::Exists(expected_path) || !vista_util::IsUserAdmin());
-}
-
-TEST_F(ConfigManagerNoOverrideTest, GetMachineInstallWorkingDir) {
- CString expected_path = GetGoogleUpdateMachinePath() + _T("\\Install");
- EXPECT_SUCCEEDED(DeleteTestDirectory(expected_path));
- EXPECT_STREQ(expected_path, cm_->GetMachineInstallWorkingDir());
- EXPECT_TRUE(File::Exists(expected_path) || !vista_util::IsUserAdmin());
-}
-
-TEST_F(ConfigManagerNoOverrideTest, GetMachineSecureOfflineStorageDir) {
- CString expected_path = GetGoogleUpdateMachinePath() + _T("\\Offline");
- EXPECT_SUCCEEDED(DeleteTestDirectory(expected_path));
- EXPECT_STREQ(expected_path, cm_->GetMachineSecureOfflineStorageDir());
- EXPECT_TRUE(File::Exists(expected_path) || !vista_util::IsUserAdmin());
-}
-
-TEST_F(ConfigManagerNoOverrideTest, IsRunningFromMachineGoopdateInstallDir) {
- EXPECT_FALSE(cm_->IsRunningFromMachineGoopdateInstallDir());
-}
-
-// Tests the GetUpdateCheckUrl override.
-TEST_F(ConfigManagerTest, GetUpdateCheckUrl) {
- CString url;
- EXPECT_SUCCEEDED(cm_->GetUpdateCheckUrl(&url));
- EXPECT_STREQ(url, kUrlUpdateCheck);
-
- EXPECT_SUCCEEDED(RegKey::SetValue(MACHINE_REG_UPDATE_DEV,
- kRegValueNameUrl,
- _T("http://updatecheck/")));
- url.Empty();
- EXPECT_SUCCEEDED(cm_->GetUpdateCheckUrl(&url));
- EXPECT_STREQ(url, _T("http://updatecheck/"));
-}
-
-// Tests the GetPingUrl override.
-TEST_F(ConfigManagerTest, GetPingUrl) {
- CString url;
- EXPECT_SUCCEEDED(cm_->GetPingUrl(&url));
- EXPECT_STREQ(url, kUrlPing);
-
- EXPECT_SUCCEEDED(RegKey::SetValue(MACHINE_REG_UPDATE_DEV,
- kRegValueNamePingUrl,
- _T("http://ping/")));
- url.Empty();
- EXPECT_SUCCEEDED(cm_->GetPingUrl(&url));
- EXPECT_STREQ(url, _T("http://ping/"));
-}
-
-// Tests the GetCrashReportUrl override.
-TEST_F(ConfigManagerTest, GetCrashReportUrl) {
- CString url;
- EXPECT_SUCCEEDED(cm_->GetCrashReportUrl(&url));
- EXPECT_STREQ(url, kUrlCrashReport);
-
- EXPECT_SUCCEEDED(RegKey::SetValue(MACHINE_REG_UPDATE_DEV,
- kRegValueNameCrashReportUrl,
- _T("http://crashreport/")));
- url.Empty();
- EXPECT_SUCCEEDED(cm_->GetCrashReportUrl(&url));
- EXPECT_STREQ(url, _T("http://crashreport/"));
-}
-
-// Tests the GetMoreInfoUrl override.
-TEST_F(ConfigManagerTest, GetMoreInfoUrl) {
- CString url;
- EXPECT_SUCCEEDED(cm_->GetMoreInfoUrl(&url));
- EXPECT_STREQ(url, kUrlMoreInfo);
-
- EXPECT_SUCCEEDED(RegKey::SetValue(MACHINE_REG_UPDATE_DEV,
- kRegValueNameGetMoreInfoUrl,
- _T("http://moreinfo/")));
- url.Empty();
- EXPECT_SUCCEEDED(cm_->GetMoreInfoUrl(&url));
- EXPECT_STREQ(url, _T("http://moreinfo/"));
-}
-
-// Tests the GetUsageStatsReportUrl override.
-TEST_F(ConfigManagerTest, GetUsageStatsReportUrl) {
- CString url;
- EXPECT_SUCCEEDED(cm_->GetUsageStatsReportUrl(&url));
- EXPECT_STREQ(url, kUrlUsageStatsReport);
-
- EXPECT_SUCCEEDED(RegKey::SetValue(MACHINE_REG_UPDATE_DEV,
- kRegValueNameUsageStatsReportUrl,
- _T("http://usagestatsreport/")));
- url.Empty();
- EXPECT_SUCCEEDED(cm_->GetUsageStatsReportUrl(&url));
- EXPECT_STREQ(url, _T("http://usagestatsreport/"));
-}
-
-// Tests LastCheckPeriodSec override.
-TEST_F(ConfigManagerTest, GetLastCheckPeriodSec_Default) {
- bool is_overridden = true;
- if (cm_->IsInternalUser()) {
- EXPECT_EQ(kLastCheckPeriodInternalUserSec,
- cm_->GetLastCheckPeriodSec(&is_overridden));
- } else {
- EXPECT_EQ(kLastCheckPeriodSec, cm_->GetLastCheckPeriodSec(&is_overridden));
- }
- EXPECT_FALSE(is_overridden);
-}
-
-TEST_F(ConfigManagerTest, GetLastCheckPeriodSec_UpdateDevOverride) {
- // Zero is a special value meaning disabled.
- DWORD val = 0;
- EXPECT_SUCCEEDED(RegKey::SetValue(MACHINE_REG_UPDATE_DEV,
- kRegValueLastCheckPeriodSec,
- val));
- bool is_overridden = false;
- EXPECT_EQ(0, cm_->GetLastCheckPeriodSec(&is_overridden));
- EXPECT_TRUE(is_overridden);
-
- val = kMinLastCheckPeriodSec - 1;
- EXPECT_SUCCEEDED(RegKey::SetValue(MACHINE_REG_UPDATE_DEV,
- kRegValueLastCheckPeriodSec,
- val));
- is_overridden = false;
- EXPECT_EQ(kMinLastCheckPeriodSec, cm_->GetLastCheckPeriodSec(&is_overridden));
- EXPECT_TRUE(is_overridden);
-
- val = INT_MAX + static_cast<uint32>(1);
- EXPECT_SUCCEEDED(RegKey::SetValue(MACHINE_REG_UPDATE_DEV,
- kRegValueLastCheckPeriodSec,
- val));
- is_overridden = false;
- EXPECT_EQ(INT_MAX, cm_->GetLastCheckPeriodSec(&is_overridden));
- EXPECT_TRUE(is_overridden);
-
- val = 1000;
- EXPECT_SUCCEEDED(RegKey::SetValue(MACHINE_REG_UPDATE_DEV,
- kRegValueLastCheckPeriodSec,
- val));
- is_overridden = false;
- EXPECT_EQ(1000, cm_->GetLastCheckPeriodSec(&is_overridden));
- EXPECT_TRUE(is_overridden);
-
- EXPECT_SUCCEEDED(RegKey::DeleteValue(MACHINE_REG_UPDATE_DEV,
- kRegValueLastCheckPeriodSec));
- is_overridden = true;
- if (cm_->IsInternalUser()) {
- EXPECT_EQ(kLastCheckPeriodInternalUserSec,
- cm_->GetLastCheckPeriodSec(&is_overridden));
- } else {
- EXPECT_EQ(kLastCheckPeriodSec, cm_->GetLastCheckPeriodSec(&is_overridden));
- }
- EXPECT_FALSE(is_overridden);
-}
-
-TEST_F(ConfigManagerTest, GetLastCheckPeriodSec_GroupPolicyOverride) {
- const DWORD kOverrideMinutes = 16000;
- const DWORD kExpectedSeconds = kOverrideMinutes * 60;
- EXPECT_SUCCEEDED(SetPolicy(_T("AutoUpdateCheckPeriodMinutes"),
- kOverrideMinutes));
- bool is_overridden = false;
- EXPECT_EQ(kExpectedSeconds, cm_->GetLastCheckPeriodSec(&is_overridden));
- EXPECT_TRUE(is_overridden);
-}
-
-TEST_F(ConfigManagerTest, GetLastCheckPeriodSec_GroupPolicyOverride_TooLow) {
- const DWORD kOverrideMinutes = 1;
- EXPECT_SUCCEEDED(SetPolicy(_T("AutoUpdateCheckPeriodMinutes"),
- kOverrideMinutes));
- bool is_overridden = false;
- EXPECT_EQ(kMinLastCheckPeriodSec, cm_->GetLastCheckPeriodSec(&is_overridden));
- EXPECT_TRUE(is_overridden);
-}
-
-TEST_F(ConfigManagerTest, GetLastCheckPeriodSec_GroupPolicyOverride_Zero) {
- const DWORD kOverrideMinutes = 0;
- EXPECT_SUCCEEDED(SetPolicy(_T("AutoUpdateCheckPeriodMinutes"),
- kOverrideMinutes));
- bool is_overridden = false;
- EXPECT_EQ(0, cm_->GetLastCheckPeriodSec(&is_overridden));
- EXPECT_TRUE(is_overridden);
-}
-
-TEST_F(ConfigManagerTest,
- GetLastCheckPeriodSec_GroupPolicyOverride_Overflow_SecondsConversion) {
- const DWORD kOverrideMinutes = UINT_MAX;
- EXPECT_SUCCEEDED(SetPolicy(_T("AutoUpdateCheckPeriodMinutes"),
- kOverrideMinutes));
- bool is_overridden = false;
- EXPECT_EQ(INT_MAX, cm_->GetLastCheckPeriodSec(&is_overridden));
- EXPECT_TRUE(is_overridden);
-
- const DWORD kOverrideMinutes2 = INT_MAX + static_cast<uint32>(1);
- EXPECT_SUCCEEDED(SetPolicy(_T("AutoUpdateCheckPeriodMinutes"),
- kOverrideMinutes2));
- is_overridden = false;
- EXPECT_EQ(INT_MAX, cm_->GetLastCheckPeriodSec(&is_overridden));
- EXPECT_TRUE(is_overridden);
-
- const DWORD kOverrideMinutes3 = 0xf0000000;
- EXPECT_SUCCEEDED(SetPolicy(_T("AutoUpdateCheckPeriodMinutes"),
- kOverrideMinutes3));
- is_overridden = false;
- EXPECT_EQ(INT_MAX, cm_->GetLastCheckPeriodSec(&is_overridden));
- EXPECT_TRUE(is_overridden);
-}
-
-// Overflow the integer but not the minutes to seconds conversion.
-TEST_F(ConfigManagerTest,
- GetLastCheckPeriodSec_GroupPolicyOverride_Overflow_Int) {
- const DWORD kOverrideMinutes = UINT_MAX / 60;
- EXPECT_GT(UINT_MAX, kOverrideMinutes);
-
- EXPECT_SUCCEEDED(SetPolicy(_T("AutoUpdateCheckPeriodMinutes"),
- kOverrideMinutes));
- bool is_overridden = false;
- EXPECT_EQ(INT_MAX, cm_->GetLastCheckPeriodSec(&is_overridden));
- EXPECT_TRUE(is_overridden);
-}
-
-// UpdateDev takes precedence over the Group Policy override.
-TEST_F(ConfigManagerTest,
- GetLastCheckPeriodSec_GroupPolicyAndUpdateDevOverrides) {
- const DWORD kGroupPolicyOverrideMinutes = 100;
- EXPECT_SUCCEEDED(SetPolicy(_T("AutoUpdateCheckPeriodMinutes"),
- kGroupPolicyOverrideMinutes));
- const DWORD kUpdateDevOverrideSeconds = 70;
- EXPECT_SUCCEEDED(RegKey::SetValue(MACHINE_REG_UPDATE_DEV,
- kRegValueLastCheckPeriodSec,
- kUpdateDevOverrideSeconds));
-
- bool is_overridden = false;
- EXPECT_EQ(kUpdateDevOverrideSeconds,
- cm_->GetLastCheckPeriodSec(&is_overridden));
- EXPECT_TRUE(is_overridden);
-}
-
-TEST_F(ConfigManagerTest, CanCollectStats_LegacyLocationNewName) {
- DWORD val = 1;
- EXPECT_SUCCEEDED(RegKey::SetValue(MACHINE_REG_UPDATE,
- _T("usagestats"),
- val));
- EXPECT_FALSE(cm_->CanCollectStats(true));
-}
-
-TEST_F(ConfigManagerTest, CanCollectStats_MachineOnly) {
- CanCollectStatsHelper(true);
-}
-
-TEST_F(ConfigManagerTest, CanCollectStats_UserOnly) {
- CanCollectStatsHelper(false);
-}
-
-// This tests that the legacy conversion is honored.
-TEST_F(ConfigManagerTest, CanCollectStats_GoopdateGuidIsChecked) {
- EXPECT_FALSE(cm_->CanCollectStats(true));
-
- DWORD val = 1;
- EXPECT_SUCCEEDED(RegKey::SetValue(MACHINE_REG_CLIENT_STATE_GOOPDATE,
- _T("usagestats"),
- val));
- EXPECT_TRUE(cm_->CanCollectStats(true));
-}
-
-TEST_F(ConfigManagerTest, CanCollectStats_MachineIgnoresUser) {
- CanCollectStatsIgnoresOppositeHiveHelper(true);
-}
-
-TEST_F(ConfigManagerTest, CanCollectStats_UserIgnoresMachine) {
- CanCollectStatsIgnoresOppositeHiveHelper(false);
-}
-// Unfortunately, the app's ClientStateMedium key is not checked if there is no
-// corresponding ClientState key.
-TEST_F(ConfigManagerTest,
- CanCollectStats_Machine_ClientStateMediumOnly_AppClientStateKeyMissing) {
- EXPECT_SUCCEEDED(RegKey::SetValue(kAppMachineClientStateMediumPath1,
- _T("usagestats"),
- static_cast<DWORD>(1)));
- EXPECT_FALSE(cm_->CanCollectStats(true));
-}
-
-TEST_F(ConfigManagerTest,
- CanCollectStats_Machine_ClientStateMediumOnly_AppClientStateKeyExists) {
- EXPECT_SUCCEEDED(RegKey::CreateKey(kAppMachineClientStatePath1));
- EXPECT_SUCCEEDED(RegKey::SetValue(kAppMachineClientStateMediumPath1,
- _T("usagestats"),
- static_cast<DWORD>(1)));
- EXPECT_TRUE(cm_->CanCollectStats(true));
-}
-
-TEST_F(ConfigManagerTest,
- CanCollectStats_Machine_ClientStateMediumInvalid) {
- EXPECT_SUCCEEDED(RegKey::CreateKey(kAppMachineClientStatePath1));
- EXPECT_SUCCEEDED(RegKey::SetValue(kAppMachineClientStateMediumPath1,
- _T("usagestats"),
- static_cast<DWORD>(2)));
- EXPECT_FALSE(cm_->CanCollectStats(true));
-}
-
-TEST_F(ConfigManagerTest, CanCollectStats_User_ClientStateMediumOnly) {
- EXPECT_SUCCEEDED(RegKey::CreateKey(kAppUserClientStatePath1));
- EXPECT_SUCCEEDED(RegKey::SetValue(
- _T("HKCU\\") OMAHA_KEY_REL _T("\\ClientStateMedium\\") APP_GUID1,
- _T("usagestats"),
- static_cast<DWORD>(1)));
- EXPECT_FALSE(cm_->CanCollectStats(false));
-}
-
-TEST_F(ConfigManagerTest,
- CanCollectStats_Machine_ClientStateZeroClientStateMediumOne) {
- EXPECT_SUCCEEDED(RegKey::SetValue(kAppMachineClientStatePath1,
- _T("usagestats"),
- static_cast<DWORD>(0)));
- EXPECT_FALSE(cm_->CanCollectStats(true));
-
- EXPECT_SUCCEEDED(RegKey::SetValue(kAppMachineClientStateMediumPath1,
- _T("usagestats"),
- static_cast<DWORD>(1)));
- EXPECT_TRUE(cm_->CanCollectStats(true));
-}
-
-TEST_F(ConfigManagerTest,
- CanCollectStats_Machine_ClientStateOneClientStateMediumZero) {
- EXPECT_SUCCEEDED(RegKey::SetValue(kAppMachineClientStatePath1,
- _T("usagestats"),
- static_cast<DWORD>(1)));
- EXPECT_TRUE(cm_->CanCollectStats(true));
-
- EXPECT_SUCCEEDED(RegKey::SetValue(kAppMachineClientStateMediumPath1,
- _T("usagestats"),
- static_cast<DWORD>(0)));
- EXPECT_FALSE(cm_->CanCollectStats(true));
-}
-
-// Tests OverInstall override.
-TEST_F(ConfigManagerTest, CanOverInstall) {
- EXPECT_EQ(cm_->CanOverInstall(), !OFFICIAL_BUILD);
-
- DWORD val = 1;
- EXPECT_SUCCEEDED(RegKey::SetValue(MACHINE_REG_UPDATE_DEV,
- kRegValueNameOverInstall,
- val));
-#ifdef DEBUG
- EXPECT_TRUE(cm_->CanOverInstall());
-#else
- EXPECT_EQ(!OFFICIAL_BUILD, cm_->CanOverInstall());
-#endif
-
- val = 0;
- EXPECT_SUCCEEDED(RegKey::SetValue(MACHINE_REG_UPDATE_DEV,
- kRegValueNameOverInstall,
- val));
-#ifdef DEBUG
- EXPECT_FALSE(cm_->CanOverInstall());
-#else
- EXPECT_EQ(!OFFICIAL_BUILD, cm_->CanOverInstall());
-#endif
-}
-
-// Tests AuCheckPeriodMs override.
-TEST_F(ConfigManagerTest, GetAutoUpdateTimerIntervalMs) {
- EXPECT_EQ(cm_->IsInternalUser() ? kAUCheckPeriodInternalUserMs :
- kAUCheckPeriodMs,
- cm_->GetAutoUpdateTimerIntervalMs());
-
- DWORD val = 0;
- EXPECT_SUCCEEDED(RegKey::SetValue(MACHINE_REG_UPDATE_DEV,
- kRegValueAuCheckPeriodMs,
- val));
- EXPECT_EQ(kMinAUCheckPeriodMs, cm_->GetAutoUpdateTimerIntervalMs());
-
- val = kMinAUCheckPeriodMs - 1;
- EXPECT_SUCCEEDED(RegKey::SetValue(MACHINE_REG_UPDATE_DEV,
- kRegValueAuCheckPeriodMs,
- val));
- EXPECT_EQ(kMinAUCheckPeriodMs, cm_->GetAutoUpdateTimerIntervalMs());
-
- val = 30000;
- EXPECT_SUCCEEDED(RegKey::SetValue(MACHINE_REG_UPDATE_DEV,
- kRegValueAuCheckPeriodMs,
- val));
- EXPECT_EQ(val, cm_->GetAutoUpdateTimerIntervalMs());
-
- val = INT_MAX;
- EXPECT_SUCCEEDED(RegKey::SetValue(MACHINE_REG_UPDATE_DEV,
- kRegValueAuCheckPeriodMs,
- val));
- EXPECT_EQ(val, cm_->GetAutoUpdateTimerIntervalMs());
-
- // Tests overflow with large positive numbers.
- val = INT_MAX;
- ++val;
- EXPECT_SUCCEEDED(RegKey::SetValue(MACHINE_REG_UPDATE_DEV,
- kRegValueAuCheckPeriodMs,
- val));
- EXPECT_EQ(INT_MAX, cm_->GetAutoUpdateTimerIntervalMs());
-
- val = UINT_MAX;
- EXPECT_SUCCEEDED(RegKey::SetValue(MACHINE_REG_UPDATE_DEV,
- kRegValueAuCheckPeriodMs,
- val));
- EXPECT_EQ(INT_MAX, cm_->GetAutoUpdateTimerIntervalMs());
-}
-
-// Tests CrCheckPeriodMs override.
-TEST_F(ConfigManagerTest, GetCodeRedTimerIntervalMs) {
- EXPECT_EQ(kCodeRedCheckPeriodMs, cm_->GetCodeRedTimerIntervalMs());
-
- DWORD val = 0;
- EXPECT_SUCCEEDED(RegKey::SetValue(MACHINE_REG_UPDATE_DEV,
- kRegValueCrCheckPeriodMs,
- val));
- EXPECT_EQ(kMinCodeRedCheckPeriodMs, cm_->GetCodeRedTimerIntervalMs());
-
- val = kMinCodeRedCheckPeriodMs - 1;
- EXPECT_SUCCEEDED(RegKey::SetValue(MACHINE_REG_UPDATE_DEV,
- kRegValueCrCheckPeriodMs,
- val));
- EXPECT_EQ(kMinCodeRedCheckPeriodMs, cm_->GetCodeRedTimerIntervalMs());
-
- val = 60000;
- EXPECT_SUCCEEDED(RegKey::SetValue(MACHINE_REG_UPDATE_DEV,
- kRegValueCrCheckPeriodMs,
- val));
- EXPECT_EQ(val, cm_->GetCodeRedTimerIntervalMs());
-
- val = INT_MAX;
- EXPECT_SUCCEEDED(RegKey::SetValue(MACHINE_REG_UPDATE_DEV,
- kRegValueCrCheckPeriodMs,
- val));
- EXPECT_EQ(val, cm_->GetCodeRedTimerIntervalMs());
-
- // Tests overflow with large positive numbers.
- val = INT_MAX;
- ++val;
- EXPECT_SUCCEEDED(RegKey::SetValue(MACHINE_REG_UPDATE_DEV,
- kRegValueCrCheckPeriodMs,
- val));
- EXPECT_EQ(INT_MAX, cm_->GetCodeRedTimerIntervalMs());
-
- val = UINT_MAX;
- EXPECT_SUCCEEDED(RegKey::SetValue(MACHINE_REG_UPDATE_DEV,
- kRegValueCrCheckPeriodMs,
- val));
- EXPECT_EQ(INT_MAX, cm_->GetCodeRedTimerIntervalMs());
-}
-
-// Tests CanLogEvents override.
-TEST_F(ConfigManagerTest, CanLogEvents_WithOutOverride) {
- EXPECT_FALSE(cm_->CanLogEvents(EVENTLOG_SUCCESS));
- EXPECT_TRUE(cm_->CanLogEvents(EVENTLOG_ERROR_TYPE));
- EXPECT_TRUE(cm_->CanLogEvents(EVENTLOG_WARNING_TYPE));
- EXPECT_FALSE(cm_->CanLogEvents(EVENTLOG_INFORMATION_TYPE));
- EXPECT_FALSE(cm_->CanLogEvents(EVENTLOG_AUDIT_SUCCESS));
- EXPECT_FALSE(cm_->CanLogEvents(EVENTLOG_AUDIT_FAILURE));
-}
-
-TEST_F(ConfigManagerTest, CanLogEvents) {
- EXPECT_FALSE(cm_->CanLogEvents(EVENTLOG_INFORMATION_TYPE));
-
- DWORD val = LOG_EVENT_LEVEL_ALL;
- EXPECT_SUCCEEDED(RegKey::SetValue(MACHINE_REG_UPDATE_DEV,
- kRegValueEventLogLevel,
- val));
- EXPECT_TRUE(cm_->CanLogEvents(EVENTLOG_SUCCESS));
- EXPECT_TRUE(cm_->CanLogEvents(EVENTLOG_ERROR_TYPE));
- EXPECT_TRUE(cm_->CanLogEvents(EVENTLOG_WARNING_TYPE));
- EXPECT_TRUE(cm_->CanLogEvents(EVENTLOG_INFORMATION_TYPE));
- EXPECT_TRUE(cm_->CanLogEvents(EVENTLOG_AUDIT_SUCCESS));
- EXPECT_TRUE(cm_->CanLogEvents(EVENTLOG_AUDIT_FAILURE));
-
- val = LOG_EVENT_LEVEL_WARN_AND_ERROR;
- EXPECT_SUCCEEDED(RegKey::SetValue(MACHINE_REG_UPDATE_DEV,
- kRegValueEventLogLevel,
- val));
- EXPECT_FALSE(cm_->CanLogEvents(EVENTLOG_SUCCESS));
- EXPECT_TRUE(cm_->CanLogEvents(EVENTLOG_ERROR_TYPE));
- EXPECT_TRUE(cm_->CanLogEvents(EVENTLOG_WARNING_TYPE));
- EXPECT_FALSE(cm_->CanLogEvents(EVENTLOG_INFORMATION_TYPE));
- EXPECT_FALSE(cm_->CanLogEvents(EVENTLOG_AUDIT_SUCCESS));
- EXPECT_FALSE(cm_->CanLogEvents(EVENTLOG_AUDIT_FAILURE));
-}
-
-// Tests GetTestSource override.
-TEST_F(ConfigManagerTest, GetTestSource_Dev) {
- CString expected_value;
-#if DEBUG || !OFFICIAL_BUILD
- expected_value = kRegValueTestSourceAuto;
-#endif
-
- CString test_source = cm_->GetTestSource();
- EXPECT_STREQ(expected_value, test_source);
- ASSERT_SUCCEEDED(RegKey::SetValue(MACHINE_REG_UPDATE_DEV,
- kRegValueTestSource,
- _T("dev")));
- test_source = cm_->GetTestSource();
- EXPECT_STREQ(_T("dev"), test_source);
-}
-
-TEST_F(ConfigManagerTest, GetTestSource_EmptyRegKey) {
- CString expected_value;
-
-#if DEBUG || !OFFICIAL_BUILD
- expected_value = kRegValueTestSourceAuto;
-#endif
-
- CString test_source = cm_->GetTestSource();
- EXPECT_STREQ(expected_value, test_source);
- ASSERT_SUCCEEDED(RegKey::SetValue(MACHINE_REG_UPDATE_DEV,
- kRegValueTestSource,
- _T("")));
- test_source = cm_->GetTestSource();
- EXPECT_STREQ(kRegValueTestSourceAuto, test_source);
-}
-
-//
-// CanUseNetwork tests.
-//
-
-// Covers UpdateEulaAccepted case.
-TEST_F(ConfigManagerTest, CanUseNetwork_Machine_Normal) {
- EXPECT_TRUE(cm_->CanUseNetwork(true));
-}
-
-// Covers UpdateEulaAccepted case.
-TEST_F(ConfigManagerTest, CanUseNetwork_User_Normal) {
- EXPECT_TRUE(cm_->CanUseNetwork(false));
-}
-
-// These cover the not OEM install mode cases.
-TEST_F(ConfigManagerTest, CanUseNetwork_Machine_UpdateEulaNotAccepted) {
- EXPECT_SUCCEEDED(RegKey::SetValue(MACHINE_REG_UPDATE,
- _T("eulaaccepted"),
- static_cast<DWORD>(0)));
- EXPECT_FALSE(cm_->CanUseNetwork(true));
-}
-
-TEST_F(ConfigManagerTest,
- CanUseNetwork_Machine_UpdateEulaNotAccepted_AppEulaAccepted) {
- EXPECT_SUCCEEDED(RegKey::SetValue(MACHINE_REG_UPDATE,
- _T("eulaaccepted"),
- static_cast<DWORD>(0)));
- EXPECT_SUCCEEDED(RegKey::SetValue(kAppMachineClientStatePath1,
- _T("eulaaccepted"),
- static_cast<DWORD>(1)));
- EXPECT_FALSE(cm_->CanUseNetwork(true));
-}
-
-TEST_F(ConfigManagerTest, CanUseNetwork_Machine_AppEulaNotAccepted) {
- EXPECT_SUCCEEDED(RegKey::SetValue(kAppMachineClientStatePath1,
- _T("eulaaccepted"),
- static_cast<DWORD>(0)));
- EXPECT_TRUE(cm_->CanUseNetwork(true));
-}
-
-TEST_F(ConfigManagerTest, CanUseNetwork_Machine_AppEulaAccepted) {
- EXPECT_SUCCEEDED(RegKey::SetValue(kAppMachineClientStatePath1,
- _T("eulaaccepted"),
- static_cast<DWORD>(1)));
- EXPECT_TRUE(cm_->CanUseNetwork(true));
-}
-
-TEST_F(ConfigManagerTest, CanUseNetwork_Machine_UserUpdateEulaNotAccepted) {
- EXPECT_SUCCEEDED(RegKey::SetValue(USER_REG_UPDATE,
- _T("eulaaccepted"),
- static_cast<DWORD>(0)));
- EXPECT_TRUE(cm_->CanUseNetwork(true));
-}
-
-TEST_F(ConfigManagerTest, CanUseNetwork_User_UpdateEulaNotAccepted) {
- EXPECT_SUCCEEDED(RegKey::SetValue(USER_REG_UPDATE,
- _T("eulaaccepted"),
- static_cast<DWORD>(0)));
- EXPECT_FALSE(cm_->CanUseNetwork(false));
-}
-
-TEST_F(ConfigManagerTest,
- CanUseNetwork_User_UpdateEulaNotAccepted_AppEulaAccepted) {
- EXPECT_SUCCEEDED(RegKey::SetValue(USER_REG_UPDATE,
- _T("eulaaccepted"),
- static_cast<DWORD>(0)));
- EXPECT_SUCCEEDED(RegKey::SetValue(kAppUserClientStatePath1,
- _T("eulaaccepted"),
- static_cast<DWORD>(1)));
- EXPECT_FALSE(cm_->CanUseNetwork(false));
-}
-
-TEST_F(ConfigManagerTest, CanUseNetwork_User_AppEulaNotAccepted) {
- EXPECT_SUCCEEDED(RegKey::SetValue(kAppUserClientStatePath1,
- _T("eulaaccepted"),
- static_cast<DWORD>(0)));
- EXPECT_TRUE(cm_->CanUseNetwork(false));
-}
-
-TEST_F(ConfigManagerTest, CanUseNetwork_User_AppEulaAccepted) {
- EXPECT_SUCCEEDED(RegKey::SetValue(kAppUserClientStatePath1,
- _T("eulaaccepted"),
- static_cast<DWORD>(1)));
- EXPECT_TRUE(cm_->CanUseNetwork(false));
-}
-
-TEST_F(ConfigManagerTest, CanUseNetwork_User_MachineUpdateEulaNotAccepted) {
- EXPECT_SUCCEEDED(RegKey::SetValue(MACHINE_REG_UPDATE,
- _T("eulaaccepted"),
- static_cast<DWORD>(0)));
- EXPECT_TRUE(cm_->CanUseNetwork(false));
-}
-
-// TODO(omaha): Figure out a way to test the result.
-TEST_F(ConfigManagerTest, IsInternalUser) {
- cm_->IsInternalUser();
-}
-
-TEST_F(ConfigManagerTest, IsWindowsInstalling_Normal) {
- EXPECT_FALSE(cm_->IsWindowsInstalling());
-}
-
-// While this test passes, the return value of IsWindowsInstalling() is not
-// fully tested because the account is not Administrator.
-TEST_F(ConfigManagerTest, IsWindowsInstalling_Installing_Vista_InvalidValues) {
- if (!vista_util::IsVistaOrLater()) {
- return;
- }
-
- EXPECT_SUCCEEDED(RegKey::SetValue(
- _T("HKLM\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Setup\\State"),
- _T("ImageState"),
- _T("")));
- EXPECT_FALSE(cm_->IsWindowsInstalling());
-
- EXPECT_SUCCEEDED(RegKey::SetValue(
- _T("HKLM\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Setup\\State"),
- _T("ImageState"),
- _T("foo")));
- EXPECT_FALSE(cm_->IsWindowsInstalling());
-
- EXPECT_SUCCEEDED(RegKey::SetValue(
- _T("HKLM\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Setup\\State"),
- _T("ImageState"),
- static_cast<DWORD>(1)));
- ExpectAsserts expect_asserts; // RegKey asserts because value type is wrong.
- EXPECT_FALSE(cm_->IsWindowsInstalling());
-}
-
-// TODO(omaha): This test fails because the account is not Administrator. Maybe
-// just delete them if this is the final implementation of Audit Mode detection.
-TEST_F(ConfigManagerTest, IsWindowsInstalling_Installing_Vista_ValidStates) {
- if (!vista_util::IsVistaOrLater()) {
- return;
- }
-
- // These states return false in the original implementation.
- EXPECT_SUCCEEDED(RegKey::SetValue(
- _T("HKLM\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Setup\\State"),
- _T("ImageState"),
- _T("IMAGE_STATE_COMPLETE")));
- EXPECT_FALSE(cm_->IsWindowsInstalling());
-
- EXPECT_SUCCEEDED(RegKey::SetValue(
- _T("HKLM\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Setup\\State"),
- _T("ImageState"),
- _T("IMAGE_STATE_GENERALIZE_RESEAL_TO_OOBE")));
- EXPECT_FALSE(cm_->IsWindowsInstalling());
-
- EXPECT_SUCCEEDED(RegKey::SetValue(
- _T("HKLM\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Setup\\State"),
- _T("ImageState"),
- _T("IMAGE_STATE_SPECIALIZE_RESEAL_TO_OOBE")));
- EXPECT_FALSE(cm_->IsWindowsInstalling());
-
- // These states are specified in the original implementation.
- EXPECT_SUCCEEDED(RegKey::SetValue(
- _T("HKLM\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Setup\\State"),
- _T("ImageState"),
- _T("IMAGE_STATE_UNDEPLOYABLE")));
- EXPECT_TRUE(cm_->IsWindowsInstalling());
-
- EXPECT_SUCCEEDED(RegKey::SetValue(
- _T("HKLM\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Setup\\State"),
- _T("ImageState"),
- _T("IMAGE_STATE_GENERALIZE_RESEAL_TO_AUDIT")));
- EXPECT_TRUE(cm_->IsWindowsInstalling());
-
- EXPECT_SUCCEEDED(RegKey::SetValue(
- _T("HKLM\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Setup\\State"),
- _T("ImageState"),
- _T("IMAGE_STATE_SPECIALIZE_RESEAL_TO_AUDIT")));
- EXPECT_TRUE(cm_->IsWindowsInstalling());
-}
-
-TEST_F(ConfigManagerTest, CanInstallApp_NoGroupPolicy) {
- EXPECT_TRUE(CanInstallApp(kAppGuid1));
-}
-
-TEST_F(ConfigManagerTest, CanInstallApp_DifferentAppDisabled) {
- EXPECT_SUCCEEDED(SetPolicy(kInstallPolicyApp2, 0));
- EXPECT_TRUE(CanInstallApp(kAppGuid1));
-}
-
-TEST_F(ConfigManagerTest, CanInstallApp_NoDefaultValue_AppDisabled) {
- EXPECT_SUCCEEDED(SetPolicy(kInstallPolicyApp1, 0));
- EXPECT_FALSE(CanInstallApp(kAppGuid1));
-}
-
-TEST_F(ConfigManagerTest, CanInstallApp_NoDefaultValue_AppEnabled) {
- EXPECT_SUCCEEDED(SetPolicy(kInstallPolicyApp1, 1));
- EXPECT_TRUE(CanInstallApp(kAppGuid1));
-}
-
-TEST_F(ConfigManagerTest, CanInstallApp_NoDefaultValue_AppInvalid) {
- EXPECT_SUCCEEDED(SetPolicy(kInstallPolicyApp1, 2));
- EXPECT_TRUE(CanInstallApp(kAppGuid1));
-}
-
-TEST_F(ConfigManagerTest, CanInstallApp_DefaultDisabled_NoAppValue) {
- EXPECT_SUCCEEDED(SetPolicy(_T("InstallDefault"), 0));
- EXPECT_FALSE(CanInstallApp(kAppGuid1));
-}
-
-TEST_F(ConfigManagerTest, CanInstallApp_DefaultDisabled_AppDisabled) {
- EXPECT_SUCCEEDED(SetPolicy(_T("InstallDefault"), 0));
- EXPECT_SUCCEEDED(SetPolicy(kInstallPolicyApp1, 0));
- EXPECT_FALSE(CanInstallApp(kAppGuid1));
-}
-
-TEST_F(ConfigManagerTest, CanInstallApp_DefaultDisabled_AppEnabled) {
- EXPECT_SUCCEEDED(SetPolicy(_T("InstallDefault"), 0));
- EXPECT_SUCCEEDED(SetPolicy(kInstallPolicyApp1, 1));
- EXPECT_TRUE(CanInstallApp(kAppGuid1));
-}
-
-// Invalid value defaulting to true overrides the InstallDefault disable.
-TEST_F(ConfigManagerTest, CanInstallApp_DefaultDisabled_AppInvalid) {
- EXPECT_SUCCEEDED(SetPolicy(_T("InstallDefault"), 0));
- EXPECT_SUCCEEDED(SetPolicy(kInstallPolicyApp1, 2));
- EXPECT_TRUE(CanInstallApp(kAppGuid1));
-}
-
-TEST_F(ConfigManagerTest, CanInstallApp_DefaultEnabled_NoAppValue) {
- EXPECT_SUCCEEDED(SetPolicy(_T("InstallDefault"), 1));
- EXPECT_TRUE(CanInstallApp(kAppGuid1));
-}
-
-TEST_F(ConfigManagerTest, CanInstallApp_DefaultEnabled_AppDisabled) {
- EXPECT_SUCCEEDED(SetPolicy(_T("InstallDefault"), 1));
- EXPECT_SUCCEEDED(SetPolicy(kInstallPolicyApp1, 0));
- EXPECT_FALSE(CanInstallApp(kAppGuid1));
-}
-
-TEST_F(ConfigManagerTest, CanInstallApp_DefaultEnabled_AppEnabled) {
- EXPECT_SUCCEEDED(SetPolicy(_T("InstallDefault"), 1));
- EXPECT_SUCCEEDED(SetPolicy(kInstallPolicyApp1, 1));
- EXPECT_TRUE(CanInstallApp(kAppGuid1));
-}
-
-TEST_F(ConfigManagerTest, CanInstallApp_DefaultEnabled_AppInvalid) {
- EXPECT_SUCCEEDED(SetPolicy(_T("InstallDefault"), 1));
- EXPECT_SUCCEEDED(SetPolicy(kInstallPolicyApp1, 2));
- EXPECT_TRUE(CanInstallApp(kAppGuid1));
-}
-
-TEST_F(ConfigManagerTest, CanUpdateApp_Auto_NoGroupPolicy) {
- EXPECT_TRUE(CanUpdateApp(kAppGuid1, false));
-}
-
-TEST_F(ConfigManagerTest, CanUpdateApp_Auto_DifferentAppDisabled) {
- EXPECT_SUCCEEDED(SetPolicy(kUpdatePolicyApp2, 0));
- EXPECT_TRUE(CanUpdateApp(kAppGuid1, false));
-}
-
-TEST_F(ConfigManagerTest, CanUpdateApp_Auto_DifferentAppManualOnly) {
- EXPECT_SUCCEEDED(SetPolicy(kUpdatePolicyApp2, 2));
- EXPECT_TRUE(CanUpdateApp(kAppGuid1, false));
-}
-
-TEST_F(ConfigManagerTest, CanUpdateApp_Auto_NoDefaultValue_AppDisabled) {
- EXPECT_SUCCEEDED(SetPolicy(kUpdatePolicyApp1, 0));
- EXPECT_FALSE(CanUpdateApp(kAppGuid1, false));
-}
-
-TEST_F(ConfigManagerTest, CanUpdateApp_Auto_NoDefaultValue_AppEnabled) {
- EXPECT_SUCCEEDED(SetPolicy(kUpdatePolicyApp1, 1));
- EXPECT_TRUE(CanUpdateApp(kAppGuid1, false));
-}
-
-TEST_F(ConfigManagerTest, CanUpdateApp_Auto_NoDefaultValue_AppManualOnly) {
- EXPECT_SUCCEEDED(SetPolicy(kUpdatePolicyApp1, 2));
- EXPECT_FALSE(CanUpdateApp(kAppGuid1, false));
-}
-
-TEST_F(ConfigManagerTest, CanUpdateApp_Auto_DefaultDisabled_NoAppValue) {
- EXPECT_SUCCEEDED(SetPolicy(_T("UpdateDefault"), 0));
- EXPECT_FALSE(CanUpdateApp(kAppGuid1, false));
-}
-
-TEST_F(ConfigManagerTest, CanUpdateApp_Auto_DefaultDisabled_AppDisabled) {
- EXPECT_SUCCEEDED(SetPolicy(_T("UpdateDefault"), 0));
- EXPECT_SUCCEEDED(SetPolicy(kUpdatePolicyApp1, 0));
- EXPECT_FALSE(CanUpdateApp(kAppGuid1, false));
-}
-
-TEST_F(ConfigManagerTest, CanUpdateApp_Auto_DefaultDisabled_AppEnabled) {
- EXPECT_SUCCEEDED(SetPolicy(_T("UpdateDefault"), 0));
- EXPECT_SUCCEEDED(SetPolicy(kUpdatePolicyApp1, 1));
- EXPECT_TRUE(CanUpdateApp(kAppGuid1, false));
-}
-
-TEST_F(ConfigManagerTest, CanUpdateApp_Auto_DefaultDisabled_AppManualOnly) {
- EXPECT_SUCCEEDED(SetPolicy(_T("UpdateDefault"), 0));
- EXPECT_SUCCEEDED(SetPolicy(kUpdatePolicyApp1, 2));
- EXPECT_FALSE(CanUpdateApp(kAppGuid1, false));
-}
-
-// Invalid value defaulting to true overrides the UpdateDefault disable.
-TEST_F(ConfigManagerTest, CanUpdateApp_Auto_DefaultDisabled_AppInvalid) {
- EXPECT_SUCCEEDED(SetPolicy(_T("UpdateDefault"), 0));
- EXPECT_SUCCEEDED(SetPolicy(kUpdatePolicyApp1, 3));
- EXPECT_TRUE(CanUpdateApp(kAppGuid1, false));
-}
-
-TEST_F(ConfigManagerTest, CanUpdateApp_Auto_DefaultEnabled_NoAppValue) {
- EXPECT_SUCCEEDED(SetPolicy(_T("UpdateDefault"), 1));
- EXPECT_TRUE(CanUpdateApp(kAppGuid1, false));
-}
-
-TEST_F(ConfigManagerTest, CanUpdateApp_Auto_DefaultEnabled_AppDisabled) {
- EXPECT_SUCCEEDED(SetPolicy(_T("UpdateDefault"), 1));
- EXPECT_SUCCEEDED(SetPolicy(kUpdatePolicyApp1, 0));
- EXPECT_FALSE(CanUpdateApp(kAppGuid1, false));
-}
-
-TEST_F(ConfigManagerTest, CanUpdateApp_Auto_DefaultEnabled_AppEnabled) {
- EXPECT_SUCCEEDED(SetPolicy(_T("UpdateDefault"), 1));
- EXPECT_SUCCEEDED(SetPolicy(kUpdatePolicyApp1, 1));
- EXPECT_TRUE(CanUpdateApp(kAppGuid1, false));
-}
-
-TEST_F(ConfigManagerTest, CanUpdateApp_Auto_DefaultEnabled_AppManualOnly) {
- EXPECT_SUCCEEDED(SetPolicy(_T("UpdateDefault"), 1));
- EXPECT_SUCCEEDED(SetPolicy(kUpdatePolicyApp1, 2));
- EXPECT_FALSE(CanUpdateApp(kAppGuid1, false));
-}
-
-TEST_F(ConfigManagerTest, CanUpdateApp_Auto_DefaultEnabled_AppInvalid) {
- EXPECT_SUCCEEDED(SetPolicy(_T("UpdateDefault"), 1));
- EXPECT_SUCCEEDED(SetPolicy(kUpdatePolicyApp1, 3));
- EXPECT_TRUE(CanUpdateApp(kAppGuid1, false));
-}
-
-TEST_F(ConfigManagerTest, CanUpdateApp_Auto_DefaultManualOnly_NoAppValue) {
- EXPECT_SUCCEEDED(SetPolicy(_T("UpdateDefault"), 2));
- EXPECT_FALSE(CanUpdateApp(kAppGuid1, false));
-}
-
-TEST_F(ConfigManagerTest, CanUpdateApp_Auto_DefaultManualOnly_AppDisabled) {
- EXPECT_SUCCEEDED(SetPolicy(_T("UpdateDefault"), 2));
- EXPECT_SUCCEEDED(SetPolicy(kUpdatePolicyApp1, 0));
- EXPECT_FALSE(CanUpdateApp(kAppGuid1, false));
-}
-
-TEST_F(ConfigManagerTest, CanUpdateApp_Auto_DefaultManualOnly_AppEnabled) {
- EXPECT_SUCCEEDED(SetPolicy(_T("UpdateDefault"), 2));
- EXPECT_SUCCEEDED(SetPolicy(kUpdatePolicyApp1, 1));
- EXPECT_TRUE(CanUpdateApp(kAppGuid1, false));
-}
-
-TEST_F(ConfigManagerTest, CanUpdateApp_Auto_DefaultManualOnly_AppManualOnly) {
- EXPECT_SUCCEEDED(SetPolicy(_T("UpdateDefault"), 2));
- EXPECT_SUCCEEDED(SetPolicy(kUpdatePolicyApp1, 2));
- EXPECT_FALSE(CanUpdateApp(kAppGuid1, false));
-}
-
-TEST_F(ConfigManagerTest, CanUpdateApp_Auto_DefaultManualOnly_AppInvalid) {
- EXPECT_SUCCEEDED(SetPolicy(_T("UpdateDefault"), 2));
- EXPECT_SUCCEEDED(SetPolicy(kUpdatePolicyApp1, 3));
- EXPECT_TRUE(CanUpdateApp(kAppGuid1, false));
-}
-
-TEST_F(ConfigManagerTest, CanUpdateApp_Auto_DefaultInvalid_NoAppValue) {
- EXPECT_SUCCEEDED(SetPolicy(_T("UpdateDefault"), 3));
- EXPECT_TRUE(CanUpdateApp(kAppGuid1, false));
-}
-
-TEST_F(ConfigManagerTest, CanUpdateApp_Auto_Omaha_DefaultDisabled) {
- EXPECT_SUCCEEDED(SetPolicy(_T("UpdateDefault"), 0));
- EXPECT_TRUE(CanUpdateApp(kGoogleUpdateAppId, false));
-}
-
-TEST_F(ConfigManagerTest, CanUpdateApp_Auto_Omaha_DefaultManualOnly) {
- EXPECT_SUCCEEDED(SetPolicy(_T("UpdateDefault"), 2));
- EXPECT_TRUE(CanUpdateApp(kGoogleUpdateAppId, false));
-}
-
-TEST_F(ConfigManagerTest, CanUpdateApp_Auto_Omaha_AppDisabled) {
- EXPECT_SUCCEEDED(SetPolicy(_T("Update") GOOPDATE_APP_ID, 0));
- EXPECT_TRUE(CanUpdateApp(kGoogleUpdateAppId, false));
-}
-
-TEST_F(ConfigManagerTest, CanUpdateApp_Manual_NoGroupPolicy) {
- EXPECT_TRUE(CanUpdateApp(kAppGuid1, true));
-}
-
-TEST_F(ConfigManagerTest, CanUpdateApp_Manual_DifferentAppDisabled) {
- EXPECT_SUCCEEDED(SetPolicy(kUpdatePolicyApp2, 0));
- EXPECT_TRUE(CanUpdateApp(kAppGuid1, true));
-}
-
-TEST_F(ConfigManagerTest, CanUpdateApp_Manual_DifferentAppManualOnly) {
- EXPECT_SUCCEEDED(SetPolicy(kUpdatePolicyApp2, 2));
- EXPECT_TRUE(CanUpdateApp(kAppGuid1, true));
-}
-
-TEST_F(ConfigManagerTest, CanUpdateApp_Manual_NoDefaultValue_AppDisabled) {
- EXPECT_SUCCEEDED(SetPolicy(kUpdatePolicyApp1, 0));
- EXPECT_FALSE(CanUpdateApp(kAppGuid1, true));
-}
-
-TEST_F(ConfigManagerTest, CanUpdateApp_Manual_NoDefaultValue_AppEnabled) {
- EXPECT_SUCCEEDED(SetPolicy(kUpdatePolicyApp1, 1));
- EXPECT_TRUE(CanUpdateApp(kAppGuid1, true));
-}
-
-TEST_F(ConfigManagerTest, CanUpdateApp_Manual_NoDefaultValue_AppManualOnly) {
- EXPECT_SUCCEEDED(SetPolicy(kUpdatePolicyApp1, 2));
- EXPECT_TRUE(CanUpdateApp(kAppGuid1, true));
-}
-
-TEST_F(ConfigManagerTest, CanUpdateApp_Manual_DefaultDisabled_NoAppValue) {
- EXPECT_SUCCEEDED(SetPolicy(_T("UpdateDefault"), 0));
- EXPECT_FALSE(CanUpdateApp(kAppGuid1, true));
-}
-
-TEST_F(ConfigManagerTest, CanUpdateApp_Manual_DefaultDisabled_AppDisabled) {
- EXPECT_SUCCEEDED(SetPolicy(_T("UpdateDefault"), 0));
- EXPECT_SUCCEEDED(SetPolicy(kUpdatePolicyApp1, 0));
- EXPECT_FALSE(CanUpdateApp(kAppGuid1, true));
-}
-
-TEST_F(ConfigManagerTest, CanUpdateApp_Manual_DefaultDisabled_AppEnabled) {
- EXPECT_SUCCEEDED(SetPolicy(_T("UpdateDefault"), 0));
- EXPECT_SUCCEEDED(SetPolicy(kUpdatePolicyApp1, 1));
- EXPECT_TRUE(CanUpdateApp(kAppGuid1, true));
-}
-
-TEST_F(ConfigManagerTest, CanUpdateApp_Manual_DefaultDisabled_AppManualOnly) {
- EXPECT_SUCCEEDED(SetPolicy(_T("UpdateDefault"), 0));
- EXPECT_SUCCEEDED(SetPolicy(kUpdatePolicyApp1, 2));
- EXPECT_TRUE(CanUpdateApp(kAppGuid1, true));
-}
-
-// Invalid value defaulting to true overrides the UpdateDefault disable.
-TEST_F(ConfigManagerTest, CanUpdateApp_Manual_DefaultDisabled_AppInvalid) {
- EXPECT_SUCCEEDED(SetPolicy(_T("UpdateDefault"), 0));
- EXPECT_SUCCEEDED(SetPolicy(kUpdatePolicyApp1, 3));
- EXPECT_TRUE(CanUpdateApp(kAppGuid1, true));
-}
-
-TEST_F(ConfigManagerTest, CanUpdateApp_Manual_DefaultEnabled_NoAppValue) {
- EXPECT_SUCCEEDED(SetPolicy(_T("UpdateDefault"), 1));
- EXPECT_TRUE(CanUpdateApp(kAppGuid1, true));
-}
-
-TEST_F(ConfigManagerTest, CanUpdateApp_Manual_DefaultEnabled_AppDisabled) {
- EXPECT_SUCCEEDED(SetPolicy(_T("UpdateDefault"), 1));
- EXPECT_SUCCEEDED(SetPolicy(kUpdatePolicyApp1, 0));
- EXPECT_FALSE(CanUpdateApp(kAppGuid1, true));
-}
-
-TEST_F(ConfigManagerTest, CanUpdateApp_Manual_DefaultEnabled_AppEnabled) {
- EXPECT_SUCCEEDED(SetPolicy(_T("UpdateDefault"), 1));
- EXPECT_SUCCEEDED(SetPolicy(kUpdatePolicyApp1, 1));
- EXPECT_TRUE(CanUpdateApp(kAppGuid1, true));
-}
-
-TEST_F(ConfigManagerTest, CanUpdateApp_Manual_DefaultEnabled_AppManualOnly) {
- EXPECT_SUCCEEDED(SetPolicy(_T("UpdateDefault"), 1));
- EXPECT_SUCCEEDED(SetPolicy(kUpdatePolicyApp1, 2));
- EXPECT_TRUE(CanUpdateApp(kAppGuid1, true));
-}
-
-TEST_F(ConfigManagerTest, CanUpdateApp_Manual_DefaultEnabled_AppInvalid) {
- EXPECT_SUCCEEDED(SetPolicy(_T("UpdateDefault"), 1));
- EXPECT_SUCCEEDED(SetPolicy(kUpdatePolicyApp1, 3));
- EXPECT_TRUE(CanUpdateApp(kAppGuid1, true));
-}
-
-TEST_F(ConfigManagerTest, CanUpdateApp_Manual_DefaultManualOnly_NoAppValue) {
- EXPECT_SUCCEEDED(SetPolicy(_T("UpdateDefault"), 2));
- EXPECT_TRUE(CanUpdateApp(kAppGuid1, true));
-}
-
-TEST_F(ConfigManagerTest, CanUpdateApp_Manual_DefaultManualOnly_AppDisabled) {
- EXPECT_SUCCEEDED(SetPolicy(_T("UpdateDefault"), 2));
- EXPECT_SUCCEEDED(SetPolicy(kUpdatePolicyApp1, 0));
- EXPECT_FALSE(CanUpdateApp(kAppGuid1, true));
-}
-
-TEST_F(ConfigManagerTest, CanUpdateApp_Manual_DefaultManualOnly_AppEnabled) {
- EXPECT_SUCCEEDED(SetPolicy(_T("UpdateDefault"), 2));
- EXPECT_SUCCEEDED(SetPolicy(kUpdatePolicyApp1, 1));
- EXPECT_TRUE(CanUpdateApp(kAppGuid1, true));
-}
-
-TEST_F(ConfigManagerTest, CanUpdateApp_Manual_DefaultManualOnly_AppManualOnly) {
- EXPECT_SUCCEEDED(SetPolicy(_T("UpdateDefault"), 2));
- EXPECT_SUCCEEDED(SetPolicy(kUpdatePolicyApp1, 2));
- EXPECT_TRUE(CanUpdateApp(kAppGuid1, true));
-}
-
-TEST_F(ConfigManagerTest, CanUpdateApp_Maual_DefaultManualOnly_AppInvalid) {
- EXPECT_SUCCEEDED(SetPolicy(_T("UpdateDefault"), 2));
- EXPECT_SUCCEEDED(SetPolicy(kUpdatePolicyApp1, 3));
- EXPECT_TRUE(CanUpdateApp(kAppGuid1, true));
-}
-
-TEST_F(ConfigManagerTest, CanUpdateApp_Manual_DefaultInvalid_NoAppValue) {
- EXPECT_SUCCEEDED(SetPolicy(_T("UpdateDefault"), 3));
- EXPECT_TRUE(CanUpdateApp(kAppGuid1, true));
-}
-
-TEST_F(ConfigManagerTest, CanUpdateApp_Manual_Omaha_DefaultDisabled) {
- EXPECT_SUCCEEDED(SetPolicy(_T("UpdateDefault"), 0));
- EXPECT_TRUE(CanUpdateApp(kGoogleUpdateAppId, true));
-}
-
-TEST_F(ConfigManagerTest, CanUpdateApp_Manual_Omaha_DefaultManualOnly) {
- EXPECT_SUCCEEDED(SetPolicy(_T("UpdateDefault"), 2));
- EXPECT_TRUE(CanUpdateApp(kGoogleUpdateAppId, true));
-}
-
-TEST_F(ConfigManagerTest, CanUpdateApp_Manual_Omaha_AppDisabled) {
- EXPECT_SUCCEEDED(SetPolicy(_T("Update") GOOPDATE_APP_ID, 0));
- EXPECT_TRUE(CanUpdateApp(kGoogleUpdateAppId, true));
-}
-
-TEST_F(ConfigManagerTest, GetPackageCacheSizeLimitMBytes_Default) {
- EXPECT_EQ(500, cm_->GetPackageCacheSizeLimitMBytes());
-}
-
-TEST_F(ConfigManagerTest, GetPackageCacheSizeLimitMBytes_Override_TooBig) {
- EXPECT_SUCCEEDED(SetPolicy(kRegValueCacheSizeLimitMBytes, 8192));
- EXPECT_EQ(500, cm_->GetPackageCacheSizeLimitMBytes());
-}
-
-TEST_F(ConfigManagerTest, GetPackageCacheSizeLimitMBytes_Override_TooSmall) {
- EXPECT_SUCCEEDED(SetPolicy(kRegValueCacheSizeLimitMBytes, 0));
- EXPECT_EQ(500, cm_->GetPackageCacheSizeLimitMBytes());
-}
-
-TEST_F(ConfigManagerTest, GetPackageCacheSizeLimitMBytes_Override_Valid) {
- EXPECT_SUCCEEDED(SetPolicy(kRegValueCacheSizeLimitMBytes, 250));
- EXPECT_EQ(250, cm_->GetPackageCacheSizeLimitMBytes());
-}
-
-TEST_F(ConfigManagerTest, GetPackageCacheExpirationTimeDays_Default) {
- EXPECT_EQ(180, cm_->GetPackageCacheExpirationTimeDays());
-}
-
-TEST_F(ConfigManagerTest, GetPackageCacheExpirationTimeDays_Override_TooBig) {
- EXPECT_SUCCEEDED(SetPolicy(kRegValueCacheLifeLimitDays, 3600));
- EXPECT_EQ(180, cm_->GetPackageCacheExpirationTimeDays());
-}
-
-TEST_F(ConfigManagerTest, GetPackageCacheExpirationTimeDays_Override_TooSmall) {
- EXPECT_SUCCEEDED(SetPolicy(kRegValueCacheLifeLimitDays, 0));
- EXPECT_EQ(180, cm_->GetPackageCacheExpirationTimeDays());
-}
-
-TEST_F(ConfigManagerTest, GetPackageCacheExpirationTimeDays_Override_Valid) {
- EXPECT_SUCCEEDED(SetPolicy(kRegValueCacheLifeLimitDays, 60));
- EXPECT_EQ(60, cm_->GetPackageCacheExpirationTimeDays());
-}
-
-TEST_F(ConfigManagerTest, LastCheckedTime) {
- DWORD time = 500;
- EXPECT_SUCCEEDED(cm_->SetLastCheckedTime(true, time));
- EXPECT_EQ(time, cm_->GetLastCheckedTime(true));
-
- time = 77003;
- EXPECT_SUCCEEDED(cm_->SetLastCheckedTime(false, time));
- EXPECT_EQ(time, cm_->GetLastCheckedTime(false));
-}
-
-// Tests GetDir indirectly.
-TEST_F(ConfigManagerTest, GetDir) {
- RestoreRegistryHives();
-
- CString user_install_dir = cm_->GetUserGoopdateInstallDir();
- CString user_profile;
- ASSERT_NE(0, ::GetEnvironmentVariable(_T("USERPROFILE"),
- CStrBuf(user_profile, MAX_PATH),
- MAX_PATH));
- ASSERT_TRUE(String_StartsWith(user_install_dir, user_profile, true));
-}
-
-TEST_F(ConfigManagerTest, GetUpdateWorkerStartUpDelayMs_Repeated) {
- if (!SystemInfo::IsRunningOnXPOrLater()) {
- std::wcout << _T("\tTest did not run because GenRandom breaks on Windows ")
- << _T("2000 if the registry keys are overridden.") << std::endl;
- return;
- }
-
- // Test the UpdateDelay multiple times.
- for (int i = 0; i < 10; ++i) {
- int random = cm_->GetUpdateWorkerStartUpDelayMs();
- EXPECT_GE(random, kUpdateTimerStartupDelayMinMs);
- EXPECT_LE(random, kUpdateTimerStartupDelayMaxMs);
- }
-}
-
-TEST_F(ConfigManagerTest, GetUpdateWorkerStartUpDelayMs) {
- if (!SystemInfo::IsRunningOnXPOrLater()) {
- std::wcout << _T("\tTest did not run because GenRandom breaks on Windows ")
- << _T("2000 if the registry keys are overridden.") << std::endl;
- return;
- }
-
- int random = cm_->GetUpdateWorkerStartUpDelayMs();
- EXPECT_GE(random, kUpdateTimerStartupDelayMinMs);
- EXPECT_LE(random, kUpdateTimerStartupDelayMaxMs);
-
- int num_times_to_try_for_diff_number = 3;
- // We run the method num_times_to_try_for_diff_number times to make
- // sure that at least one of these returns a number that is different
- // from the one that is returned above. This is needed, since the
- // method returns a number between kUpdateTimerStartupDelayMinMs and
- // kUpdateTimerStartupDelayMaxMs.
- // If this fails a lot we should disable the if check below.
- bool found_one_not_equal = false;
- for (int i = 0; i < num_times_to_try_for_diff_number; ++i) {
- int random_compare = cm_->GetUpdateWorkerStartUpDelayMs();
-
- EXPECT_GE(random_compare, kUpdateTimerStartupDelayMinMs);
- EXPECT_LE(random_compare, kUpdateTimerStartupDelayMaxMs);
-
- if (random_compare != random) {
- found_one_not_equal = true;
- break;
- }
- }
-
- EXPECT_TRUE(found_one_not_equal);
-}
-
-TEST_F(ConfigManagerTest, GetUpdateWorkerStartUpDelayMs_Override) {
- // Test that the initial delay time to launch a worker can be overriden.
- DWORD val = 3320;
- EXPECT_SUCCEEDED(RegKey::SetValue(MACHINE_REG_UPDATE_DEV,
- kRegValueAuCheckPeriodMs,
- val));
-
- int random = cm_->GetUpdateWorkerStartUpDelayMs();
- EXPECT_EQ(val, random);
-}
-
-TEST_F(ConfigManagerTest, GetTimeSinceLastCheckedSec_User) {
- // First, there is no value present in the registry.
- uint32 now_sec = Time64ToInt32(GetCurrent100NSTime());
- int time_since_last_checked_sec = cm_->GetTimeSinceLastCheckedSec(false);
- EXPECT_EQ(now_sec, time_since_last_checked_sec);
-
- // Second, write the 'now' time.
- EXPECT_HRESULT_SUCCEEDED(cm_->SetLastCheckedTime(false, now_sec));
- time_since_last_checked_sec = cm_->GetTimeSinceLastCheckedSec(false);
- EXPECT_EQ(0, time_since_last_checked_sec);
-}
-
-TEST_F(ConfigManagerTest, GetTimeSinceLastCheckedSec_Machine) {
- uint32 now_sec = Time64ToInt32(GetCurrent100NSTime());
- int time_since_last_checked_sec = cm_->GetTimeSinceLastCheckedSec(true);
- EXPECT_EQ(now_sec, time_since_last_checked_sec);
-
- EXPECT_HRESULT_SUCCEEDED(cm_->SetLastCheckedTime(true, now_sec));
- time_since_last_checked_sec = cm_->GetTimeSinceLastCheckedSec(true);
- EXPECT_EQ(0, time_since_last_checked_sec);
-}
-
-TEST_F(ConfigManagerTest, GetNetConfig) {
- CString actual_value;
- EXPECT_HRESULT_FAILED(cm_->GetNetConfig(&actual_value));
-
- const CString expected_value = _T("proxy:8080");
- EXPECT_SUCCEEDED(RegKey::SetValue(MACHINE_REG_UPDATE_DEV,
- kRegValueNetConfig,
- expected_value));
-
- EXPECT_HRESULT_SUCCEEDED(cm_->GetNetConfig(&actual_value));
- EXPECT_STREQ(expected_value, actual_value);
-}
-
-TEST_F(ConfigManagerTest, GetInstallTime) {
- EXPECT_SUCCEEDED(DeleteUpdateTime(false));
- EXPECT_SUCCEEDED(DeleteFirstInstallTime(false));
- EXPECT_EQ(0, ConfigManager::GetInstallTime(false));
-
- DWORD time = 500;
- EXPECT_SUCCEEDED(SetFirstInstallTime(false, time));
- EXPECT_EQ(time, ConfigManager::GetInstallTime(false));
-
- time = 1000;
- EXPECT_SUCCEEDED(SetUpdateTime(false, time));
- EXPECT_EQ(time, ConfigManager::GetInstallTime(false));
-
- EXPECT_SUCCEEDED(DeleteFirstInstallTime(false));
- EXPECT_EQ(time, ConfigManager::GetInstallTime(false));
-}
-
-TEST_F(ConfigManagerTest, Is24HoursSinceInstall) {
- const uint32 now = Time64ToInt32(GetCurrent100NSTime());
- const int k12HourPeriodSec = 12 * 60 * 60;
- const int k48HourPeriodSec = 48 * 60 * 60;
-
- const uint32 first_install_12 = now - k12HourPeriodSec;
- const uint32 first_install_48 = now - k48HourPeriodSec;
-
- EXPECT_SUCCEEDED(SetFirstInstallTime(false, first_install_12));
- EXPECT_FALSE(ConfigManager::Is24HoursSinceInstall(false));
-
- EXPECT_SUCCEEDED(SetFirstInstallTime(false, first_install_48));
- EXPECT_TRUE(ConfigManager::Is24HoursSinceInstall(false));
-
- EXPECT_SUCCEEDED(SetUpdateTime(false, first_install_12));
- EXPECT_FALSE(ConfigManager::Is24HoursSinceInstall(false));
-
- EXPECT_SUCCEEDED(SetUpdateTime(false, first_install_48));
- EXPECT_TRUE(ConfigManager::Is24HoursSinceInstall(false));
-}
-
-TEST_F(ConfigManagerTest, AlwaysAllowCrashUploads) {
- EXPECT_FALSE(cm_->AlwaysAllowCrashUploads());
-
- DWORD value = 1;
- EXPECT_SUCCEEDED(RegKey::SetValue(MACHINE_REG_UPDATE_DEV,
- kRegValueAlwaysAllowCrashUploads,
- value));
-
- EXPECT_TRUE(cm_->AlwaysAllowCrashUploads());
-
- value = 0;
- EXPECT_SUCCEEDED(RegKey::SetValue(MACHINE_REG_UPDATE_DEV,
- kRegValueAlwaysAllowCrashUploads,
- value));
-
- EXPECT_FALSE(cm_->AlwaysAllowCrashUploads());
-}
-
-} // namespace omaha
« no previous file with comments | « common/config_manager.cc ('k') | common/const_cmd_line.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698