| OLD | NEW |
| (Empty) |
| 1 // Copyright 2010 Google Inc. | |
| 2 // | |
| 3 // Licensed under the Apache License, Version 2.0 (the "License"); | |
| 4 // you may not use this file except in compliance with the License. | |
| 5 // You may obtain a copy of the License at | |
| 6 // | |
| 7 // http://www.apache.org/licenses/LICENSE-2.0 | |
| 8 // | |
| 9 // Unless required by applicable law or agreed to in writing, software | |
| 10 // distributed under the License is distributed on an "AS IS" BASIS, | |
| 11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
| 12 // See the License for the specific language governing permissions and | |
| 13 // limitations under the License. | |
| 14 // ======================================================================== | |
| 15 // | |
| 16 // Tests the constants that vary depending on the customization of Omaha. | |
| 17 // The test checks for the Google Update variations, but can be modified for | |
| 18 // your purposes. | |
| 19 | |
| 20 #include <tchar.h> | |
| 21 #include "omaha/base/const_addresses.h" | |
| 22 #include "omaha/base/const_config.h" | |
| 23 #include "omaha/base/const_debug.h" | |
| 24 #include "omaha/base/const_object_names.h" | |
| 25 #include "omaha/base/constants.h" | |
| 26 #include "omaha/base/logging.h" | |
| 27 #include "omaha/base/process.h" | |
| 28 #include "omaha/base/utils.h" | |
| 29 #include "omaha/common/config_manager.h" | |
| 30 #include "omaha/common/const_goopdate.h" | |
| 31 #include "omaha/common/const_group_policy.h" | |
| 32 #include "omaha/common/omaha_customization_proxy_clsid.h" | |
| 33 #include "omaha/testing/omaha_customization_test.h" | |
| 34 | |
| 35 // TODO(omaha): Make use of EXPECT_GU_STREQ, etc. | |
| 36 | |
| 37 namespace omaha { | |
| 38 | |
| 39 TEST(OmahaCustomizationTest, Constants_BuildFiles) { | |
| 40 // Primary main.scons values. | |
| 41 | |
| 42 // TODO(omaha): Most of these tests are of extremely questionable | |
| 43 // value, as they're just checking that certain #defines exist and | |
| 44 // haven't changed. But, unanticipated changes to most of these | |
| 45 // would cause build breaks anyways! Consider deleting them. | |
| 46 #ifdef GOOGLE_UPDATE_BUILD | |
| 47 EXPECT_STREQ("Google Inc.", FULL_COMPANY_NAME_ANSI); | |
| 48 EXPECT_STREQ("Google", SHORT_COMPANY_NAME_ANSI); | |
| 49 EXPECT_STREQ("Update", PRODUCT_NAME_ANSI); | |
| 50 | |
| 51 EXPECT_STREQ("google", COMPANY_DOMAIN_BASE_ANSI); | |
| 52 EXPECT_STREQ("google.com", COMPANY_DOMAIN_ANSI); | |
| 53 | |
| 54 EXPECT_STREQ("Google Update", OMAHA_APP_NAME_ANSI); | |
| 55 #endif // GOOGLE_UPDATE_BUILD | |
| 56 | |
| 57 EXPECT_STREQ("goopdate", MAIN_DLL_BASE_NAME_ANSI); | |
| 58 | |
| 59 const GUID kActualProxyClsidIsMachineGuid = PROXY_CLSID_IS_MACHINE; | |
| 60 EXPECT_TRUE(::IsEqualGUID(kProxyClsidIsMachineGuid, | |
| 61 kActualProxyClsidIsMachineGuid)); | |
| 62 | |
| 63 const GUID kActualProxyClsidIsUserGuid = PROXY_CLSID_IS_USER; | |
| 64 EXPECT_TRUE(::IsEqualGUID(kProxyClsidIsUserGuid, | |
| 65 kActualProxyClsidIsUserGuid)); | |
| 66 | |
| 67 // VERSION file values. Only the relatively stable ones are tested. | |
| 68 // The versions may or may not match in non-Google Update builds. | |
| 69 #ifdef GOOGLE_UPDATE_BUILD | |
| 70 EXPECT_STREQ("9", ONECLICK_PLUGIN_VERSION_ANSI); | |
| 71 // TODO(omaha): Change the name to ANSI. | |
| 72 EXPECT_STREQ("3", UPDATE_PLUGIN_VERSION_ANSI); | |
| 73 #else | |
| 74 std::wcout << _T("Did not test version values.") << std::endl; | |
| 75 #endif | |
| 76 | |
| 77 // Primary omaha_version_utils values. | |
| 78 EXPECT_STREQ(_T("npGoogleOneClick"), ONECLICK_PLUGIN_NAME); | |
| 79 EXPECT_STREQ(_T("npGoogleUpdate"), UPDATE_PLUGIN_NAME); | |
| 80 EXPECT_STREQ(_T("GoopdateBho"), BHO_NAME); | |
| 81 | |
| 82 // Filenames from omaha_version_utils. | |
| 83 EXPECT_STREQ( | |
| 84 _T("npGoogleOneClick") _T(ONECLICK_PLUGIN_VERSION_ANSI) _T(".dll"), | |
| 85 ONECLICK_PLUGIN_FILENAME); | |
| 86 EXPECT_STREQ(_T("npGoogleUpdate") _T(UPDATE_PLUGIN_VERSION_ANSI) _T(".dll"), | |
| 87 UPDATE_PLUGIN_FILENAME); | |
| 88 EXPECT_STREQ(_T("GoopdateBho.dll"), BHO_FILENAME); | |
| 89 } | |
| 90 | |
| 91 TEST(OmahaCustomizationTest, Constants_Names) { | |
| 92 // Company and product names. | |
| 93 | |
| 94 // TODO(omaha): Most of these tests are of extremely questionable | |
| 95 // value, as they're just checking that certain #defines exist and | |
| 96 // haven't changed. But, unanticipated changes to most of these | |
| 97 // would cause build breaks anyways! Consider deleting them. | |
| 98 #ifdef GOOGLE_UPDATE_BUILD | |
| 99 EXPECT_STREQ(_T("Google Inc."), kFullCompanyName); | |
| 100 EXPECT_STREQ(_T("Google"), SHORT_COMPANY_NAME); | |
| 101 EXPECT_STREQ(_T("Google"), kShortCompanyName); | |
| 102 EXPECT_STREQ(_T("Update"), PRODUCT_NAME); | |
| 103 | |
| 104 EXPECT_STREQ(_T("google.com"), COMPANY_DOMAIN); | |
| 105 | |
| 106 // Full app name. | |
| 107 EXPECT_STREQ(_T("Google Update"), kAppName); | |
| 108 | |
| 109 // Identifiers. | |
| 110 EXPECT_STREQ(_T("Google"), COMPANY_NAME_IDENTIFIER); | |
| 111 EXPECT_STREQ(_T("Update"), PRODUCT_NAME_IDENTIFIER); | |
| 112 EXPECT_STREQ(_T("GoogleUpdate"), APP_NAME_IDENTIFIER); | |
| 113 | |
| 114 // Other values based on the app name. | |
| 115 EXPECT_STREQ(_T("_Google_Update_"), kLockPrefix); | |
| 116 #endif // GOOGLE_UPDATE_BUILD | |
| 117 | |
| 118 // Filename bases | |
| 119 EXPECT_STREQ(_T("GoogleUpdate"), MAIN_EXE_BASE_NAME); | |
| 120 EXPECT_STREQ(_T("goopdate"), MAIN_DLL_BASE_NAME); | |
| 121 } | |
| 122 | |
| 123 TEST(OmahaCustomizationTest, Constants_Filenames) { | |
| 124 EXPECT_STREQ(_T("GoogleUpdate.exe"), kOmahaShellFileName); | |
| 125 EXPECT_STREQ(_T("GoogleCrashHandler.exe"), kCrashHandlerFileName); | |
| 126 EXPECT_STREQ(_T("goopdate.dll"), kOmahaDllName); | |
| 127 EXPECT_STREQ(_T("goopdateres_%s.dll"), kOmahaResourceDllNameFormat); | |
| 128 EXPECT_STREQ(_T("GoogleUpdateBroker.exe"), kOmahaBrokerFileName); | |
| 129 EXPECT_STREQ(_T("GoogleUpdateOnDemand.exe"), kOmahaOnDemandFileName); | |
| 130 EXPECT_STREQ(_T("psmachine.dll"), kPSFileNameMachine); | |
| 131 EXPECT_STREQ(_T("psuser.dll"), kPSFileNameUser); | |
| 132 } | |
| 133 | |
| 134 TEST(OmahaCustomizationTest, Constants_Certificate) { | |
| 135 EXPECT_STREQ(_T("Google Inc"), kCertificateSubjectName); | |
| 136 } | |
| 137 | |
| 138 TEST(OmahaCustomizationTest, Constants_OmahaAppId_String) { | |
| 139 EXPECT_STREQ(_T("{430FD4D0-B729-4F61-AA34-91526481799D}"), GOOPDATE_APP_ID); | |
| 140 EXPECT_STREQ(_T("{430FD4D0-B729-4F61-AA34-91526481799D}"), | |
| 141 kGoogleUpdateAppId); | |
| 142 } | |
| 143 | |
| 144 TEST(OmahaCustomizationTest, Constants_OmahaAppId_GUID) { | |
| 145 const GUID kExpectedGoogleUpdateGuid = | |
| 146 {0x430FD4D0, 0xB729, 0x4F61, | |
| 147 {0xAA, 0x34, 0x91, 0x52, 0x64, 0x81, 0x79, 0x9D}}; | |
| 148 EXPECT_TRUE(::IsEqualGUID(kExpectedGoogleUpdateGuid, kGoopdateGuid)); | |
| 149 EXPECT_STREQ(_T("{430FD4D0-B729-4F61-AA34-91526481799D}"), | |
| 150 GuidToString(kGoopdateGuid)); | |
| 151 } | |
| 152 | |
| 153 TEST(OmahaCustomizationTest, Constants_OmahaAppId_GUIDAndStringMatch) { | |
| 154 EXPECT_STREQ(kGoogleUpdateAppId, GuidToString(kGoopdateGuid)); | |
| 155 } | |
| 156 | |
| 157 TEST(OmahaCustomizationTest, Constants_Directories) { | |
| 158 EXPECT_STREQ(_T("Offline"), OFFLINE_DIR_NAME); | |
| 159 EXPECT_GU_STREQ(_T("Google"), OMAHA_REL_COMPANY_DIR); | |
| 160 EXPECT_GU_STREQ(_T("Google\\CrashReports"), OMAHA_REL_CRASH_DIR); | |
| 161 EXPECT_GU_STREQ(_T("Google\\Update"), OMAHA_REL_GOOPDATE_INSTALL_DIR); | |
| 162 EXPECT_GU_STREQ(_T("Google\\Update\\Log"), OMAHA_REL_LOG_DIR); | |
| 163 EXPECT_GU_STREQ(_T("Google\\Update\\Offline"), | |
| 164 OMAHA_REL_OFFLINE_STORAGE_DIR); | |
| 165 EXPECT_GU_STREQ(_T("Google\\Update\\Download"), | |
| 166 OMAHA_REL_DOWNLOAD_STORAGE_DIR); | |
| 167 EXPECT_GU_STREQ(_T("Google\\Update\\Install"), | |
| 168 OMAHA_REL_INSTALL_WORKING_DIR); | |
| 169 } | |
| 170 | |
| 171 TEST(OmahaCustomizationTest, Constants_RegistryKeys_NotCustomized) { | |
| 172 EXPECT_STREQ(_T("HKLM"), MACHINE_KEY_NAME); | |
| 173 EXPECT_STREQ(_T("HKLM\\"), MACHINE_KEY); | |
| 174 EXPECT_STREQ(_T("HKCU"), USER_KEY_NAME); | |
| 175 EXPECT_STREQ(_T("HKCU\\"), USER_KEY); | |
| 176 EXPECT_STREQ(_T("HKU\\"), USERS_KEY); | |
| 177 } | |
| 178 | |
| 179 TEST(OmahaCustomizationTest, Constants_RegistryKeys) { | |
| 180 EXPECT_GU_STREQ(_T("Software\\Google\\"), COMPANY_MAIN_KEY); | |
| 181 EXPECT_GU_STREQ(_T("Software\\Google\\Update\\"), GOOPDATE_MAIN_KEY); | |
| 182 EXPECT_GU_STREQ(_T("Software\\Google\\Update\\Clients\\"), GOOPDATE_REG_RELATI
VE_CLIENTS); // NOLINT | |
| 183 EXPECT_GU_STREQ(_T("Software\\Google\\Update\\ClientState\\"), GOOPDATE_REG_RE
LATIVE_CLIENT_STATE); // NOLINT | |
| 184 EXPECT_GU_STREQ(_T("Software\\Google\\Update\\ClientStateMedium\\"), GOOPDATE_
REG_RELATIVE_CLIENT_STATE_MEDIUM); // NOLINT | |
| 185 EXPECT_GU_STREQ(_T("Software\\Policies\\Google\\"), COMPANY_POLICIES_MAIN_KEY)
; | |
| 186 EXPECT_GU_STREQ(_T("Software\\Policies\\Google\\Update\\"), GOOPDATE_POLICIES_
RELATIVE); // NOLINT | |
| 187 | |
| 188 EXPECT_GU_STREQ(_T("HKCU\\Software\\Google\\"), USER_REG_GOOGLE); | |
| 189 EXPECT_GU_STREQ(_T("HKCU\\Software\\Google\\Update\\"), USER_REG_UPDATE); | |
| 190 EXPECT_GU_STREQ(_T("HKCU\\Software\\Google\\Update\\Clients\\"), USER_REG_CLIE
NTS); // NOLINT | |
| 191 EXPECT_GU_STREQ(_T("HKCU\\Software\\Google\\Update\\Clients\\{430FD4D0-B729-4F
61-AA34-91526481799D}"), USER_REG_CLIENTS_GOOPDATE); // NOLINT | |
| 192 EXPECT_GU_STREQ(_T("HKCU\\Software\\Google\\Update\\ClientState\\"), USER_REG_
CLIENT_STATE); // NOLINT | |
| 193 EXPECT_GU_STREQ(_T("HKCU\\Software\\Google\\Update\\ClientState\\{430FD4D0-B72
9-4F61-AA34-91526481799D}"), USER_REG_CLIENT_STATE_GOOPDATE); // NOLINT | |
| 194 | |
| 195 EXPECT_GU_STREQ(_T("HKLM\\Software\\Google\\"), MACHINE_REG_GOOGLE); | |
| 196 EXPECT_GU_STREQ(_T("HKLM\\Software\\Google\\Update\\"), MACHINE_REG_UPDATE); | |
| 197 EXPECT_GU_STREQ(_T("HKLM\\Software\\Google\\Update\\Clients\\"), MACHINE_REG_C
LIENTS); // NOLINT | |
| 198 EXPECT_GU_STREQ(_T("HKLM\\Software\\Google\\Update\\Clients\\{430FD4D0-B729-4F
61-AA34-91526481799D}"), MACHINE_REG_CLIENTS_GOOPDATE); // NOLINT | |
| 199 EXPECT_GU_STREQ(_T("HKLM\\Software\\Google\\Update\\ClientState\\"), MACHINE_R
EG_CLIENT_STATE); // NOLINT | |
| 200 EXPECT_GU_STREQ(_T("HKLM\\Software\\Google\\Update\\ClientState\\{430FD4D0-B72
9-4F61-AA34-91526481799D}"), MACHINE_REG_CLIENT_STATE_GOOPDATE); // NOLINT | |
| 201 EXPECT_GU_STREQ(_T("HKLM\\Software\\Google\\Update\\ClientStateMedium\\"), MAC
HINE_REG_CLIENT_STATE_MEDIUM); // NOLINT | |
| 202 | |
| 203 EXPECT_GU_STREQ(_T("HKLM\\Software\\Google\\UpdateDev\\"), MACHINE_REG_UPDATE_
DEV); // NOLINT | |
| 204 } | |
| 205 | |
| 206 TEST(OmahaCustomizationTest, Constants_RegistryKeys_GroupPolicy) { | |
| 207 EXPECT_GU_STREQ(_T("Software\\Policies\\Google\\Update\\"), GOOPDATE_POLICIES_
RELATIVE); // NOLINT | |
| 208 EXPECT_GU_STREQ(_T("HKLM\\Software\\Policies\\Google\\Update\\"), kRegKeyGoopd
ateGroupPolicy); // NOLINT | |
| 209 } | |
| 210 | |
| 211 TEST(OmahaCustomizationTest, Constants_RegistryValues) { | |
| 212 EXPECT_GU_STREQ(_T("Google Update"), kRunValueName); | |
| 213 } | |
| 214 | |
| 215 TEST(OmahaCustomizationTest, Constants_MsiMsp) { | |
| 216 EXPECT_STREQ(_T("GoogleUpdateHelper.msi"), kHelperInstallerName); | |
| 217 EXPECT_STREQ(_T("{A92DAB39-4E2C-4304-9AB6-BC44E68B55E2}"), | |
| 218 kHelperInstallerProductGuid); | |
| 219 EXPECT_STREQ(_T("GoogleUpdateHelperPatch.msp"), kHelperPatchName); | |
| 220 EXPECT_STREQ(_T("{E0D0D2C9-5836-4023-AB1D-54EC3B90AD03}"), kHelperPatchGuid); | |
| 221 } | |
| 222 | |
| 223 TEST(OmahaCustomizationTest, Constants_CompatibleShellVersions) { | |
| 224 EXPECT_EQ(2, arraysize(kCompatibleOlderShellVersions)); | |
| 225 EXPECT_EQ(0x0001000200830007, kCompatibleOlderShellVersions[0]); | |
| 226 EXPECT_EQ(0x0001000200B70009, kCompatibleOlderShellVersions[1]); | |
| 227 } | |
| 228 | |
| 229 TEST(OmahaCustomizationTest, Constants_BrandCode) { | |
| 230 EXPECT_STREQ(_T("GGLS"), kDefaultGoogleUpdateBrandCode); | |
| 231 } | |
| 232 | |
| 233 TEST(OmahaCustomizationTest, Constants_Addresses) { | |
| 234 EXPECT_STREQ(_T("www.google.com"), kGoogleHttpServer); | |
| 235 EXPECT_STREQ(_T("tools.google.com"), kGoopdateServer); | |
| 236 EXPECT_STREQ(_T("https://tools.google.com/service/update2"), kUrlUpdateCheck); | |
| 237 EXPECT_STREQ(_T("http://tools.google.com/service/update2"), kUrlPing); | |
| 238 EXPECT_STREQ(_T("http://clients2.google.com/cr/report"), kUrlCrashReport); | |
| 239 EXPECT_STREQ(_T("http://www.google.com/support/installer/?"), kUrlMoreInfo); | |
| 240 EXPECT_STREQ(_T("http://cr-tools.clients.google.com/service/check2"), | |
| 241 kUrlCodeRedCheck); | |
| 242 EXPECT_STREQ(_T("http://clients5.google.com/tbproxy/usagestats"), | |
| 243 kUrlUsageStatsReport); | |
| 244 } | |
| 245 | |
| 246 TEST(OmahaCustomizationTest, Constants_Config) { | |
| 247 EXPECT_GU_STREQ(_T("Software\\Google\\Update\\Shared"), kCiRegKeyShared); | |
| 248 } | |
| 249 | |
| 250 TEST(OmahaCustomizationTest, Constants_Debug) { | |
| 251 EXPECT_GU_STREQ(_T("GoogleUpdate-debug"), kCiDebugDirectory); | |
| 252 } | |
| 253 | |
| 254 TEST(OmahaCustomizationTest, Constants_Logging) { | |
| 255 EXPECT_STREQ(_T("GoogleUpdate.ini"), kLogConfigFileName); | |
| 256 EXPECT_STREQ(_T("GoogleUpdate.log"), kDefaultLogFileName); | |
| 257 } | |
| 258 | |
| 259 // These should not change during customization. | |
| 260 TEST(OmahaCustomizationTest, Constants_ObjectNames_Prefixes) { | |
| 261 EXPECT_GU_STREQ(_T("Global\\G"), kGlobalPrefix); | |
| 262 } | |
| 263 | |
| 264 TEST(OmahaCustomizationTest, Constants_ObjectNames_Pipes) { | |
| 265 EXPECT_GU_STREQ(_T("\\\\.\\pipe\\GoogleCrashServices"), kCrashPipeNamePrefix); | |
| 266 } | |
| 267 | |
| 268 TEST(OmahaCustomizationTest, Constants_ObjectNames_MutexesAndEvents) { | |
| 269 EXPECT_STREQ(_T("{A9A86B93-B54E-4570-BE89-42418507707B}"), kSetupMutex); | |
| 270 EXPECT_STREQ(_T("{A0C1F415-D2CE-4ddc-9B48-14E56FD55162}"), kShutdownEvent); | |
| 271 EXPECT_STREQ(_T("{B5665124-2B19-40e2-A7BC-B44321E72C4B}"), | |
| 272 kCoreSingleInstance); | |
| 273 EXPECT_STREQ(_T("{C4F406E5-F024-4e3f-89A7-D5AB7663C3CD}"), | |
| 274 kCrashHandlerSingleInstance); | |
| 275 EXPECT_STREQ(_T("{D0BB2EF1-C183-4cdb-B218-040922092869}"), | |
| 276 kUpdateAppsSingleInstance); | |
| 277 EXPECT_STREQ(_T("%s-{F707E94F-D66B-4525-AD84-B1DA87D6A971}"), | |
| 278 kInstallAppSingleInstance); | |
| 279 EXPECT_STREQ(_T("{0A175FBE-AEEC-4fea-855A-2AA549A88846}"), | |
| 280 kInstallManagerSerializer); | |
| 281 EXPECT_STREQ(_T("{C68009EA-1163-4498-8E93-D5C4E317D8CE}"), | |
| 282 kMetricsSerializer); | |
| 283 EXPECT_STREQ(_T("{0E900C7B-04B0-47f9-81B0-F8D94F2DF01B}"), | |
| 284 kNetworkConfigLock); | |
| 285 EXPECT_STREQ(_T("{66CC0160-ABB3-4066-AE47-1CA6AD5065C8}"), | |
| 286 kRegistryAccessMutex); | |
| 287 } | |
| 288 | |
| 289 TEST(OmahaCustomizationTest, Constants_ObjectNames_SharedMemory) { | |
| 290 EXPECT_GU_STREQ(_T("Global\\GoogleUpdate3"), | |
| 291 kGoogleUpdate3SharedMemoryName); | |
| 292 EXPECT_GU_STREQ(_T("Global\\GoogleUpdateCore"), | |
| 293 kGoogleUpdateCoreSharedMemoryName); | |
| 294 } | |
| 295 | |
| 296 TEST(OmahaCustomizationTest, Constants_Services) { | |
| 297 EXPECT_GU_STREQ(_T("gupdate_service_name"), kRegValueServiceName); | |
| 298 EXPECT_GU_STREQ(_T("gupdatem_service_name"), kRegValueMediumServiceName); | |
| 299 EXPECT_GU_STREQ(_T("gupdate_task_name_c"), kRegValueTaskNameC); | |
| 300 EXPECT_GU_STREQ(_T("gupdate_task_name_ua"), kRegValueTaskNameUA); | |
| 301 | |
| 302 EXPECT_GU_STREQ(_T("gupdate"), kServicePrefix); | |
| 303 EXPECT_GU_STREQ(_T("gupdatem"), kMediumServicePrefix); | |
| 304 | |
| 305 EXPECT_STREQ(_T("GoogleUpdate.exe"), kServiceFileName); | |
| 306 } | |
| 307 | |
| 308 TEST(OmahaCustomizationTest, Constants_ScheduledTasks) { | |
| 309 EXPECT_GU_STREQ(_T("GoogleUpdateTaskUser"), kScheduledTaskNameUserPrefix); | |
| 310 EXPECT_GU_STREQ(_T("GoogleUpdateTaskMachine"), kScheduledTaskNameMachinePrefix
); | |
| 311 } | |
| 312 | |
| 313 TEST(OmahaCustomizationTest, Constants_Plugins) { | |
| 314 EXPECT_GU_STREQ(_T("Google.OneClickCtrl.") _T(ONECLICK_PLUGIN_VERSION_ANSI), | |
| 315 kOneClickProgId); | |
| 316 EXPECT_STREQ( | |
| 317 "application/x-vnd.google.oneclickctrl." ONECLICK_PLUGIN_VERSION_ANSI, | |
| 318 kOneClickPluginMimeTypeAnsi); | |
| 319 } | |
| 320 | |
| 321 TEST(OmahaCustomizationTest, Constants_HostCheck) { | |
| 322 EXPECT_EQ(4, arraysize(kSiteLockPatternStrings)); | |
| 323 EXPECT_STREQ(_T("^(gears)|(mail)|(tools)|(www)|(desktop)|(pack)\\.google\\.com
$"), kSiteLockPatternStrings[0]); // NOLINT | |
| 324 EXPECT_STREQ(_T("^www\\.google\\.(ad)|(bg)|(ca)|(cn)|(cz)|(de)|(es)|(fi)|(fr)|
(gr)|(hr)|(hu)|(it)|(ki)|(kr)|(lt)|(lv)|(nl)|(no)|(pl)|(pt)|(ro)|(ru)|(sk)|(sg)|
(sl)|(sr)|(vn)$"), kSiteLockPatternStrings[1]); // NOLINT | |
| 325 EXPECT_STREQ(_T("^www\\.google\\.co\\.(hu)|(id)|(il)|(it)|(jp)|(kr)|(th)|(uk)$
"), kSiteLockPatternStrings[2]); // NOLINT | |
| 326 EXPECT_STREQ(_T("^www\\.google\\.com\\.(ar)|(au)|(br)|(cn)|(et)|(gr)|(hr)|(ki)
|(lv)|(om)|(pl)|(pt)|(ru)|(sg)|(sv)|(tr)|(vn)$"), kSiteLockPatternStrings[3]);
// NOLINT | |
| 327 } | |
| 328 | |
| 329 // | |
| 330 // ConfigManager keys. | |
| 331 // | |
| 332 | |
| 333 TEST(OmahaCustomizationTest, ConfigManager_RegistryKeys) { | |
| 334 const ConfigManager& cm = *ConfigManager::Instance(); | |
| 335 | |
| 336 EXPECT_GU_STREQ(_T("HKCU\\Software\\Google\\Update\\Clients\\"), cm.user_regis
try_clients()); // NOLINT | |
| 337 EXPECT_GU_STREQ(_T("HKLM\\Software\\Google\\Update\\Clients\\"), cm.machine_re
gistry_clients()); // NOLINT | |
| 338 EXPECT_GU_STREQ(_T("HKCU\\Software\\Google\\Update\\Clients\\"), cm.registry_c
lients(false)); // NOLINT | |
| 339 EXPECT_GU_STREQ(_T("HKLM\\Software\\Google\\Update\\Clients\\"), cm.registry_c
lients(true)); // NOLINT | |
| 340 | |
| 341 EXPECT_GU_STREQ(_T("HKCU\\Software\\Google\\Update\\Clients\\{430FD4D0-B729-4F
61-AA34-91526481799D}"), cm.user_registry_clients_goopdate()); // NOLINT | |
| 342 EXPECT_GU_STREQ(_T("HKLM\\Software\\Google\\Update\\Clients\\{430FD4D0-B729-4F
61-AA34-91526481799D}"), cm.machine_registry_clients_goopdate()); // NOLINT | |
| 343 EXPECT_GU_STREQ(_T("HKCU\\Software\\Google\\Update\\Clients\\{430FD4D0-B729-4F
61-AA34-91526481799D}"), cm.registry_clients_goopdate(false)); // NOLINT | |
| 344 EXPECT_GU_STREQ(_T("HKLM\\Software\\Google\\Update\\Clients\\{430FD4D0-B729-4F
61-AA34-91526481799D}"), cm.registry_clients_goopdate(true)); // NOLINT | |
| 345 | |
| 346 EXPECT_GU_STREQ(_T("HKCU\\Software\\Google\\Update\\ClientState\\"), cm.user_r
egistry_client_state()); // NOLINT | |
| 347 EXPECT_GU_STREQ(_T("HKLM\\Software\\Google\\Update\\ClientState\\"), cm.machin
e_registry_client_state()); // NOLINT | |
| 348 EXPECT_GU_STREQ(_T("HKCU\\Software\\Google\\Update\\ClientState\\"), cm.regist
ry_client_state(false)); // NOLINT | |
| 349 EXPECT_GU_STREQ(_T("HKLM\\Software\\Google\\Update\\ClientState\\"), cm.regist
ry_client_state(true)); // NOLINT | |
| 350 | |
| 351 EXPECT_GU_STREQ(_T("HKCU\\Software\\Google\\Update\\ClientState\\{430FD4D0-B72
9-4F61-AA34-91526481799D}"), cm.user_registry_client_state_goopdate()); // NOLI
NT | |
| 352 EXPECT_GU_STREQ(_T("HKLM\\Software\\Google\\Update\\ClientState\\{430FD4D0-B72
9-4F61-AA34-91526481799D}"), cm.machine_registry_client_state_goopdate()); // N
OLINT | |
| 353 EXPECT_GU_STREQ(_T("HKCU\\Software\\Google\\Update\\ClientState\\{430FD4D0-B72
9-4F61-AA34-91526481799D}"), cm.registry_client_state_goopdate(false)); // NOLI
NT | |
| 354 EXPECT_GU_STREQ(_T("HKLM\\Software\\Google\\Update\\ClientState\\{430FD4D0-B72
9-4F61-AA34-91526481799D}"), cm.registry_client_state_goopdate(true)); // NOLIN
T | |
| 355 | |
| 356 EXPECT_GU_STREQ(_T("HKLM\\Software\\Google\\Update\\ClientStateMedium\\"), cm.
machine_registry_client_state_medium()); // NOLINT | |
| 357 | |
| 358 EXPECT_GU_STREQ(_T("HKCU\\Software\\Google\\Update\\"), cm.user_registry_updat
e()); // NOLINT | |
| 359 EXPECT_GU_STREQ(_T("HKLM\\Software\\Google\\Update\\"), cm.machine_registry_up
date()); // NOLINT | |
| 360 EXPECT_GU_STREQ(_T("HKCU\\Software\\Google\\Update\\"), cm.registry_update(fal
se)); // NOLINT | |
| 361 EXPECT_GU_STREQ(_T("HKLM\\Software\\Google\\Update\\"), cm.registry_update(tru
e)); // NOLINT | |
| 362 | |
| 363 EXPECT_GU_STREQ(_T("HKCU\\Software\\Google\\"), cm.user_registry_google()); | |
| 364 EXPECT_GU_STREQ(_T("HKLM\\Software\\Google\\"), cm.machine_registry_google()); | |
| 365 EXPECT_GU_STREQ(_T("HKCU\\Software\\Google\\"), cm.registry_google(false)); | |
| 366 EXPECT_GU_STREQ(_T("HKLM\\Software\\Google\\"), cm.registry_google(true)); | |
| 367 } | |
| 368 | |
| 369 TEST(OmahaCustomizationTest, IsInternalUser) { | |
| 370 if (IsBuildSystem()) { | |
| 371 // The build system is not configured the same. | |
| 372 // This may or may not be true in non-Google Update builds. | |
| 373 #ifdef GOOGLE_UPDATE_BUILD | |
| 374 EXPECT_FALSE(ConfigManager::Instance()->IsInternalUser()); | |
| 375 #else | |
| 376 std::wcout << _T("Did not test IsInternalUser.") << std::endl; | |
| 377 #endif | |
| 378 } else { | |
| 379 EXPECT_TRUE(ConfigManager::Instance()->IsInternalUser()); | |
| 380 } | |
| 381 } | |
| 382 | |
| 383 // | |
| 384 // Test helpers. | |
| 385 // | |
| 386 | |
| 387 TEST(OmahaCustomizationTest, GetGoogleUserPath) { | |
| 388 EXPECT_STREQ(GetLocalAppDataPath() + SHORT_COMPANY_NAME + _T("\\"), | |
| 389 GetGoogleUserPath()); | |
| 390 } | |
| 391 | |
| 392 TEST(OmahaCustomizationTest, GetGoogleUpdateUserPath) { | |
| 393 EXPECT_STREQ(GetLocalAppDataPath() + SHORT_COMPANY_NAME + _T("\\") | |
| 394 + PRODUCT_NAME + _T("\\"), | |
| 395 GetGoogleUpdateUserPath()); | |
| 396 } | |
| 397 | |
| 398 // Assumes Program Files is in the normal location. | |
| 399 TEST(OmahaCustomizationTest, GetGoogleUpdateMachinePath) { | |
| 400 CString expected_machine_path; | |
| 401 EXPECT_SUCCEEDED(GetFolderPath(CSIDL_PROGRAM_FILES | CSIDL_FLAG_DONT_VERIFY, | |
| 402 &expected_machine_path)); | |
| 403 expected_machine_path.Append(_T("\\") SHORT_COMPANY_NAME | |
| 404 _T("\\") PRODUCT_NAME); | |
| 405 EXPECT_STREQ(expected_machine_path, GetGoogleUpdateMachinePath()); | |
| 406 } | |
| 407 | |
| 408 } // namespace omaha | |
| OLD | NEW |