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

Unified Diff: common/goopdate_utils_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/goopdate_utils.cc ('k') | common/install_manifest.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: common/goopdate_utils_unittest.cc
diff --git a/common/goopdate_utils_unittest.cc b/common/goopdate_utils_unittest.cc
deleted file mode 100644
index 0b2434c3b347a36524dc767f27d46445bfcc20e5..0000000000000000000000000000000000000000
--- a/common/goopdate_utils_unittest.cc
+++ /dev/null
@@ -1,1630 +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 <windows.h>
-#include <atlpath.h>
-#include <atlsecurity.h>
-#include <atlstr.h>
-#include <map>
-#include <vector>
-#include "omaha/base/app_util.h"
-#include "omaha/base/browser_utils.h"
-#include "omaha/base/constants.h"
-#include "omaha/base/const_utils.h"
-#include "omaha/base/error.h"
-#include "omaha/base/file.h"
-#include "omaha/base/omaha_version.h"
-#include "omaha/base/path.h"
-#include "omaha/base/reg_key.h"
-#include "omaha/base/scope_guard.h"
-#include "omaha/base/scoped_ptr_cotask.h"
-#include "omaha/base/string.h"
-#include "omaha/base/time.h"
-#include "omaha/base/user_info.h"
-#include "omaha/base/utils.h"
-#include "omaha/base/vistautil.h"
-#include "omaha/base/vista_utils.h"
-#include "omaha/common/config_manager.h"
-#include "omaha/common/const_goopdate.h"
-#include "omaha/common/const_group_policy.h"
-#include "omaha/common/goopdate_utils.h"
-#include "omaha/common/oem_install_utils.h"
-#include "omaha/testing/resource.h"
-#include "omaha/testing/unit_test.h"
-
-namespace omaha {
-
-namespace {
-
-#define DUMMY_CLSID _T("{6FC94136-0D4C-450e-99C2-BCDA72A9C8F0}")
-const TCHAR* hkcr_key_name = _T("HKCR\\CLSID\\") DUMMY_CLSID;
-const TCHAR* hklm_key_name = _T("HKLM\\Software\\Classes\\CLSID\\") DUMMY_CLSID;
-const TCHAR* hkcu_key_name = _T("HKCU\\Software\\Classes\\CLSID\\") DUMMY_CLSID;
-
-const TCHAR* kAppId = _T("{3DAE8C13-C394-481E-8163-4E7A7699084F}");
-
-} // namespace
-
-namespace goopdate_utils {
-
-static void Cleanup() {
- ASSERT_SUCCEEDED(RemoveRedirectHKCR());
-
- RegKey::DeleteKey(hkcr_key_name, true);
- RegKey::DeleteKey(hklm_key_name, true);
- RegKey::DeleteKey(hkcu_key_name, true);
-}
-
-static void TestGetBrowserToRestart(BrowserType stamped,
- bool found1,
- bool killed1,
- BrowserType def_browser,
- bool found2,
- bool killed2,
- BrowserType expected) {
- TerminateBrowserResult res(found1, killed1);
- TerminateBrowserResult def(found2, killed2);
-
- BrowserType type = BROWSER_UNKNOWN;
- if (expected == BROWSER_UNKNOWN) {
- EXPECT_FALSE(GetBrowserToRestart(stamped,
- def_browser,
- res,
- def,
- &type))
- << _T("stamped: ") << stamped << _T(" ") << found1 << _T(" ") << killed1
- << _T(" default: ") << def_browser << _T(" ") << found2 << _T(" ")
- << killed2;
- } else {
- EXPECT_TRUE(GetBrowserToRestart(stamped,
- def_browser,
- res,
- def,
- &type))
- << _T("stamped: ") << stamped << _T(" ") << found1 << _T(" ") << killed1
- << _T(" default: ") << def_browser << _T(" ") << found2 << _T(" ")
- << killed2;
- }
- EXPECT_EQ(expected, type)
- << _T("stamped: ") << stamped << _T(" ") << found1 << _T(" ") << killed1
- << _T(" default: ") << def_browser << _T(" ") << found2 << _T(" ")
- << killed2;
-}
-
-// TerminateAllBrowsers is not tested with valid browser values because the
-// tests would terminate developers' browsers.
-
-TEST(GoopdateUtilsTest, GetBrowserToRestart_StampedUnknown) {
- ExpectAsserts expect_asserts;
- TestGetBrowserToRestart(BROWSER_UNKNOWN, false, false,
- BROWSER_IE, false, false,
- BROWSER_IE);
- TestGetBrowserToRestart(BROWSER_UNKNOWN, true, false,
- BROWSER_IE, false, false,
- BROWSER_IE);
-}
-
-TEST(GoopdateUtilsTest, GetBrowserToRestart_DefaultUnknown) {
- TestGetBrowserToRestart(BROWSER_IE, false, false,
- BROWSER_UNKNOWN, false, false,
- BROWSER_UNKNOWN);
-}
-
-TEST(GoopdateUtilsTest, GetBrowserToRestart_StampedAndDefaultUnknown) {
- ExpectAsserts expect_asserts;
- TestGetBrowserToRestart(BROWSER_UNKNOWN, false, false,
- BROWSER_UNKNOWN, false, false,
- BROWSER_UNKNOWN);
- TestGetBrowserToRestart(BROWSER_UNKNOWN, true, false,
- BROWSER_UNKNOWN, false, false,
- BROWSER_UNKNOWN);
-}
-
-TEST(GoopdateUtilsTest, GetBrowserToRestart_StampedDefault) {
- ExpectAsserts expect_asserts;
- TestGetBrowserToRestart(BROWSER_DEFAULT, false, false,
- BROWSER_IE, false, false,
- BROWSER_IE);
- TestGetBrowserToRestart(BROWSER_DEFAULT, true, false,
- BROWSER_IE, false, false,
- BROWSER_IE);
-}
-
-TEST(GoopdateUtilsTest, GetBrowserToRestart_DefaultDefault) {
- ExpectAsserts expect_asserts;
- TestGetBrowserToRestart(BROWSER_IE, false, false,
- BROWSER_DEFAULT, false, false,
- BROWSER_UNKNOWN);
-}
-
-TEST(GoopdateUtilsTest, GetBrowserToRestart_StampedAndDefaultDefault) {
- ExpectAsserts expect_asserts;
- TestGetBrowserToRestart(BROWSER_DEFAULT, false, false,
- BROWSER_DEFAULT, false, false,
- BROWSER_UNKNOWN);
- TestGetBrowserToRestart(BROWSER_DEFAULT, true, false,
- BROWSER_DEFAULT, false, false,
- BROWSER_UNKNOWN);
-}
-
-TEST(GoopdateUtilsTest, GetBrowserToRestart_StampedMax) {
- ExpectAsserts expect_asserts;
- TestGetBrowserToRestart(BROWSER_MAX, false, false,
- BROWSER_IE, false, false,
- BROWSER_IE);
- TestGetBrowserToRestart(BROWSER_MAX, true, false,
- BROWSER_IE, false, false,
- BROWSER_IE);
-}
-
-TEST(GoopdateUtilsTest, GetBrowserToRestart_DefaultMax) {
- ExpectAsserts expect_asserts;
- TestGetBrowserToRestart(BROWSER_IE, false, false,
- BROWSER_MAX, false, false,
- BROWSER_UNKNOWN);
-}
-
-TEST(GoopdateUtilsTest, GetBrowserToRestart_StampedAndDefaultMax) {
- ExpectAsserts expect_asserts;
- TestGetBrowserToRestart(BROWSER_MAX, false, false,
- BROWSER_MAX, false, false,
- BROWSER_UNKNOWN);
- TestGetBrowserToRestart(BROWSER_MAX, true, false,
- BROWSER_MAX, false, false,
- BROWSER_UNKNOWN);
-}
-
-TEST(GoopdateUtilsTest, GetBrowserToRestart_TypeIE_DefaultIE) {
- TestGetBrowserToRestart(BROWSER_IE, false, false,
- BROWSER_IE, false, false,
- BROWSER_IE);
- TestGetBrowserToRestart(BROWSER_IE, false, false,
- BROWSER_IE, false, true,
- BROWSER_IE);
- TestGetBrowserToRestart(BROWSER_IE, false, false,
- BROWSER_IE, true, false,
- BROWSER_IE);
- TestGetBrowserToRestart(BROWSER_IE, false, false,
- BROWSER_IE, true, true,
- BROWSER_IE);
- TestGetBrowserToRestart(BROWSER_IE, false, true,
- BROWSER_IE, false, false,
- BROWSER_IE);
- TestGetBrowserToRestart(BROWSER_IE, false, true,
- BROWSER_IE, false, true,
- BROWSER_IE);
- TestGetBrowserToRestart(BROWSER_IE, false, true,
- BROWSER_IE, true, false,
- BROWSER_IE);
- TestGetBrowserToRestart(BROWSER_IE, false, true,
- BROWSER_IE, true, true,
- BROWSER_IE);
- TestGetBrowserToRestart(BROWSER_IE, true, false,
- BROWSER_IE, false, false,
- BROWSER_IE);
- TestGetBrowserToRestart(BROWSER_IE, true, false,
- BROWSER_IE, false, true,
- BROWSER_IE);
- TestGetBrowserToRestart(BROWSER_IE, true, false,
- BROWSER_IE, true, false,
- BROWSER_IE);
- TestGetBrowserToRestart(BROWSER_IE, true, false,
- BROWSER_IE, true, true,
- BROWSER_IE);
- TestGetBrowserToRestart(BROWSER_IE, true, true,
- BROWSER_IE, false, false,
- BROWSER_IE);
- TestGetBrowserToRestart(BROWSER_IE, true, true,
- BROWSER_IE, false, true,
- BROWSER_IE);
- TestGetBrowserToRestart(BROWSER_IE, true, true,
- BROWSER_IE, true, false,
- BROWSER_IE);
- TestGetBrowserToRestart(BROWSER_IE, true, true,
- BROWSER_IE, true, true,
- BROWSER_IE);
-}
-
-TEST(GoopdateUtilsTest, GetBrowserToRestart_TypeIE_DefaultFirefox) {
- TestGetBrowserToRestart(BROWSER_IE, false, false,
- BROWSER_FIREFOX, false, false,
- BROWSER_FIREFOX);
- TestGetBrowserToRestart(BROWSER_IE, false, false,
- BROWSER_FIREFOX, false, true,
- BROWSER_FIREFOX);
- TestGetBrowserToRestart(BROWSER_IE, false, false,
- BROWSER_FIREFOX, true, false,
- BROWSER_UNKNOWN);
- TestGetBrowserToRestart(BROWSER_IE, false, false,
- BROWSER_FIREFOX, true, true,
- BROWSER_FIREFOX);
- TestGetBrowserToRestart(BROWSER_IE, false, true,
- BROWSER_FIREFOX, false, false,
- BROWSER_FIREFOX);
- TestGetBrowserToRestart(BROWSER_IE, false, true,
- BROWSER_FIREFOX, false, true,
- BROWSER_FIREFOX);
- TestGetBrowserToRestart(BROWSER_IE, false, true,
- BROWSER_FIREFOX, true, false,
- BROWSER_UNKNOWN);
- TestGetBrowserToRestart(BROWSER_IE, false, true,
- BROWSER_FIREFOX, true, true,
- BROWSER_FIREFOX);
- TestGetBrowserToRestart(BROWSER_IE, true, false,
- BROWSER_FIREFOX, false, false,
- BROWSER_IE);
- TestGetBrowserToRestart(BROWSER_IE, true, false,
- BROWSER_FIREFOX, false, true,
- BROWSER_IE);
- TestGetBrowserToRestart(BROWSER_IE, true, false,
- BROWSER_FIREFOX, true, false,
- BROWSER_IE);
- TestGetBrowserToRestart(BROWSER_IE, true, false,
- BROWSER_FIREFOX, true, true,
- BROWSER_IE);
- TestGetBrowserToRestart(BROWSER_IE, true, true,
- BROWSER_FIREFOX, false, false,
- BROWSER_IE);
- TestGetBrowserToRestart(BROWSER_IE, true, true,
- BROWSER_FIREFOX, false, true,
- BROWSER_IE);
- TestGetBrowserToRestart(BROWSER_IE, true, true,
- BROWSER_FIREFOX, true, false,
- BROWSER_IE);
- TestGetBrowserToRestart(BROWSER_IE, true, true,
- BROWSER_FIREFOX, true, true,
- BROWSER_IE);
-}
-
-TEST(GoopdateUtilsTest, GetBrowserToRestart_TypeIE_DefaultChrome) {
- TestGetBrowserToRestart(BROWSER_IE, false, false,
- BROWSER_CHROME, false, false,
- BROWSER_CHROME);
- TestGetBrowserToRestart(BROWSER_IE, false, false,
- BROWSER_CHROME, false, true,
- BROWSER_CHROME);
- TestGetBrowserToRestart(BROWSER_IE, false, false,
- BROWSER_CHROME, true, false,
- BROWSER_UNKNOWN);
- TestGetBrowserToRestart(BROWSER_IE, false, false,
- BROWSER_CHROME, true, true,
- BROWSER_CHROME);
- TestGetBrowserToRestart(BROWSER_IE, false, true,
- BROWSER_CHROME, false, false,
- BROWSER_CHROME);
- TestGetBrowserToRestart(BROWSER_IE, false, true,
- BROWSER_CHROME, false, true,
- BROWSER_CHROME);
- TestGetBrowserToRestart(BROWSER_IE, false, true,
- BROWSER_CHROME, true, false,
- BROWSER_UNKNOWN);
- TestGetBrowserToRestart(BROWSER_IE, false, true,
- BROWSER_CHROME, true, true,
- BROWSER_CHROME);
- TestGetBrowserToRestart(BROWSER_IE, true, false,
- BROWSER_CHROME, false, false,
- BROWSER_IE);
- TestGetBrowserToRestart(BROWSER_IE, true, false,
- BROWSER_CHROME, false, true,
- BROWSER_IE);
- TestGetBrowserToRestart(BROWSER_IE, true, false,
- BROWSER_CHROME, true, false,
- BROWSER_IE);
- TestGetBrowserToRestart(BROWSER_IE, true, false,
- BROWSER_CHROME, true, true,
- BROWSER_IE);
- TestGetBrowserToRestart(BROWSER_IE, true, true,
- BROWSER_CHROME, false, false,
- BROWSER_IE);
- TestGetBrowserToRestart(BROWSER_IE, true, true,
- BROWSER_CHROME, false, true,
- BROWSER_IE);
- TestGetBrowserToRestart(BROWSER_IE, true, true,
- BROWSER_CHROME, true, false,
- BROWSER_IE);
- TestGetBrowserToRestart(BROWSER_IE, true, true,
- BROWSER_CHROME, true, true,
- BROWSER_IE);
-}
-
-TEST(GoopdateUtilsTest, GetBrowserToRestart_TypeIE_DefaultUnknown) {
- TestGetBrowserToRestart(BROWSER_IE, false, false,
- BROWSER_UNKNOWN, false, false,
- BROWSER_UNKNOWN);
- TestGetBrowserToRestart(BROWSER_IE, false, false,
- BROWSER_UNKNOWN, false, true,
- BROWSER_UNKNOWN);
- TestGetBrowserToRestart(BROWSER_IE, false, false,
- BROWSER_UNKNOWN, true, false,
- BROWSER_UNKNOWN);
- TestGetBrowserToRestart(BROWSER_IE, false, false,
- BROWSER_UNKNOWN, true, true,
- BROWSER_UNKNOWN);
- TestGetBrowserToRestart(BROWSER_IE, false, true,
- BROWSER_UNKNOWN, false, false,
- BROWSER_UNKNOWN);
- TestGetBrowserToRestart(BROWSER_IE, false, true,
- BROWSER_UNKNOWN, false, true,
- BROWSER_UNKNOWN);
- TestGetBrowserToRestart(BROWSER_IE, false, true,
- BROWSER_UNKNOWN, true, false,
- BROWSER_UNKNOWN);
- TestGetBrowserToRestart(BROWSER_IE, false, true,
- BROWSER_UNKNOWN, true, true,
- BROWSER_UNKNOWN);
- TestGetBrowserToRestart(BROWSER_IE, true, false,
- BROWSER_UNKNOWN, false, false,
- BROWSER_IE);
- TestGetBrowserToRestart(BROWSER_IE, true, false,
- BROWSER_UNKNOWN, false, true,
- BROWSER_IE);
- TestGetBrowserToRestart(BROWSER_IE, true, false,
- BROWSER_UNKNOWN, true, false,
- BROWSER_IE);
- TestGetBrowserToRestart(BROWSER_IE, true, false,
- BROWSER_UNKNOWN, true, true,
- BROWSER_IE);
- TestGetBrowserToRestart(BROWSER_IE, true, true,
- BROWSER_UNKNOWN, false, false,
- BROWSER_IE);
- TestGetBrowserToRestart(BROWSER_IE, true, true,
- BROWSER_UNKNOWN, false, true,
- BROWSER_IE);
- TestGetBrowserToRestart(BROWSER_IE, true, true,
- BROWSER_UNKNOWN, true, false,
- BROWSER_IE);
- TestGetBrowserToRestart(BROWSER_IE, true, true,
- BROWSER_UNKNOWN, true, true,
- BROWSER_IE);
-}
-
-TEST(GoopdateUtilsTest, GetBrowserToRestart_TypeFirefox_DefaultIE) {
- TestGetBrowserToRestart(BROWSER_FIREFOX, false, false,
- BROWSER_IE, false, false,
- BROWSER_IE);
- TestGetBrowserToRestart(BROWSER_FIREFOX, false, false,
- BROWSER_IE, false, true,
- BROWSER_IE);
- TestGetBrowserToRestart(BROWSER_FIREFOX, false, false,
- BROWSER_IE, true, false,
- BROWSER_IE);
- TestGetBrowserToRestart(BROWSER_FIREFOX, false, false,
- BROWSER_IE, true, true,
- BROWSER_IE);
- TestGetBrowserToRestart(BROWSER_FIREFOX, false, true,
- BROWSER_IE, false, false,
- BROWSER_IE);
- TestGetBrowserToRestart(BROWSER_FIREFOX, false, true,
- BROWSER_IE, false, true,
- BROWSER_IE);
- TestGetBrowserToRestart(BROWSER_FIREFOX, false, true,
- BROWSER_IE, true, false,
- BROWSER_IE);
- TestGetBrowserToRestart(BROWSER_FIREFOX, false, true,
- BROWSER_IE, true, true,
- BROWSER_IE);
- TestGetBrowserToRestart(BROWSER_FIREFOX, true, false,
- BROWSER_IE, false, false,
- BROWSER_UNKNOWN);
- TestGetBrowserToRestart(BROWSER_FIREFOX, true, false,
- BROWSER_IE, false, true,
- BROWSER_UNKNOWN);
- TestGetBrowserToRestart(BROWSER_FIREFOX, true, false,
- BROWSER_IE, true, false,
- BROWSER_UNKNOWN);
- TestGetBrowserToRestart(BROWSER_FIREFOX, true, false,
- BROWSER_IE, true, true,
- BROWSER_UNKNOWN);
- TestGetBrowserToRestart(BROWSER_FIREFOX, true, true,
- BROWSER_IE, false, false,
- BROWSER_FIREFOX);
- TestGetBrowserToRestart(BROWSER_FIREFOX, true, true,
- BROWSER_IE, false, true,
- BROWSER_FIREFOX);
- TestGetBrowserToRestart(BROWSER_FIREFOX, true, true,
- BROWSER_IE, true, false,
- BROWSER_FIREFOX);
- TestGetBrowserToRestart(BROWSER_FIREFOX, true, true,
- BROWSER_IE, true, true,
- BROWSER_FIREFOX);
-}
-
-TEST(GoopdateUtilsTest, GetBrowserToRestart_TypeFirefox_DefaultFirefox) {
- TestGetBrowserToRestart(BROWSER_FIREFOX, false, false,
- BROWSER_FIREFOX, false, false,
- BROWSER_FIREFOX);
- TestGetBrowserToRestart(BROWSER_FIREFOX, false, false,
- BROWSER_FIREFOX, false, true,
- BROWSER_FIREFOX);
- TestGetBrowserToRestart(BROWSER_FIREFOX, false, false,
- BROWSER_FIREFOX, true, false,
- BROWSER_UNKNOWN);
- TestGetBrowserToRestart(BROWSER_FIREFOX, false, false,
- BROWSER_FIREFOX, true, true,
- BROWSER_FIREFOX);
- TestGetBrowserToRestart(BROWSER_FIREFOX, false, true,
- BROWSER_FIREFOX, false, false,
- BROWSER_FIREFOX);
- TestGetBrowserToRestart(BROWSER_FIREFOX, false, true,
- BROWSER_FIREFOX, false, true,
- BROWSER_FIREFOX);
- TestGetBrowserToRestart(BROWSER_FIREFOX, false, true,
- BROWSER_FIREFOX, true, false,
- BROWSER_UNKNOWN);
- TestGetBrowserToRestart(BROWSER_FIREFOX, false, true,
- BROWSER_FIREFOX, true, true,
- BROWSER_FIREFOX);
- TestGetBrowserToRestart(BROWSER_FIREFOX, true, false,
- BROWSER_FIREFOX, false, false,
- BROWSER_UNKNOWN);
- TestGetBrowserToRestart(BROWSER_FIREFOX, true, false,
- BROWSER_FIREFOX, false, true,
- BROWSER_UNKNOWN);
- TestGetBrowserToRestart(BROWSER_FIREFOX, true, false,
- BROWSER_FIREFOX, true, false,
- BROWSER_UNKNOWN);
- TestGetBrowserToRestart(BROWSER_FIREFOX, true, false,
- BROWSER_FIREFOX, true, true,
- BROWSER_UNKNOWN);
- TestGetBrowserToRestart(BROWSER_FIREFOX, true, true,
- BROWSER_FIREFOX, false, false,
- BROWSER_FIREFOX);
- TestGetBrowserToRestart(BROWSER_FIREFOX, true, true,
- BROWSER_FIREFOX, false, true,
- BROWSER_FIREFOX);
- TestGetBrowserToRestart(BROWSER_FIREFOX, true, true,
- BROWSER_FIREFOX, true, false,
- BROWSER_FIREFOX);
- TestGetBrowserToRestart(BROWSER_FIREFOX, true, true,
- BROWSER_FIREFOX, true, true,
- BROWSER_FIREFOX);
-}
-
-TEST(GoopdateUtilsTest, GetBrowserToRestart_TypeFirefox_DefaultChrome) {
- TestGetBrowserToRestart(BROWSER_FIREFOX, false, false,
- BROWSER_CHROME, false, false,
- BROWSER_CHROME);
- TestGetBrowserToRestart(BROWSER_FIREFOX, false, false,
- BROWSER_CHROME, false, true,
- BROWSER_CHROME);
- TestGetBrowserToRestart(BROWSER_FIREFOX, false, false,
- BROWSER_CHROME, true, false,
- BROWSER_UNKNOWN);
- TestGetBrowserToRestart(BROWSER_FIREFOX, false, false,
- BROWSER_CHROME, true, true,
- BROWSER_CHROME);
- TestGetBrowserToRestart(BROWSER_FIREFOX, false, true,
- BROWSER_CHROME, false, false,
- BROWSER_CHROME);
- TestGetBrowserToRestart(BROWSER_FIREFOX, false, true,
- BROWSER_CHROME, false, true,
- BROWSER_CHROME);
- TestGetBrowserToRestart(BROWSER_FIREFOX, false, true,
- BROWSER_CHROME, true, false,
- BROWSER_UNKNOWN);
- TestGetBrowserToRestart(BROWSER_FIREFOX, false, true,
- BROWSER_CHROME, true, true,
- BROWSER_CHROME);
- TestGetBrowserToRestart(BROWSER_FIREFOX, true, false,
- BROWSER_CHROME, false, false,
- BROWSER_UNKNOWN);
- TestGetBrowserToRestart(BROWSER_FIREFOX, true, false,
- BROWSER_CHROME, false, true,
- BROWSER_UNKNOWN);
- TestGetBrowserToRestart(BROWSER_FIREFOX, true, false,
- BROWSER_CHROME, true, false,
- BROWSER_UNKNOWN);
- TestGetBrowserToRestart(BROWSER_FIREFOX, true, false,
- BROWSER_CHROME, true, true,
- BROWSER_UNKNOWN);
- TestGetBrowserToRestart(BROWSER_FIREFOX, true, true,
- BROWSER_CHROME, false, false,
- BROWSER_FIREFOX);
- TestGetBrowserToRestart(BROWSER_FIREFOX, true, true,
- BROWSER_CHROME, false, true,
- BROWSER_FIREFOX);
- TestGetBrowserToRestart(BROWSER_FIREFOX, true, true,
- BROWSER_CHROME, true, false,
- BROWSER_FIREFOX);
- TestGetBrowserToRestart(BROWSER_FIREFOX, true, true,
- BROWSER_CHROME, true, true,
- BROWSER_FIREFOX);
-}
-
-TEST(GoopdateUtilsTest, GetBrowserToRestart_TypeFirefox_DefaultUnknown) {
- TestGetBrowserToRestart(BROWSER_FIREFOX, false, false,
- BROWSER_UNKNOWN, false, false,
- BROWSER_UNKNOWN);
- TestGetBrowserToRestart(BROWSER_FIREFOX, false, false,
- BROWSER_UNKNOWN, false, true,
- BROWSER_UNKNOWN);
- TestGetBrowserToRestart(BROWSER_FIREFOX, false, false,
- BROWSER_UNKNOWN, true, false,
- BROWSER_UNKNOWN);
- TestGetBrowserToRestart(BROWSER_FIREFOX, false, false,
- BROWSER_UNKNOWN, true, true,
- BROWSER_UNKNOWN);
- TestGetBrowserToRestart(BROWSER_FIREFOX, false, true,
- BROWSER_UNKNOWN, false, false,
- BROWSER_UNKNOWN);
- TestGetBrowserToRestart(BROWSER_FIREFOX, false, true,
- BROWSER_UNKNOWN, false, true,
- BROWSER_UNKNOWN);
- TestGetBrowserToRestart(BROWSER_FIREFOX, false, true,
- BROWSER_UNKNOWN, true, false,
- BROWSER_UNKNOWN);
- TestGetBrowserToRestart(BROWSER_FIREFOX, false, true,
- BROWSER_UNKNOWN, true, true,
- BROWSER_UNKNOWN);
- TestGetBrowserToRestart(BROWSER_FIREFOX, true, false,
- BROWSER_UNKNOWN, false, false,
- BROWSER_UNKNOWN);
- TestGetBrowserToRestart(BROWSER_FIREFOX, true, false,
- BROWSER_UNKNOWN, false, true,
- BROWSER_UNKNOWN);
- TestGetBrowserToRestart(BROWSER_FIREFOX, true, false,
- BROWSER_UNKNOWN, true, false,
- BROWSER_UNKNOWN);
- TestGetBrowserToRestart(BROWSER_FIREFOX, true, false,
- BROWSER_UNKNOWN, true, true,
- BROWSER_UNKNOWN);
- TestGetBrowserToRestart(BROWSER_FIREFOX, true, true,
- BROWSER_UNKNOWN, false, false,
- BROWSER_FIREFOX);
- TestGetBrowserToRestart(BROWSER_FIREFOX, true, true,
- BROWSER_UNKNOWN, false, true,
- BROWSER_FIREFOX);
- TestGetBrowserToRestart(BROWSER_FIREFOX, true, true,
- BROWSER_UNKNOWN, true, false,
- BROWSER_FIREFOX);
- TestGetBrowserToRestart(BROWSER_FIREFOX, true, true,
- BROWSER_UNKNOWN, true, true,
- BROWSER_FIREFOX);
-}
-
-TEST(GoopdateUtilsTest, GetBrowserToRestart_TypeChrome_DefaultIE) {
- TestGetBrowserToRestart(BROWSER_CHROME, false, false,
- BROWSER_IE, false, false,
- BROWSER_IE);
- TestGetBrowserToRestart(BROWSER_CHROME, false, false,
- BROWSER_IE, false, true,
- BROWSER_IE);
- TestGetBrowserToRestart(BROWSER_CHROME, false, false,
- BROWSER_IE, true, false,
- BROWSER_IE);
- TestGetBrowserToRestart(BROWSER_CHROME, false, false,
- BROWSER_IE, true, true,
- BROWSER_IE);
- TestGetBrowserToRestart(BROWSER_CHROME, false, true,
- BROWSER_IE, false, false,
- BROWSER_IE);
- TestGetBrowserToRestart(BROWSER_CHROME, false, true,
- BROWSER_IE, false, true,
- BROWSER_IE);
- TestGetBrowserToRestart(BROWSER_CHROME, false, true,
- BROWSER_IE, true, false,
- BROWSER_IE);
- TestGetBrowserToRestart(BROWSER_CHROME, false, true,
- BROWSER_IE, true, true,
- BROWSER_IE);
- TestGetBrowserToRestart(BROWSER_CHROME, true, false,
- BROWSER_IE, false, false,
- BROWSER_UNKNOWN);
- TestGetBrowserToRestart(BROWSER_CHROME, true, false,
- BROWSER_IE, false, true,
- BROWSER_UNKNOWN);
- TestGetBrowserToRestart(BROWSER_CHROME, true, false,
- BROWSER_IE, true, false,
- BROWSER_UNKNOWN);
- TestGetBrowserToRestart(BROWSER_CHROME, true, false,
- BROWSER_IE, true, true,
- BROWSER_UNKNOWN);
- TestGetBrowserToRestart(BROWSER_CHROME, true, true,
- BROWSER_IE, false, false,
- BROWSER_CHROME);
- TestGetBrowserToRestart(BROWSER_CHROME, true, true,
- BROWSER_IE, false, true,
- BROWSER_CHROME);
- TestGetBrowserToRestart(BROWSER_CHROME, true, true,
- BROWSER_IE, true, false,
- BROWSER_CHROME);
- TestGetBrowserToRestart(BROWSER_CHROME, true, true,
- BROWSER_IE, true, true,
- BROWSER_CHROME);
-}
-
-TEST(GoopdateUtilsTest, GetBrowserToRestart_TypeChrome_DefaultFirefox) {
- TestGetBrowserToRestart(BROWSER_CHROME, false, false,
- BROWSER_FIREFOX, false, false,
- BROWSER_FIREFOX);
- TestGetBrowserToRestart(BROWSER_CHROME, false, false,
- BROWSER_FIREFOX, false, true,
- BROWSER_FIREFOX);
- TestGetBrowserToRestart(BROWSER_CHROME, false, false,
- BROWSER_FIREFOX, true, false,
- BROWSER_UNKNOWN);
- TestGetBrowserToRestart(BROWSER_CHROME, false, false,
- BROWSER_FIREFOX, true, true,
- BROWSER_FIREFOX);
- TestGetBrowserToRestart(BROWSER_CHROME, false, true,
- BROWSER_FIREFOX, false, false,
- BROWSER_FIREFOX);
- TestGetBrowserToRestart(BROWSER_CHROME, false, true,
- BROWSER_FIREFOX, false, true,
- BROWSER_FIREFOX);
- TestGetBrowserToRestart(BROWSER_CHROME, false, true,
- BROWSER_FIREFOX, true, false,
- BROWSER_UNKNOWN);
- TestGetBrowserToRestart(BROWSER_CHROME, false, true,
- BROWSER_FIREFOX, true, true,
- BROWSER_FIREFOX);
- TestGetBrowserToRestart(BROWSER_CHROME, true, false,
- BROWSER_FIREFOX, false, false,
- BROWSER_UNKNOWN);
- TestGetBrowserToRestart(BROWSER_CHROME, true, false,
- BROWSER_FIREFOX, false, true,
- BROWSER_UNKNOWN);
- TestGetBrowserToRestart(BROWSER_CHROME, true, false,
- BROWSER_FIREFOX, true, false,
- BROWSER_UNKNOWN);
- TestGetBrowserToRestart(BROWSER_CHROME, true, false,
- BROWSER_FIREFOX, true, true,
- BROWSER_UNKNOWN);
- TestGetBrowserToRestart(BROWSER_CHROME, true, true,
- BROWSER_FIREFOX, false, false,
- BROWSER_CHROME);
- TestGetBrowserToRestart(BROWSER_CHROME, true, true,
- BROWSER_FIREFOX, false, true,
- BROWSER_CHROME);
- TestGetBrowserToRestart(BROWSER_CHROME, true, true,
- BROWSER_FIREFOX, true, false,
- BROWSER_CHROME);
- TestGetBrowserToRestart(BROWSER_CHROME, true, true,
- BROWSER_FIREFOX, true, true,
- BROWSER_CHROME);
-}
-
-TEST(GoopdateUtilsTest, GetBrowserToRestart_TypeChrome_DefaultChrome) {
- TestGetBrowserToRestart(BROWSER_CHROME, false, false,
- BROWSER_CHROME, false, false,
- BROWSER_CHROME);
- TestGetBrowserToRestart(BROWSER_CHROME, false, false,
- BROWSER_CHROME, false, true,
- BROWSER_CHROME);
- TestGetBrowserToRestart(BROWSER_CHROME, false, false,
- BROWSER_CHROME, true, false,
- BROWSER_UNKNOWN);
- TestGetBrowserToRestart(BROWSER_CHROME, false, false,
- BROWSER_CHROME, true, true,
- BROWSER_CHROME);
- TestGetBrowserToRestart(BROWSER_CHROME, false, true,
- BROWSER_CHROME, false, false,
- BROWSER_CHROME);
- TestGetBrowserToRestart(BROWSER_CHROME, false, true,
- BROWSER_CHROME, false, true,
- BROWSER_CHROME);
- TestGetBrowserToRestart(BROWSER_CHROME, false, true,
- BROWSER_CHROME, true, false,
- BROWSER_UNKNOWN);
- TestGetBrowserToRestart(BROWSER_CHROME, false, true,
- BROWSER_CHROME, true, true,
- BROWSER_CHROME);
- TestGetBrowserToRestart(BROWSER_CHROME, true, false,
- BROWSER_CHROME, false, false,
- BROWSER_UNKNOWN);
- TestGetBrowserToRestart(BROWSER_CHROME, true, false,
- BROWSER_CHROME, false, true,
- BROWSER_UNKNOWN);
- TestGetBrowserToRestart(BROWSER_CHROME, true, false,
- BROWSER_CHROME, true, false,
- BROWSER_UNKNOWN);
- TestGetBrowserToRestart(BROWSER_CHROME, true, false,
- BROWSER_CHROME, true, true,
- BROWSER_UNKNOWN);
- TestGetBrowserToRestart(BROWSER_CHROME, true, true,
- BROWSER_CHROME, false, false,
- BROWSER_CHROME);
- TestGetBrowserToRestart(BROWSER_CHROME, true, true,
- BROWSER_CHROME, false, true,
- BROWSER_CHROME);
- TestGetBrowserToRestart(BROWSER_CHROME, true, true,
- BROWSER_CHROME, true, false,
- BROWSER_CHROME);
- TestGetBrowserToRestart(BROWSER_CHROME, true, true,
- BROWSER_CHROME, true, true,
- BROWSER_CHROME);
-}
-
-TEST(GoopdateUtilsTest, GetBrowserToRestart_TypeChrome_DefaultUnknown) {
- TestGetBrowserToRestart(BROWSER_CHROME, false, false,
- BROWSER_UNKNOWN, false, false,
- BROWSER_UNKNOWN);
- TestGetBrowserToRestart(BROWSER_CHROME, false, false,
- BROWSER_UNKNOWN, false, true,
- BROWSER_UNKNOWN);
- TestGetBrowserToRestart(BROWSER_CHROME, false, false,
- BROWSER_UNKNOWN, true, false,
- BROWSER_UNKNOWN);
- TestGetBrowserToRestart(BROWSER_CHROME, false, false,
- BROWSER_UNKNOWN, true, true,
- BROWSER_UNKNOWN);
- TestGetBrowserToRestart(BROWSER_CHROME, false, true,
- BROWSER_UNKNOWN, false, false,
- BROWSER_UNKNOWN);
- TestGetBrowserToRestart(BROWSER_CHROME, false, true,
- BROWSER_UNKNOWN, false, true,
- BROWSER_UNKNOWN);
- TestGetBrowserToRestart(BROWSER_CHROME, false, true,
- BROWSER_UNKNOWN, true, false,
- BROWSER_UNKNOWN);
- TestGetBrowserToRestart(BROWSER_CHROME, false, true,
- BROWSER_UNKNOWN, true, true,
- BROWSER_UNKNOWN);
- TestGetBrowserToRestart(BROWSER_CHROME, true, false,
- BROWSER_UNKNOWN, false, false,
- BROWSER_UNKNOWN);
- TestGetBrowserToRestart(BROWSER_CHROME, true, false,
- BROWSER_UNKNOWN, false, true,
- BROWSER_UNKNOWN);
- TestGetBrowserToRestart(BROWSER_CHROME, true, false,
- BROWSER_UNKNOWN, true, false,
- BROWSER_UNKNOWN);
- TestGetBrowserToRestart(BROWSER_CHROME, true, false,
- BROWSER_UNKNOWN, true, true,
- BROWSER_UNKNOWN);
- TestGetBrowserToRestart(BROWSER_CHROME, true, true,
- BROWSER_UNKNOWN, false, false,
- BROWSER_CHROME);
- TestGetBrowserToRestart(BROWSER_CHROME, true, true,
- BROWSER_UNKNOWN, false, true,
- BROWSER_CHROME);
- TestGetBrowserToRestart(BROWSER_CHROME, true, true,
- BROWSER_UNKNOWN, true, false,
- BROWSER_CHROME);
- TestGetBrowserToRestart(BROWSER_CHROME, true, true,
- BROWSER_UNKNOWN, true, true,
- BROWSER_CHROME);
-}
-
-TEST(GoopdateUtilsTest, ConvertStringToBrowserType) {
- BrowserType type = BROWSER_UNKNOWN;
- ASSERT_SUCCEEDED(ConvertStringToBrowserType(_T("0"), &type));
- ASSERT_EQ(BROWSER_UNKNOWN, type);
-
- ASSERT_SUCCEEDED(ConvertStringToBrowserType(_T("1"), &type));
- ASSERT_EQ(BROWSER_DEFAULT, type);
-
- ASSERT_SUCCEEDED(ConvertStringToBrowserType(_T("2"), &type));
- ASSERT_EQ(BROWSER_IE, type);
-
- ASSERT_SUCCEEDED(ConvertStringToBrowserType(_T("3"), &type));
- ASSERT_EQ(BROWSER_FIREFOX, type);
-
- ASSERT_SUCCEEDED(ConvertStringToBrowserType(_T("4"), &type));
- ASSERT_EQ(BROWSER_CHROME, type);
-
- ASSERT_FAILED(ConvertStringToBrowserType(_T("5"), &type));
- ASSERT_FAILED(ConvertStringToBrowserType(_T("asdf"), &type));
- ASSERT_FAILED(ConvertStringToBrowserType(_T("234"), &type));
- ASSERT_FAILED(ConvertStringToBrowserType(_T("-1"), &type));
-}
-
-TEST(GoopdateUtilsTest, RedirectHKCRTest) {
- RegKey key;
- Cleanup();
-
- if (vista_util::IsUserAdmin()) {
- // Only run this part of the test for Admins, because non-admins cannot
- // write to HKLM.
-
- // Without redirection, a HKCR write should write HKLM\Software\Classes,
- // assuming that the key does not already exist in HKCU.
- ASSERT_SUCCEEDED(key.Create(hkcr_key_name));
- ASSERT_TRUE(RegKey::HasKey(hklm_key_name));
- ASSERT_FALSE(RegKey::HasKey(hkcu_key_name));
-
- Cleanup();
-
- ASSERT_SUCCEEDED(RedirectHKCR(true));
-
- // With HKLM redirection, a HKCR write should write HKLM\Software\Classes.
- ASSERT_SUCCEEDED(key.Create(hkcr_key_name));
- ASSERT_TRUE(RegKey::HasKey(hklm_key_name));
- ASSERT_FALSE(RegKey::HasKey(hkcu_key_name));
-
- Cleanup();
- } else {
- std::wcout << _T("\tPart of this test did not run because the user ")
- _T("is not an admin.") << std::endl;
- }
-
- ASSERT_SUCCEEDED(RedirectHKCR(false));
-
- // With HKCU redirection, a HKCR write should write HKCU\Software\Classes.
- ASSERT_SUCCEEDED(key.Create(hkcr_key_name));
- ASSERT_FALSE(RegKey::HasKey(hklm_key_name));
- ASSERT_TRUE(RegKey::HasKey(hkcu_key_name));
-
- ASSERT_SUCCEEDED(RemoveRedirectHKCR());
-
- if (vista_util::IsUserAdmin()) {
- // Without redirection, the following HKCR writes should write
- // HKCU\Software\Classes.
- // This is because the key already exists in HKCU from the writes above.
- ASSERT_SUCCEEDED(key.Create(hkcr_key_name));
- ASSERT_EQ(user_info::IsRunningAsSystem(), RegKey::HasKey(hklm_key_name));
- ASSERT_TRUE(RegKey::HasKey(hkcu_key_name));
- } else {
- std::wcout << _T("\tPart of this test did not run because the user ")
- _T("is not an admin.") << std::endl;
- }
-
- Cleanup();
-}
-
-TEST(GoopdateUtilsTest, GetOSInfo) {
- CString os_version;
- CString service_pack;
- EXPECT_SUCCEEDED(GetOSInfo(&os_version, &service_pack));
- EXPECT_TRUE(!os_version.IsEmpty());
-}
-
-class GoopdateUtilsRegistryProtectedTest : public testing::Test {
- protected:
- GoopdateUtilsRegistryProtectedTest()
- : hive_override_key_name_(kRegistryHiveOverrideRoot) {
- }
-
- CString hive_override_key_name_;
-
- virtual void SetUp() {
- RegKey::DeleteKey(hive_override_key_name_, true);
- OverrideRegistryHives(hive_override_key_name_);
- }
-
- virtual void TearDown() {
- RestoreRegistryHives();
- ASSERT_SUCCEEDED(RegKey::DeleteKey(hive_override_key_name_, true));
- }
-};
-
-class GoopdateUtilsRegistryProtectedBooleanTest
- : public ::testing::TestWithParam<bool> {
- protected:
- GoopdateUtilsRegistryProtectedBooleanTest()
- : hive_override_key_name_(kRegistryHiveOverrideRoot) {
- }
-
- CString hive_override_key_name_;
-
- virtual void SetUp() {
- RegKey::DeleteKey(hive_override_key_name_, true);
- OverrideRegistryHives(hive_override_key_name_);
- }
-
- virtual void TearDown() {
- RestoreRegistryHives();
- ASSERT_SUCCEEDED(RegKey::DeleteKey(hive_override_key_name_, true));
- }
-};
-
-// Some methods used by goopdate_utils rely on registry entries that are
-// overridden in the registry, so we need to write it.
-class GoopdateUtilsRegistryProtectedWithMachineFolderPathsTest
- : public GoopdateUtilsRegistryProtectedTest {
- protected:
- virtual void SetUp() {
- // The tests start GoogleUpdate processes running as user and these
- // processes need the following registry value.
- ASSERT_SUCCEEDED(RegKey::SetValue(USER_REG_UPDATE,
- kRegValueInstalledVersion,
- GetVersionString()));
-
- GoopdateUtilsRegistryProtectedTest::SetUp();
-
- // Creates a registry value for the Windows shell functions to work when
- // the registry hives are redirected.
- const TCHAR kWindowsCurrentVersionKeyPath[] =
- _T("HKLM\\Software\\Microsoft\\Windows\\CurrentVersion");
- const TCHAR kProgramFilesDirValueName[] = _T("ProgramFilesDir");
- const TCHAR kProgramFilesPath[] = _T("C:\\Program Files");
- ASSERT_SUCCEEDED(RegKey::SetValue(kWindowsCurrentVersionKeyPath,
- kProgramFilesDirValueName,
- kProgramFilesPath));
- }
-};
-
-// Some methods used by goopdate_utils rely on registry entries that are
-// overridden in the registry, so we need to write it.
-class GoopdateUtilsRegistryProtectedWithUserFolderPathsTest
- : public GoopdateUtilsRegistryProtectedTest {
- protected:
- virtual void SetUp() {
- const TCHAR kUserShellKeyPath[] =
- _T("HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\")
- _T("User Shell Folders");
- const TCHAR kLocalAppDataValueDirName[] = _T("Local AppData");
- const TCHAR kLocalAppDataPath[] =
- _T("%USERPROFILE%\\Local Settings\\Application Data");
-
- GoopdateUtilsRegistryProtectedTest::SetUp();
- ASSERT_SUCCEEDED(RegKey::SetValueExpandSZ(kUserShellKeyPath,
- kLocalAppDataValueDirName,
- kLocalAppDataPath));
- }
-};
-
-class VersionProtectedTest : public RegistryProtectedTest {
- protected:
- VersionProtectedTest()
- : RegistryProtectedTest(),
- module_version_(GetVersion()) {
- }
-
- virtual void SetUp() {
- RegistryProtectedTest::SetUp();
- InitializeVersion(kFakeVersion);
- }
-
- virtual void TearDown() {
- InitializeVersion(module_version_);
- RegistryProtectedTest::TearDown();
- }
-
- const ULONGLONG module_version_;
- static const ULONGLONG kFakeVersion = 0x0005000600070008;
-};
-
-// pv should be ignored.
-TEST_F(GoopdateUtilsRegistryProtectedWithMachineFolderPathsTest,
- BuildGoogleUpdateExePath_MachineVersionFound) {
- ASSERT_SUCCEEDED(RegKey::SetValue(MACHINE_REG_CLIENTS_GOOPDATE,
- _T("pv"),
- _T("1.2.3.4")));
-
- CString path = BuildGoogleUpdateExePath(true);
- CString program_files_path;
- EXPECT_SUCCEEDED(GetFolderPath(CSIDL_PROGRAM_FILES, &program_files_path));
- EXPECT_STREQ(program_files_path + _T("\\") + SHORT_COMPANY_NAME +
- _T("\\") + PRODUCT_NAME + _T("\\GoogleUpdate.exe"),
- path);
-}
-
-TEST_F(GoopdateUtilsRegistryProtectedWithMachineFolderPathsTest,
- BuildGoogleUpdateExePath_MachineVersionNotFound) {
- // Test when the key doesn't exist.
- CString path = BuildGoogleUpdateExePath(true);
- CString program_files_path;
- EXPECT_SUCCEEDED(GetFolderPath(CSIDL_PROGRAM_FILES, &program_files_path));
- EXPECT_STREQ(program_files_path + _T("\\") + SHORT_COMPANY_NAME +
- _T("\\") + PRODUCT_NAME + _T("\\GoogleUpdate.exe"),
- path);
-
- // Test when the key exists but the value doesn't.
- ASSERT_SUCCEEDED(RegKey::CreateKey(MACHINE_REG_CLIENTS_GOOPDATE));
- path = BuildGoogleUpdateExePath(true);
- EXPECT_STREQ(program_files_path + _T("\\") + SHORT_COMPANY_NAME +
- _T("\\") + PRODUCT_NAME + _T("\\GoogleUpdate.exe"),
- path);
-}
-
-// pv should be ignored.
-TEST_F(GoopdateUtilsRegistryProtectedWithUserFolderPathsTest,
- BuildGoogleUpdateExePath_UserVersionFound) {
- ASSERT_SUCCEEDED(RegKey::SetValue(USER_REG_CLIENTS_GOOPDATE,
- _T("pv"),
- _T("1.2.3.4")));
-
- CString path = BuildGoogleUpdateExePath(false);
-
- CString user_appdata;
- EXPECT_SUCCEEDED(GetFolderPath(CSIDL_LOCAL_APPDATA, &user_appdata));
- CString expected_path;
- expected_path.Format(_T("%s\\") SHORT_COMPANY_NAME _T("\\")
- PRODUCT_NAME _T("\\GoogleUpdate.exe"),
- user_appdata);
- EXPECT_STREQ(expected_path, path);
-}
-
-TEST_F(GoopdateUtilsRegistryProtectedWithUserFolderPathsTest,
- BuildGoogleUpdateExePath_UserVersionNotFound) {
- CString user_appdata;
- EXPECT_SUCCEEDED(GetFolderPath(CSIDL_LOCAL_APPDATA, &user_appdata));
- CString expected_path;
- expected_path.Format(_T("%s\\") SHORT_COMPANY_NAME _T("\\")
- PRODUCT_NAME _T("\\GoogleUpdate.exe"),
- user_appdata);
-
- // Test when the key doesn't exist.
- CString path = BuildGoogleUpdateExePath(false);
- EXPECT_STREQ(expected_path, path);
-
- // Test when the key exists but the value doesn't.
- ASSERT_SUCCEEDED(RegKey::CreateKey(USER_REG_CLIENTS_GOOPDATE));
- path = BuildGoogleUpdateExePath(false);
- EXPECT_STREQ(expected_path, path);
-}
-
-// The version is no longer used by StartGoogleUpdateWithArgs, so the return
-// value depends on whether program_files\Google\Update\GoogleUpdate.exe exists.
-// The arguments must be valid to avoid displaying invalid command line error.
-TEST_F(GoopdateUtilsRegistryProtectedWithMachineFolderPathsTest,
- StartGoogleUpdateWithArgs_MachineVersionVersionDoesNotExist) {
- ASSERT_SUCCEEDED(RegKey::SetValue(MACHINE_REG_CLIENTS_GOOPDATE,
- _T("pv"),
- _T("1.2.3.4")));
- const TCHAR* kArgs = _T("/cr");
- HRESULT hr = StartGoogleUpdateWithArgs(true, kArgs, NULL);
- EXPECT_TRUE(S_OK == hr || HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND) == hr);
-}
-
-// The version is no longer used by StartGoogleUpdateWithArgs, so the return
-// value depends on whether <user_folder>\Google\Update\GoogleUpdate.exe exists.
-// The arguments must be valid to avoid displaying invalid command line error.
-TEST_F(GoopdateUtilsRegistryProtectedWithUserFolderPathsTest,
- StartGoogleUpdateWithArgs_UserVersionVersionDoesNotExist) {
- ASSERT_SUCCEEDED(RegKey::SetValue(USER_REG_CLIENTS_GOOPDATE,
- _T("pv"),
- _T("1.2.3.4")));
- const TCHAR* kArgs = _T("/cr");
- HRESULT hr = StartGoogleUpdateWithArgs(false, kArgs, NULL);
- EXPECT_TRUE(S_OK == hr || HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND) == hr);
-}
-
-TEST(GoopdateUtilsTest, BuildInstallDirectory_Machine) {
- const CPath dir = BuildInstallDirectory(true, _T("1.2.3.0"));
- CString program_files_path;
- EXPECT_SUCCEEDED(GetFolderPath(CSIDL_PROGRAM_FILES, &program_files_path));
- EXPECT_STREQ(program_files_path + _T("\\") + SHORT_COMPANY_NAME +
- _T("\\") + PRODUCT_NAME + _T("\\1.2.3.0"), dir);
-}
-
-TEST(GoopdateUtilsTest, BuildInstallDirectory_User) {
- CPath expected_path(GetGoogleUpdateUserPath());
- expected_path.Append(_T("4.5.6.7"));
- EXPECT_STREQ(expected_path,
- BuildInstallDirectory(false, _T("4.5.6.7")));
-}
-
-TEST(GoopdateUtilsTest, ConvertBrowserTypeToString) {
- for (int i = 0; i < BROWSER_MAX; ++i) {
- CString str_type = ConvertBrowserTypeToString(
- static_cast<BrowserType>(i));
- BrowserType type = BROWSER_UNKNOWN;
- ASSERT_HRESULT_SUCCEEDED(
- ConvertStringToBrowserType(str_type, &type));
- ASSERT_EQ(static_cast<int>(type), i);
- }
-}
-
-TEST(GoopdateUtilsTest, UniqueEventInEnvironment_User) {
- const TCHAR* kEnvVarName = _T("SOME_ENV_VAR_FOR_TEST");
- scoped_event created_event;
- scoped_event opened_event;
-
- ASSERT_HRESULT_SUCCEEDED(CreateUniqueEventInEnvironment(
- kEnvVarName,
- false,
- address(created_event)));
- ASSERT_TRUE(created_event);
- EXPECT_EQ(WAIT_TIMEOUT, ::WaitForSingleObject(get(created_event), 0));
-
- TCHAR event_name[MAX_PATH] = {0};
- EXPECT_TRUE(
- ::GetEnvironmentVariable(kEnvVarName, event_name, arraysize(event_name)));
-
- ASSERT_HRESULT_SUCCEEDED(OpenUniqueEventFromEnvironment(
- kEnvVarName,
- false,
- address(opened_event)));
- ASSERT_TRUE(opened_event);
-
- EXPECT_TRUE(::SetEvent(get(opened_event)));
- EXPECT_EQ(WAIT_OBJECT_0, ::WaitForSingleObject(get(created_event), 0));
-
- EXPECT_TRUE(::SetEnvironmentVariable(kEnvVarName, NULL));
-}
-
-TEST(GoopdateUtilsTest, UniqueEventInEnvironment_Machine) {
- const TCHAR* kEnvVarName = _T("OTHER_ENV_VAR_FOR_TEST");
- scoped_event created_event;
- scoped_event opened_event;
- TCHAR event_name[MAX_PATH] = {0};
-
- if (!vista_util::IsUserAdmin()) {
- EXPECT_EQ(HRESULT_FROM_WIN32(ERROR_INVALID_OWNER),
- CreateUniqueEventInEnvironment(kEnvVarName,
- true,
- address(created_event)));
- EXPECT_FALSE(created_event);
-
- EXPECT_FALSE(::GetEnvironmentVariable(kEnvVarName,
- event_name,
- arraysize(event_name)));
- return;
- }
-
- ASSERT_HRESULT_SUCCEEDED(CreateUniqueEventInEnvironment(
- kEnvVarName,
- true,
- address(created_event)));
- ASSERT_TRUE(created_event);
- EXPECT_EQ(WAIT_TIMEOUT, ::WaitForSingleObject(get(created_event), 0));
-
- EXPECT_TRUE(
- ::GetEnvironmentVariable(kEnvVarName, event_name, arraysize(event_name)));
-
- ASSERT_HRESULT_SUCCEEDED(OpenUniqueEventFromEnvironment(
- kEnvVarName,
- true,
- address(opened_event)));
- ASSERT_TRUE(opened_event);
-
- EXPECT_TRUE(::SetEvent(get(opened_event)));
- EXPECT_EQ(WAIT_OBJECT_0, ::WaitForSingleObject(get(created_event), 0));
-
- EXPECT_TRUE(::SetEnvironmentVariable(kEnvVarName, NULL));
-}
-
-TEST(GoopdateUtilsTest, UniqueEventInEnvironment_UserMachineMismatch) {
- const TCHAR* kEnvVarName = _T("ENV_VAR_FOR_MIXED_TEST");
- scoped_event created_event;
- scoped_event opened_event;
-
- ASSERT_HRESULT_SUCCEEDED(CreateUniqueEventInEnvironment(
- kEnvVarName,
- false,
- address(created_event)));
- ASSERT_TRUE(created_event);
- EXPECT_EQ(WAIT_TIMEOUT, ::WaitForSingleObject(get(created_event), 0));
-
- TCHAR event_name[MAX_PATH] = {0};
- EXPECT_TRUE(
- ::GetEnvironmentVariable(kEnvVarName, event_name, arraysize(event_name)));
-
- EXPECT_EQ(HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND),
- OpenUniqueEventFromEnvironment(kEnvVarName,
- true,
- address(opened_event)));
-
- EXPECT_TRUE(::SetEnvironmentVariable(kEnvVarName, NULL));
-}
-
-TEST(GoopdateUtilsTest, OpenUniqueEventFromEnvironment_EnvVarDoesNotExist) {
- const TCHAR* kEnvVarName = _T("ANOTHER_ENV_VAR_FOR_TEST");
- scoped_event opened_event;
- EXPECT_EQ(HRESULT_FROM_WIN32(ERROR_ENVVAR_NOT_FOUND),
- OpenUniqueEventFromEnvironment(kEnvVarName,
- false,
- address(opened_event)));
-}
-
-TEST(GoopdateUtilsTest, OpenUniqueEventFromEnvironment_EventDoesNotExist) {
- const TCHAR* kEnvVarName = _T("YET_ANOTHER_ENV_VAR_FOR_TEST");
-
- EXPECT_TRUE(::SetEnvironmentVariable(kEnvVarName, _T("foo")));
-
- scoped_event opened_event;
- EXPECT_EQ(HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND),
- OpenUniqueEventFromEnvironment(kEnvVarName,
- false,
- address(opened_event)));
-
- EXPECT_TRUE(::SetEnvironmentVariable(kEnvVarName, NULL));
-}
-
-
-CString GetTempFile() {
- TCHAR temp_path[MAX_PATH] = {0};
- TCHAR temp_file[MAX_PATH] = {0};
-
- EXPECT_LT(::GetTempPath(arraysize(temp_path), temp_path),
- arraysize(temp_path));
- EXPECT_NE(0, ::GetTempFileName(temp_path, _T("ut_"), 0, temp_file));
- return CString(temp_file);
-}
-
-typedef std::map<CString, CString> StringMap;
-typedef StringMap::const_iterator StringMapIter;
-
-TEST(GoopdateUtilsTest, ReadNameValuePairsFromFileTest_MissingFile) {
- CString temp_file = GetTempFile();
- ::DeleteFile(temp_file);
-
- ASSERT_FALSE(File::Exists(temp_file));
-
- StringMap pairs_read;
- ASSERT_FAILED(ReadNameValuePairsFromFile(temp_file,
- _T("my_group"),
- &pairs_read));
- ASSERT_EQ(0, pairs_read.size());
-}
-
-TEST(GoopdateUtilsTest, ReadNameValuePairsFromFileTest_ReadEmpty) {
- CString temp_file = GetTempFile();
- ON_SCOPE_EXIT(::DeleteFile, temp_file.GetString());
- File file_write;
- EXPECT_SUCCEEDED(file_write.Open(temp_file, true, false));
- file_write.Close();
-
- StringMap pairs_read;
- ASSERT_SUCCEEDED(ReadNameValuePairsFromFile(temp_file,
- _T("my_group"),
- &pairs_read));
- ASSERT_EQ(0, pairs_read.size());
-}
-
-void ValidateStringMapEquality(const StringMap& expected,
- const StringMap& actual) {
- ASSERT_EQ(expected.size(), actual.size());
-
- StringMapIter it_expected = expected.begin();
- for (; it_expected != expected.end(); ++it_expected) {
- StringMapIter it_actual = actual.find(it_expected->first);
- ASSERT_TRUE(it_actual != actual.end());
- ASSERT_STREQ(it_expected->second, it_actual->second);
- }
-}
-
-TEST(GoopdateUtilsTest, ReadNameValuePairsFromFileTest_ReadOnePair) {
- CString group = _T("my_group");
-
- StringMap pairs_write;
- pairs_write[_T("some_name")] = _T("some_value");
-
- CString temp_file = GetTempFile();
- ON_SCOPE_EXIT(::DeleteFile, temp_file.GetString());
- ASSERT_SUCCEEDED(WriteNameValuePairsToFile(temp_file, group, pairs_write));
- ASSERT_TRUE(File::Exists(temp_file));
-
- StringMap pairs_read;
- ASSERT_SUCCEEDED(ReadNameValuePairsFromFile(temp_file, group, &pairs_read));
-
- ValidateStringMapEquality(pairs_write, pairs_read);
-}
-
-TEST(GoopdateUtilsTest, ReadNameValuePairsFromFileTest_ReadManyPairs) {
- CString group = _T("my_group");
-
- StringMap pairs_write;
- const int kCountPairs = 10;
- for (int i = 1; i <= kCountPairs; ++i) {
- CString name;
- name.Format(_T("name%d"), i);
- CString value;
- value.Format(_T("value%d"), i);
- pairs_write[name] = value;
- }
-
- CString temp_file = GetTempFile();
- ON_SCOPE_EXIT(::DeleteFile, temp_file.GetString());
- ASSERT_SUCCEEDED(WriteNameValuePairsToFile(temp_file, group, pairs_write));
- ASSERT_TRUE(File::Exists(temp_file));
-
- StringMap pairs_read;
- ASSERT_SUCCEEDED(ReadNameValuePairsFromFile(temp_file, group, &pairs_read));
-
- ValidateStringMapEquality(pairs_write, pairs_read);
-}
-
-TEST(GoopdateUtilsTest, IsGoogleUpdate2OrLater_LegacyVersions) {
- EXPECT_FALSE(IsGoogleUpdate2OrLater(_T("1.0.0.0")));
- EXPECT_FALSE(IsGoogleUpdate2OrLater(_T("1.1.103.9")));
- EXPECT_FALSE(IsGoogleUpdate2OrLater(_T("1.1.65535.65535")));
-}
-
-TEST(GoopdateUtilsTest, IsGoogleUpdate2OrLater_Omaha2AndLater) {
- EXPECT_TRUE(IsGoogleUpdate2OrLater(_T("1.2.0.0")));
- EXPECT_TRUE(IsGoogleUpdate2OrLater(_T("1.2.0111.2222")));
- EXPECT_TRUE(IsGoogleUpdate2OrLater(_T("1.3.456.7890")));
- EXPECT_TRUE(IsGoogleUpdate2OrLater(_T("2.0.0.0")));
-}
-
-TEST(GoopdateUtilsTest, IsGoogleUpdate2OrLater_VersionZero) {
- ExpectAsserts expect_asserts;
- EXPECT_FALSE(IsGoogleUpdate2OrLater(_T("0.0.0.0")));
-}
-
-TEST(GoopdateUtilsTest, IsGoogleUpdate2OrLater_VersionUpperLimits) {
- EXPECT_TRUE(IsGoogleUpdate2OrLater(_T("65535.65535.65535.65535")));
-
- ExpectAsserts expect_asserts;
- EXPECT_FALSE(IsGoogleUpdate2OrLater(_T("65536.65536.65536.65536")));
- EXPECT_FALSE(IsGoogleUpdate2OrLater(_T("1.2.65536.65536")));
- EXPECT_FALSE(IsGoogleUpdate2OrLater(_T("1.1.65536.65536")));
-}
-
-TEST(GoopdateUtilsTest, IsGoogleUpdate2OrLater_TooFewElements) {
- ExpectAsserts expect_asserts;
- EXPECT_FALSE(IsGoogleUpdate2OrLater(_T("1.1.1")));
-}
-
-TEST(GoopdateUtilsTest, IsGoogleUpdate2OrLater_ExtraPeriod) {
- ExpectAsserts expect_asserts;
- EXPECT_FALSE(IsGoogleUpdate2OrLater(_T("1.1.2.3.")));
-}
-
-TEST(GoopdateUtilsTest, IsGoogleUpdate2OrLater_TooManyElements) {
- ExpectAsserts expect_asserts;
- EXPECT_FALSE(IsGoogleUpdate2OrLater(_T("1.1.2.3.4")));
-}
-
-TEST(GoopdateUtilsTest, IsGoogleUpdate2OrLater_Char) {
- ExpectAsserts expect_asserts;
- EXPECT_FALSE(IsGoogleUpdate2OrLater(_T("1.B.3.4")));
- EXPECT_FALSE(IsGoogleUpdate2OrLater(_T("1.2.3.B")));
- EXPECT_FALSE(IsGoogleUpdate2OrLater(_T("1.2.3.9B")));
-}
-
-TEST(GoopdateUtilsTest, WriteInstallerDataToTempFile) {
- CStringA utf8_bom;
- utf8_bom.Format("%c%c%c", 0xEF, 0xBB, 0xBF);
-
- std::vector<CString> list_installer_data;
- list_installer_data.push_back(_T(""));
- list_installer_data.push_back(_T("hello\n"));
- list_installer_data.push_back(_T("good bye"));
- list_installer_data.push_back(_T(" there you\n go "));
- list_installer_data.push_back(_T("\"http://foo.bar.org/?q=stuff&h=other\""));
- list_installer_data.push_back(_T("foo\r\nbar\n"));
- list_installer_data.push_back(_T("foo\n\rbar")); // LFCR is not recognized.
- list_installer_data.push_back(_T("this is a string over 1024 characters. ------------------------------01------------------------------02------------------------------03------------------------------04------------------------------05------------------------------06------------------------------07------------------------------08------------------------------09------------------------------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 end.")); //NOLINT
-
- std::vector<CStringA> expected_installer_data;
- expected_installer_data.push_back("");
- expected_installer_data.push_back("hello\n");
- expected_installer_data.push_back("good bye");
- expected_installer_data.push_back(" there you\n go ");
- expected_installer_data.push_back("\"http://foo.bar.org/?q=stuff&h=other\"");
- expected_installer_data.push_back("foo\r\nbar\n");
- expected_installer_data.push_back("foo\n\rbar");
- expected_installer_data.push_back("this is a string over 1024 characters. ------------------------------01------------------------------02------------------------------03------------------------------04------------------------------05------------------------------06------------------------------07------------------------------08------------------------------09------------------------------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 end."); //NOLINT
-
- ASSERT_EQ(expected_installer_data.size(), list_installer_data.size());
-
- for (size_t i = 0; i < list_installer_data.size(); ++i) {
- CString installer_data = list_installer_data[i];
- SCOPED_TRACE(installer_data);
-
- CString file_path;
- HRESULT hr = WriteInstallerDataToTempFile(installer_data, &file_path);
- ON_SCOPE_EXIT(::DeleteFile, file_path.GetString());
- EXPECT_SUCCEEDED(hr);
-
- // TODO(omaha): consider eliminating the special case.
- // WriteInstallerDataToTempFile() will return S_FALSE with "" data.
- if (S_OK == hr) {
- File file;
- const int kBufferLen = 4096;
- std::vector<byte> data_line(kBufferLen);
- EXPECT_SUCCEEDED(file.Open(file_path, false, false));
- uint32 bytes_read(0);
- EXPECT_SUCCEEDED(file.Read(data_line.size(),
- &data_line.front(),
- &bytes_read));
- data_line.resize(bytes_read);
- data_line.push_back(0);
- EXPECT_STREQ(utf8_bom + expected_installer_data[i],
- reinterpret_cast<const char*>(&data_line.front()));
- EXPECT_SUCCEEDED(file.Close());
- } else {
- EXPECT_TRUE(installer_data.IsEmpty());
- }
- }
-}
-
-TEST_F(GoopdateUtilsRegistryProtectedTest, UpdateLastChecked) {
- EXPECT_SUCCEEDED(UpdateLastChecked(false));
- EXPECT_FALSE(ShouldCheckForUpdates(false));
-
- ConfigManager::Instance()->SetLastCheckedTime(false, 0);
- EXPECT_TRUE(ShouldCheckForUpdates(false));
-}
-
-TEST_F(GoopdateUtilsRegistryProtectedTest,
- ShouldCheckForUpdates_NoLastCheckedPresent) {
- EXPECT_TRUE(ShouldCheckForUpdates(false));
-}
-
-TEST_F(GoopdateUtilsRegistryProtectedTest,
- ShouldCheckForUpdates_LastCheckedPresent) {
- const uint32 now = Time64ToInt32(GetCurrent100NSTime());
-
- ConfigManager::Instance()->SetLastCheckedTime(false, now - 10);
- EXPECT_FALSE(ShouldCheckForUpdates(false));
-
- ConfigManager::Instance()->SetLastCheckedTime(false,
- now - kLastCheckPeriodSec - 1);
- EXPECT_TRUE(ShouldCheckForUpdates(false));
-}
-
-TEST_F(GoopdateUtilsRegistryProtectedTest,
- ShouldCheckForUpdates_LastCheckedInFuture) {
- const uint32 now = Time64ToInt32(GetCurrent100NSTime());
-
- // The absolute difference is within the check period.
- ConfigManager::Instance()->SetLastCheckedTime(false, now + 600);
- EXPECT_FALSE(ShouldCheckForUpdates(false));
-
- // The absolute difference is greater than the check period.
- ConfigManager::Instance()->SetLastCheckedTime(false,
- now + kLastCheckPeriodSec + 1);
- EXPECT_TRUE(ShouldCheckForUpdates(false));
-}
-
-TEST_F(GoopdateUtilsRegistryProtectedTest,
- ShouldCheckForUpdates_PeriodZero) {
- EXPECT_SUCCEEDED(
- RegKey::SetValue(kRegKeyGoopdateGroupPolicy,
- kRegValueAutoUpdateCheckPeriodOverrideMinutes,
- static_cast<DWORD>(0)));
-
- EXPECT_FALSE(ShouldCheckForUpdates(false));
-}
-
-TEST_F(GoopdateUtilsRegistryProtectedTest,
- ShouldCheckForUpdates_PeriodOverride) {
- const DWORD kOverrideMinutes = 10;
- const DWORD kOverrideSeconds = kOverrideMinutes * 60;
- const uint32 now = Time64ToInt32(GetCurrent100NSTime());
-
- EXPECT_SUCCEEDED(
- RegKey::SetValue(kRegKeyGoopdateGroupPolicy,
- kRegValueAutoUpdateCheckPeriodOverrideMinutes,
- kOverrideMinutes));
-
- ConfigManager::Instance()->SetLastCheckedTime(false, now - 10);
- EXPECT_FALSE(ShouldCheckForUpdates(false));
-
- ConfigManager::Instance()->SetLastCheckedTime(false,
- now - kOverrideSeconds - 1);
- EXPECT_TRUE(ShouldCheckForUpdates(false));
-}
-
-TEST_P(GoopdateUtilsRegistryProtectedBooleanTest, CreateUserId) {
- const bool is_machine = GetParam();
- CString user_id1, user_id2;
-
- EXPECT_SUCCEEDED(RegKey::SetValue(MACHINE_REG_UPDATE_DEV,
- kRegValueForceUsageStats,
- _T("1")));
-
- EXPECT_SUCCEEDED(goopdate_utils::CreateUserId(is_machine));
- user_id1 = goopdate_utils::GetUserIdLazyInit(is_machine);
-
- // If user id exists, CreateUserId() should not create a new one.
- EXPECT_SUCCEEDED(goopdate_utils::CreateUserId(is_machine));
- user_id2 = goopdate_utils::GetUserIdLazyInit(is_machine);
- EXPECT_STREQ(user_id1, user_id2);
-
- goopdate_utils::DeleteUserId(is_machine);
-
- // Recreate user id should result in a different id.
- user_id2 = goopdate_utils::GetUserIdLazyInit(is_machine);
- EXPECT_STRNE(user_id1, user_id2);
-
- // Id generation should fail if machine is in OEM install state.
- const DWORD now = Time64ToInt32(GetCurrent100NSTime());
- EXPECT_SUCCEEDED(RegKey::SetValue(MACHINE_REG_UPDATE,
- _T("OemInstallTime"),
- now));
- if (is_machine) {
- ASSERT_TRUE(oem_install_utils::IsOemInstalling(is_machine));
- EXPECT_FAILED(goopdate_utils::CreateUserId(is_machine));
- } else {
- ASSERT_FALSE(oem_install_utils::IsOemInstalling(is_machine));
- EXPECT_SUCCEEDED(goopdate_utils::CreateUserId(is_machine));
- }
-}
-
-TEST_F(GoopdateUtilsRegistryProtectedTest,
- GenerateUserId_EachUserShouldHaveHisOwnHive) {
- EXPECT_SUCCEEDED(RegKey::SetValue(MACHINE_REG_UPDATE_DEV,
- kRegValueForceUsageStats,
- _T("1")));
-
- CString machine_user_id = goopdate_utils::GetUserIdLazyInit(true);
- CString user_id = goopdate_utils::GetUserIdLazyInit(false);
- EXPECT_STRNE(machine_user_id, user_id);
-}
-
-TEST_P(GoopdateUtilsRegistryProtectedBooleanTest, GetOptInUserId_UpdateDev) {
- const bool is_machine = GetParam();
-
- CString user_id = goopdate_utils::GetUserIdLazyInit(is_machine);
- EXPECT_TRUE(user_id.IsEmpty());
-
- EXPECT_SUCCEEDED(RegKey::SetValue(MACHINE_REG_UPDATE_DEV,
- kRegValueForceUsageStats,
- _T("1")));
-
- user_id = goopdate_utils::GetUserIdLazyInit(is_machine);
- EXPECT_FALSE(user_id.IsEmpty());
-
- EXPECT_STREQ(user_id, goopdate_utils::GetUserIdLazyInit(is_machine));
-
- GUID guid = GUID_NULL;
- EXPECT_SUCCEEDED(StringToGuidSafe(user_id, &guid));
-}
-
-TEST_P(GoopdateUtilsRegistryProtectedBooleanTest, GetOptInUserId_AppOptIn) {
- const bool is_machine = GetParam();
- CString user_id = goopdate_utils::GetUserIdLazyInit(is_machine);
- EXPECT_TRUE(user_id.IsEmpty());
-
- CString key_path =
- ConfigManager::Instance()->registry_client_state(is_machine);
- key_path = AppendRegKeyPath(key_path, kAppId);
- EXPECT_SUCCEEDED(RegKey::SetValue(key_path,
- kRegValueForceUsageStats,
- static_cast<DWORD>(1)));
-
- user_id = goopdate_utils::GetUserIdLazyInit(is_machine);
- EXPECT_FALSE(user_id.IsEmpty());
-
- GUID guid = GUID_NULL;
- EXPECT_SUCCEEDED(StringToGuidSafe(user_id, &guid));
-}
-
-TEST_F(GoopdateUtilsRegistryProtectedTest, GetOptInUserId_UserNotOptIn) {
- const bool is_machine = false;
-
- EXPECT_TRUE(goopdate_utils::GetUserIdLazyInit(is_machine).IsEmpty());
-
- EXPECT_SUCCEEDED(goopdate_utils::CreateUserId(is_machine));
- EXPECT_TRUE(
- RegKey::HasValue(ConfigManager::Instance()->registry_update(is_machine),
- kRegValueUserId));
- EXPECT_TRUE(goopdate_utils::GetUserIdLazyInit(is_machine).IsEmpty());
-
- // ID should be removed.
- EXPECT_FALSE(
- RegKey::HasValue(ConfigManager::Instance()->registry_update(is_machine),
- kRegValueUserId));
-}
-
-TEST_P(GoopdateUtilsRegistryProtectedBooleanTest,
- GetOptInUserId_OemInstalling) {
- const bool is_machine = GetParam();
- EXPECT_SUCCEEDED(goopdate_utils::CreateUserId(is_machine));
-
- const DWORD now = Time64ToInt32(GetCurrent100NSTime());
- EXPECT_SUCCEEDED(RegKey::SetValue(MACHINE_REG_UPDATE,
- _T("OemInstallTime"),
- now));
- EXPECT_EQ(is_machine, oem_install_utils::IsOemInstalling(is_machine));
-
- EXPECT_SUCCEEDED(RegKey::SetValue(MACHINE_REG_UPDATE_DEV,
- kRegValueForceUsageStats,
- _T("1")));
-
- if (is_machine) {
- EXPECT_TRUE(goopdate_utils::GetUserIdLazyInit(is_machine).IsEmpty());
-
- EXPECT_SUCCEEDED(RegKey::DeleteValue(MACHINE_REG_UPDATE,
- _T("OemInstallTime")));
- EXPECT_FALSE(goopdate_utils::GetUserIdLazyInit(is_machine).IsEmpty());
- } else {
- EXPECT_FALSE(goopdate_utils::GetUserIdLazyInit(is_machine).IsEmpty());
- }
-}
-
-INSTANTIATE_TEST_CASE_P(MachineOrUser,
- GoopdateUtilsRegistryProtectedBooleanTest,
- ::testing::Bool());
-
-} // namespace goopdate_utils
-
-} // namespace omaha
« no previous file with comments | « common/goopdate_utils.cc ('k') | common/install_manifest.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698