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 |