Index: goopdate/application_usage_data_unittest.cc |
diff --git a/goopdate/application_usage_data_unittest.cc b/goopdate/application_usage_data_unittest.cc |
deleted file mode 100644 |
index 82587c8c8061b967dc1ad608ec85bec2f1ce933d..0000000000000000000000000000000000000000 |
--- a/goopdate/application_usage_data_unittest.cc |
+++ /dev/null |
@@ -1,747 +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. |
-// ======================================================================== |
-// |
-// ApplicationUsageData unit tests |
- |
-#include "omaha/base/reg_key.h" |
-#include "omaha/base/user_info.h" |
-#include "omaha/base/utils.h" |
-#include "omaha/base/vistautil.h" |
-#include "omaha/testing/unit_test.h" |
-#include "omaha/goopdate/application_usage_data.h" |
- |
-namespace omaha { |
- |
-const TCHAR kAppDidRunValueName[] = _T("dr"); |
-const TCHAR kHKCUClientStateKeyName[] = |
- _T("HKCU\\Software\\") SHORT_COMPANY_NAME _T("\\") PRODUCT_NAME |
- _T("\\ClientState\\{6ACB7D4D-E5BA-48b0-85FE-A4051500A1BD}"); |
-const TCHAR kMachineClientState[] = |
- _T("HKLM\\Software\\") SHORT_COMPANY_NAME _T("\\") PRODUCT_NAME |
- _T("\\ClientState\\{6ACB7D4D-E5BA-48b0-85FE-A4051500A1BD}"); |
-const TCHAR kLowIntegrityIEHKCU[] = |
- _T("HKCU\\Software\\Microsoft\\Internet Explorer\\") |
- _T("InternetRegistry\\REGISTRY\\USER\\"); |
-const TCHAR kAppGuid[] = _T("{6ACB7D4D-E5BA-48b0-85FE-A4051500A1BD}"); |
-const TCHAR kRelativeClientState[] = |
- _T("Software\\") SHORT_COMPANY_NAME _T("\\") PRODUCT_NAME |
- _T("\\ClientState\\{6ACB7D4D-E5BA-48b0-85FE-A4051500A1BD}"); |
- |
-// TODO(omaha): Expected and actual are reversed throughout this file. Fix. |
- |
-class ApplicationUsageDataTest : public testing::Test { |
- protected: |
- virtual void SetUp() { |
- CString sid; |
- ASSERT_SUCCEEDED(user_info::GetProcessUser(NULL, NULL, &sid)); |
- low_integrity_key_name_ = AppendRegKeyPath(kLowIntegrityIEHKCU, |
- sid, |
- kRelativeClientState); |
- TearDown(); |
- } |
- |
- virtual void TearDown() { |
- RegKey::DeleteKey(kHKCUClientStateKeyName); |
- RegKey::DeleteKey(kMachineClientState); |
- RegKey::DeleteKey(low_integrity_key_name_); |
- } |
- |
- void CreateMachineDidRunValue(bool value) { |
- if (!vista_util::IsUserAdmin()) { |
- return; |
- } |
- RegKey key; |
- ASSERT_SUCCEEDED(key.Create(kMachineClientState)); |
- ASSERT_SUCCEEDED(key.SetValue(kAppDidRunValueName, |
- value == true ? _T("1") : _T("0"))); |
- } |
- |
- void CreateMachineDidRunDwordValue(bool value) { |
- if (!vista_util::IsUserAdmin()) { |
- return; |
- } |
- RegKey key; |
- DWORD new_value = (value == true ? 1 : 0); |
- ASSERT_SUCCEEDED(key.Create(kMachineClientState)); |
- ASSERT_SUCCEEDED(key.SetValue(kAppDidRunValueName, new_value)); |
- } |
- |
- bool MachineDidRunValueExists() { |
- if (!vista_util::IsUserAdmin()) { |
- return true; |
- } |
- RegKey key; |
- if (FAILED(key.Open(kMachineClientState))) { |
- return false; |
- } |
- |
- CString did_run_str(_T("0")); |
- if (FAILED(key.GetValue(kAppDidRunValueName, &did_run_str))) { |
- return false; |
- } |
- |
- return true; |
- } |
- |
- void DeleteMachineDidRunValue() { |
- if (!vista_util::IsUserAdmin()) { |
- return; |
- } |
- ASSERT_SUCCEEDED(RegKey::DeleteValue(kMachineClientState, |
- kAppDidRunValueName)); |
- } |
- |
- void CheckMachineDidRunValue(bool expected) { |
- if (!vista_util::IsUserAdmin()) { |
- return; |
- } |
- RegKey key; |
- ASSERT_SUCCEEDED(key.Open(kMachineClientState)); |
- |
- CString did_run_str(_T("0")); |
- ASSERT_SUCCEEDED(key.GetValue(kAppDidRunValueName, &did_run_str)); |
- bool value = (did_run_str == _T("1")) ? true : false; |
- |
- ASSERT_EQ(value, expected); |
- } |
- |
- void CreateUserDidRunValue(bool value) { |
- RegKey key; |
- ASSERT_SUCCEEDED(key.Create(kHKCUClientStateKeyName)); |
- ASSERT_SUCCEEDED(key.SetValue(kAppDidRunValueName, |
- (value == true) ? _T("1") : _T("0"))); |
- } |
- |
- void CreateUserDidRunDwordValue(bool value) { |
- RegKey key; |
- DWORD new_value = (value == true ? 1 : 0); |
- ASSERT_SUCCEEDED(key.Create(kHKCUClientStateKeyName)); |
- ASSERT_SUCCEEDED(key.SetValue(kAppDidRunValueName, new_value)); |
- } |
- |
- void DeleteUserDidRunValue() { |
- ASSERT_SUCCEEDED(RegKey::DeleteValue(kHKCUClientStateKeyName, |
- kAppDidRunValueName)); |
- } |
- |
- void CheckUserDidRunValue(bool expected) { |
- RegKey key; |
- ASSERT_SUCCEEDED(key.Open(kHKCUClientStateKeyName)); |
- |
- CString did_run_str(_T("0")); |
- ASSERT_SUCCEEDED(key.GetValue(kAppDidRunValueName, &did_run_str)); |
- bool value = (did_run_str == _T("1")) ? true : false; |
- |
- ASSERT_EQ(value, expected); |
- } |
- |
- bool UserDidRunValueExists() { |
- RegKey key; |
- if (FAILED(key.Open(kHKCUClientStateKeyName))) { |
- return false; |
- } |
- |
- CString did_run_str(_T("0")); |
- if (FAILED(key.GetValue(kAppDidRunValueName, &did_run_str))) { |
- return false; |
- } |
- |
- return true; |
- } |
- |
- void CreateLowIntegrityUserDidRunValue(bool value) { |
- RegKey key; |
- ASSERT_SUCCEEDED(key.Create(low_integrity_key_name_)); |
- ASSERT_SUCCEEDED(key.SetValue(kAppDidRunValueName, |
- (value == true) ? _T("1") : _T("0"))); |
- } |
- |
- void CreateLowIntegrityUserDidRunDwordValue(bool value) { |
- RegKey key; |
- DWORD new_value = (value == true ? 1 : 0); |
- ASSERT_SUCCEEDED(key.Create(low_integrity_key_name_)); |
- ASSERT_SUCCEEDED(key.SetValue(kAppDidRunValueName, new_value)); |
- } |
- |
- void DeleteLowIntegrityUserDidRunValue() { |
- ASSERT_SUCCEEDED(RegKey::DeleteValue(low_integrity_key_name_, |
- kAppDidRunValueName)); |
- } |
- |
- void CheckLowIntegrityUserDidRunValue(bool expected) { |
- RegKey key; |
- ASSERT_SUCCEEDED(key.Open(low_integrity_key_name_)); |
- |
- CString did_run_str(_T("0")); |
- ASSERT_SUCCEEDED(key.GetValue(kAppDidRunValueName, &did_run_str)); |
- bool value = (did_run_str == _T("1")) ? true : false; |
- |
- ASSERT_EQ(value, expected); |
- } |
- |
- bool LowIntegrityUserDidRunValueExists() { |
- RegKey key; |
- if (FAILED(key.Open(low_integrity_key_name_))) { |
- return false; |
- } |
- |
- CString did_run_str(_T("0")); |
- if (FAILED(key.GetValue(kAppDidRunValueName, &did_run_str))) { |
- return false; |
- } |
- |
- return true; |
- } |
- |
- // This method takes in machine_did_run, user_did_run and |
- // low_user_did_run as int's. The idea is that the test tries to simulate |
- // all of these values as being not-present, and if present then true or |
- // false. |
- // -1 indicates non-presense, 1 indicates true, and 0 false. The caller |
- // then loops over all these values to capture testing all the permutations. |
- void TestUserAndMachineDidRun(int machine_did_run, |
- int user_did_run, |
- int low_user_did_run, |
- bool expected_exists, |
- bool expected_did_run, |
- int is_vista) { |
- ApplicationUsageData data(true, is_vista ? true : false); |
- |
- // Set up the registry for the test. |
- if (machine_did_run != -1) { |
- CreateMachineDidRunValue((machine_did_run == 1) ? true: false); |
- } |
- |
- if (user_did_run != -1) { |
- CreateUserDidRunValue((user_did_run == 1) ? true: false); |
- } |
- |
- if (low_user_did_run != -1) { |
- CreateLowIntegrityUserDidRunValue((low_user_did_run == 1) ? true: false); |
- } |
- |
- // Perform the test. |
- ASSERT_SUCCEEDED(data.ReadDidRun(kAppGuid)); |
- ASSERT_EQ(data.exists(), expected_exists); |
- ASSERT_EQ(data.did_run(), expected_did_run); |
- |
- // Check the return values. |
- if (machine_did_run == -1) { |
- ASSERT_FALSE(MachineDidRunValueExists()); |
- } else { |
- CheckMachineDidRunValue((machine_did_run == 1) ? true: false); |
- } |
- |
- if (user_did_run == -1) { |
- ASSERT_FALSE(UserDidRunValueExists()); |
- } else { |
- CheckUserDidRunValue((user_did_run == 1) ? true: false); |
- } |
- |
- if (low_user_did_run == -1) { |
- ASSERT_FALSE(LowIntegrityUserDidRunValueExists()); |
- } else { |
- CheckLowIntegrityUserDidRunValue((low_user_did_run == 1) ? true: false); |
- } |
- } |
- |
- void TestUserAndMachineDidRunPostProcess(int machine_did_run, |
- int user_did_run, |
- int low_user_did_run, |
- bool expected_exists, |
- int is_vista) { |
- ApplicationUsageData data(true, is_vista ? true : false); |
- |
- // Setup the registry for the test. |
- if (machine_did_run != -1) { |
- CreateMachineDidRunValue((machine_did_run == 1) ? true: false); |
- } |
- |
- if (user_did_run != -1) { |
- CreateUserDidRunValue((user_did_run == 1) ? true: false); |
- } |
- |
- if (low_user_did_run != -1) { |
- CreateLowIntegrityUserDidRunValue((low_user_did_run == 1) ? true: false); |
- } |
- |
- // Run the test. |
- ASSERT_SUCCEEDED(data.ResetDidRun(kAppGuid)); |
- if (user_did_run == -1) { |
- ASSERT_FALSE(UserDidRunValueExists()); |
- } else { |
- CheckUserDidRunValue(false); |
- } |
- |
- if (low_user_did_run == -1) { |
- ASSERT_FALSE(LowIntegrityUserDidRunValueExists()); |
- } else { |
- if (is_vista) { |
- CheckLowIntegrityUserDidRunValue(false); |
- } else { |
- CheckLowIntegrityUserDidRunValue((low_user_did_run == 1) ? true: false); |
- } |
- } |
- |
- if (machine_did_run == -1) { |
- ASSERT_FALSE(MachineDidRunValueExists()); |
- } else { |
- if (user_did_run != -1 || (is_vista && low_user_did_run != -1)) { |
- // This means that the user keys exists for this application |
- // we should have delete the machine key. |
- ASSERT_EQ(MachineDidRunValueExists(), false); |
- } else { |
- CheckMachineDidRunValue(false); |
- } |
- } |
- |
- ASSERT_SUCCEEDED(data.ReadDidRun(kAppGuid)); |
- ASSERT_EQ(data.exists(), expected_exists); |
- ASSERT_EQ(data.did_run(), false); |
- } |
- |
- void UserTestDidRunPreProcess(int user_did_run, |
- int low_user_did_run, |
- int is_vista, |
- bool expected_exists, |
- bool expected_did_run) { |
- ApplicationUsageData data(false, is_vista ? true : false); |
- |
- // Set up the registry for the test. |
- CreateMachineDidRunValue(true); |
- |
- if (user_did_run != -1) { |
- CreateUserDidRunValue((user_did_run == 1) ? true: false); |
- } |
- |
- if (low_user_did_run != -1) { |
- CreateLowIntegrityUserDidRunValue((low_user_did_run == 1) ? true: false); |
- } |
- |
- // Perform the test. |
- ASSERT_SUCCEEDED(data.ReadDidRun(kAppGuid)); |
- ASSERT_EQ(data.exists(), expected_exists); |
- ASSERT_EQ(data.did_run(), expected_did_run); |
- |
- // The machine value should not have changed from what we set it to. |
- CheckMachineDidRunValue(true); |
- if (user_did_run == -1) { |
- // If we did not create the user value it should not exist. |
- ASSERT_FALSE(UserDidRunValueExists()); |
- } |
- |
- if (low_user_did_run == -1) { |
- // If we did not create the low integrity user value it should not exist. |
- ASSERT_FALSE(LowIntegrityUserDidRunValueExists()); |
- } |
- } |
- |
- void UserTestDidRunPostProcess(int user_did_run, |
- int low_user_did_run, |
- int is_vista) { |
- // Create a user ApplicationUsageData class. |
- ApplicationUsageData data(false, is_vista ? true : false); |
- |
- // This should not affect the test. |
- CreateMachineDidRunValue(true); |
- |
- if (user_did_run != -1) { |
- CreateUserDidRunValue((user_did_run == 1) ? true: false); |
- } |
- |
- if (low_user_did_run != -1) { |
- CreateLowIntegrityUserDidRunValue((low_user_did_run == 1) ? true: false); |
- } |
- |
- ASSERT_SUCCEEDED(data.ResetDidRun(kAppGuid)); |
- |
- // The machine did run shold never get affected. |
- CheckMachineDidRunValue(true); |
- if (user_did_run == -1) { |
- ASSERT_FALSE(UserDidRunValueExists()); |
- } else { |
- // In all cases if the HKCU did run is set, it should get cleared. |
- CheckUserDidRunValue(false); |
- } |
- |
- if (low_user_did_run == -1) { |
- ASSERT_FALSE(LowIntegrityUserDidRunValueExists()); |
- } else { |
- // In case of vista, the low integrity user value should get reset. |
- CheckLowIntegrityUserDidRunValue(is_vista ? false : |
- (low_user_did_run == 1) ? true : false); |
- } |
- } |
- |
- private: |
- CString low_integrity_key_name_; |
-}; |
- |
-TEST_F(ApplicationUsageDataTest, ReadDidRunUser1) { |
- ApplicationUsageData data(true, false); |
- |
- ASSERT_SUCCEEDED(data.ReadDidRun(kAppGuid)); |
- ASSERT_EQ(data.exists(), false); |
- ASSERT_EQ(data.did_run(), false); |
- |
- // Test with false user value. |
- CreateUserDidRunValue(false); |
- ASSERT_SUCCEEDED(data.ReadDidRun(kAppGuid)); |
- ASSERT_EQ(data.exists(), true); |
- ASSERT_EQ(data.did_run(), false); |
-} |
- |
-TEST_F(ApplicationUsageDataTest, ReadDwordDidRunUser1) { |
- ApplicationUsageData data(true, false); |
- |
- ASSERT_SUCCEEDED(data.ReadDidRun(kAppGuid)); |
- ASSERT_EQ(data.exists(), false); |
- ASSERT_EQ(data.did_run(), false); |
- |
- // Test with false user value. |
- CreateUserDidRunDwordValue(false); |
- ASSERT_SUCCEEDED(data.ReadDidRun(kAppGuid)); |
- ASSERT_EQ(data.exists(), true); |
- ASSERT_EQ(data.did_run(), false); |
-} |
- |
-TEST_F(ApplicationUsageDataTest, ReadDidRunUser2) { |
- // Test with true user value. |
- ApplicationUsageData data1(true, false); |
- CreateUserDidRunValue(true); |
- ASSERT_SUCCEEDED(data1.ReadDidRun(kAppGuid)); |
- ASSERT_EQ(data1.exists(), true); |
- ASSERT_EQ(data1.did_run(), true); |
-} |
- |
-TEST_F(ApplicationUsageDataTest, ReadDwordDidRunUser2) { |
- // Test with true user value. |
- ApplicationUsageData data1(true, false); |
- CreateUserDidRunDwordValue(true); |
- ASSERT_SUCCEEDED(data1.ReadDidRun(kAppGuid)); |
- ASSERT_EQ(data1.exists(), true); |
- ASSERT_EQ(data1.did_run(), true); |
-} |
- |
-TEST_F(ApplicationUsageDataTest, ReadDidRunUser3) { |
- // low integrity user = false, vista |
- ApplicationUsageData data2(true, true); |
- CreateLowIntegrityUserDidRunValue(false); |
- ASSERT_SUCCEEDED(data2.ReadDidRun(kAppGuid)); |
- ASSERT_EQ(data2.exists(), true); |
- ASSERT_EQ(data2.did_run(), false); |
-} |
- |
-TEST_F(ApplicationUsageDataTest, ReadDwordDidRunUser3) { |
- // low integrity user = false, vista |
- ApplicationUsageData data2(true, true); |
- CreateLowIntegrityUserDidRunDwordValue(false); |
- ASSERT_SUCCEEDED(data2.ReadDidRun(kAppGuid)); |
- ASSERT_EQ(data2.exists(), true); |
- ASSERT_EQ(data2.did_run(), false); |
-} |
- |
-TEST_F(ApplicationUsageDataTest, ReadDidRunUser4) { |
- // low integrity user = true, vista |
- ApplicationUsageData data2(true, true); |
- CreateLowIntegrityUserDidRunValue(true); |
- ASSERT_SUCCEEDED(data2.ReadDidRun(kAppGuid)); |
- ASSERT_EQ(data2.exists(), true); |
- ASSERT_EQ(data2.did_run(), true); |
-} |
- |
-TEST_F(ApplicationUsageDataTest, ReadDwordDidRunUser4) { |
- // low integrity user = true, vista |
- ApplicationUsageData data2(true, true); |
- CreateLowIntegrityUserDidRunDwordValue(true); |
- ASSERT_SUCCEEDED(data2.ReadDidRun(kAppGuid)); |
- ASSERT_EQ(data2.exists(), true); |
- ASSERT_EQ(data2.did_run(), true); |
-} |
- |
-TEST_F(ApplicationUsageDataTest, ReadDidRunUser5) { |
- // low integrity user = true, not vista |
- ApplicationUsageData data2(true, false); |
- CreateLowIntegrityUserDidRunValue(true); |
- ASSERT_SUCCEEDED(data2.ReadDidRun(kAppGuid)); |
- ASSERT_EQ(data2.exists(), false); |
- ASSERT_EQ(data2.did_run(), false); |
-} |
- |
-TEST_F(ApplicationUsageDataTest, ReadDwordDidRunUser5) { |
- // low integrity user = true, not vista |
- ApplicationUsageData data2(true, false); |
- CreateLowIntegrityUserDidRunDwordValue(true); |
- ASSERT_SUCCEEDED(data2.ReadDidRun(kAppGuid)); |
- ASSERT_EQ(data2.exists(), false); |
- ASSERT_EQ(data2.did_run(), false); |
-} |
- |
-TEST_F(ApplicationUsageDataTest, ReadDidRunMachine1) { |
- if (!vista_util::IsUserAdmin()) { |
- return; |
- } |
- |
- ApplicationUsageData data(true, true); |
- |
- // create machine application key and test |
- CreateMachineDidRunValue(false); |
- ASSERT_SUCCEEDED(data.ReadDidRun(kAppGuid)); |
- ASSERT_EQ(data.exists(), true); |
- ASSERT_EQ(data.did_run(), false); |
-} |
- |
-TEST_F(ApplicationUsageDataTest, ReadDwordDidRunMachine1) { |
- if (!vista_util::IsUserAdmin()) { |
- return; |
- } |
- |
- ApplicationUsageData data(true, true); |
- |
- // create machine application key and test |
- CreateMachineDidRunDwordValue(false); |
- ASSERT_SUCCEEDED(data.ReadDidRun(kAppGuid)); |
- ASSERT_EQ(data.exists(), true); |
- ASSERT_EQ(data.did_run(), false); |
-} |
- |
-TEST_F(ApplicationUsageDataTest, ReadDidRunMachine2) { |
- if (!vista_util::IsUserAdmin()) { |
- return; |
- } |
- |
- ApplicationUsageData data1(true, true); |
- CreateMachineDidRunValue(true); |
- ASSERT_SUCCEEDED(data1.ReadDidRun(kAppGuid)); |
- ASSERT_EQ(data1.exists(), true); |
- ASSERT_EQ(data1.did_run(), true); |
-} |
- |
-TEST_F(ApplicationUsageDataTest, ReadDwordDidRunMachine2) { |
- if (!vista_util::IsUserAdmin()) { |
- return; |
- } |
- |
- ApplicationUsageData data1(true, true); |
- CreateMachineDidRunDwordValue(true); |
- ASSERT_SUCCEEDED(data1.ReadDidRun(kAppGuid)); |
- ASSERT_EQ(data1.exists(), true); |
- ASSERT_EQ(data1.did_run(), true); |
-} |
- |
-TEST_F(ApplicationUsageDataTest, ReadDidRunBoth1) { |
- if (!vista_util::IsUserAdmin()) { |
- return; |
- } |
- |
- // We try all combinations of machine, user and low integrity user |
- // registry value for did run. -1 indicates the value does not exist |
- // 1 indicates true and 0 indicates false. |
- for (int vista = 0; vista < 2; ++vista) { |
- for (int machine = -1; machine < 2; ++machine) { |
- for (int user = -1; user < 2; ++user) { |
- for (int lowuser = -1; lowuser < 2; ++lowuser) { |
- bool expected_did_run = false; |
- bool expected_exists = false; |
- |
- if (machine > -1 || user > -1 || (vista && lowuser > -1)) { |
- expected_exists = true; |
- } |
- |
- if (machine > 0 || user > 0 || (vista && lowuser > 0)) { |
- expected_did_run = true; |
- } |
- |
- TestUserAndMachineDidRun(machine, user, lowuser, |
- expected_exists, |
- expected_did_run, |
- vista); |
- TearDown(); |
- } |
- } |
- } |
- } |
-} |
- |
-TEST_F(ApplicationUsageDataTest, ResetDidRunUser1) { |
- ApplicationUsageData data(true, true); |
- |
- // create user application key and test |
- CreateUserDidRunValue(false); |
- ASSERT_SUCCEEDED(data.ResetDidRun(kAppGuid)); |
- CheckUserDidRunValue(false); |
- |
- ASSERT_SUCCEEDED(data.ReadDidRun(kAppGuid)); |
- ASSERT_EQ(data.exists(), true); |
- ASSERT_EQ(data.did_run(), false); |
-} |
- |
-TEST_F(ApplicationUsageDataTest, ResetDidRunUser2) { |
- ApplicationUsageData data1(true, true); |
- CreateUserDidRunValue(true); |
- ASSERT_SUCCEEDED(data1.ResetDidRun(kAppGuid)); |
- CheckUserDidRunValue(false); |
- |
- ASSERT_SUCCEEDED(data1.ReadDidRun(kAppGuid)); |
- ASSERT_EQ(data1.exists(), true); |
- ASSERT_EQ(data1.did_run(), false); |
-} |
- |
-TEST_F(ApplicationUsageDataTest, ResetDidRunUser3) { |
- ApplicationUsageData data(true, true); |
- |
- // create user application key and test |
- CreateUserDidRunDwordValue(false); |
- ASSERT_SUCCEEDED(data.ResetDidRun(kAppGuid)); |
- CheckUserDidRunValue(false); |
- |
- ASSERT_SUCCEEDED(data.ReadDidRun(kAppGuid)); |
- ASSERT_EQ(data.exists(), true); |
- ASSERT_EQ(data.did_run(), false); |
-} |
- |
-TEST_F(ApplicationUsageDataTest, ResetDidRunUser4) { |
- ApplicationUsageData data1(true, true); |
- CreateUserDidRunDwordValue(true); |
- ASSERT_SUCCEEDED(data1.ResetDidRun(kAppGuid)); |
- CheckUserDidRunValue(false); |
- |
- ASSERT_SUCCEEDED(data1.ReadDidRun(kAppGuid)); |
- ASSERT_EQ(data1.exists(), true); |
- ASSERT_EQ(data1.did_run(), false); |
-} |
- |
-TEST_F(ApplicationUsageDataTest, ResetDidRunMachine1) { |
- if (!vista_util::IsUserAdmin()) { |
- return; |
- } |
- |
- ApplicationUsageData data(true, true); |
- CreateMachineDidRunValue(false); |
- ASSERT_SUCCEEDED(data.ResetDidRun(kAppGuid)); |
- CheckMachineDidRunValue(false); |
- |
- ASSERT_SUCCEEDED(data.ReadDidRun(kAppGuid)); |
- ASSERT_EQ(data.exists(), true); |
- ASSERT_EQ(data.did_run(), false); |
-} |
- |
-TEST_F(ApplicationUsageDataTest, ResetDidRunMachine2) { |
- if (!vista_util::IsUserAdmin()) { |
- return; |
- } |
- |
- ApplicationUsageData data1(true, true); |
- CreateMachineDidRunValue(true); |
- ASSERT_SUCCEEDED(data1.ResetDidRun(kAppGuid)); |
- CheckMachineDidRunValue(false); |
- |
- ASSERT_SUCCEEDED(data1.ReadDidRun(kAppGuid)); |
- ASSERT_EQ(data1.exists(), true); |
- ASSERT_EQ(data1.did_run(), false); |
-} |
- |
-TEST_F(ApplicationUsageDataTest, ResetDidRunMachine3) { |
- if (!vista_util::IsUserAdmin()) { |
- return; |
- } |
- |
- ApplicationUsageData data(true, true); |
- CreateMachineDidRunDwordValue(false); |
- ASSERT_SUCCEEDED(data.ResetDidRun(kAppGuid)); |
- CheckMachineDidRunValue(false); |
- |
- ASSERT_SUCCEEDED(data.ReadDidRun(kAppGuid)); |
- ASSERT_EQ(data.exists(), true); |
- ASSERT_EQ(data.did_run(), false); |
-} |
- |
-TEST_F(ApplicationUsageDataTest, ResetDidRunMachine4) { |
- if (!vista_util::IsUserAdmin()) { |
- return; |
- } |
- |
- ApplicationUsageData data1(true, true); |
- CreateMachineDidRunDwordValue(true); |
- ASSERT_SUCCEEDED(data1.ResetDidRun(kAppGuid)); |
- CheckMachineDidRunValue(false); |
- |
- ASSERT_SUCCEEDED(data1.ReadDidRun(kAppGuid)); |
- ASSERT_EQ(data1.exists(), true); |
- ASSERT_EQ(data1.did_run(), false); |
-} |
- |
-TEST_F(ApplicationUsageDataTest, ResetDidRunBoth) { |
- if (!vista_util::IsUserAdmin()) { |
- return; |
- } |
- |
- // We try all combinations of machine, user and low integrity user |
- // registry value for did run. -1 indicates the value does not exist |
- // 1 indicates true and 0 indicates false. |
- for (int vista = 0; vista < 2; ++vista) { |
- for (int machine = -1; machine < 2; ++machine) { |
- for (int user = -1; user < 2; ++user) { |
- for (int lowuser = -1; lowuser < 2; ++lowuser) { |
- bool expected_exists = false; |
- if (machine > -1 || user > -1 || (vista && lowuser > -1)) { |
- expected_exists = true; |
- } |
- |
- TestUserAndMachineDidRunPostProcess(machine, user, lowuser, |
- expected_exists, |
- vista); |
- TearDown(); |
- } |
- } |
- } |
- } |
-} |
- |
-TEST_F(ApplicationUsageDataTest, UserReadDidRunUser) { |
- for (int vista = 0; vista < 2; ++vista) { |
- for (int user = -1; user < 2; ++user) { |
- for (int lowuser = -1; lowuser < 2; ++lowuser) { |
- bool expected_exists = false; |
- bool expected_did_run = false; |
- |
- if (user != -1 || (vista && lowuser != -1)) { |
- expected_exists = true; |
- } |
- |
- if (user > 0 || (vista && lowuser > 0)) { |
- expected_did_run = true; |
- } |
- |
- UserTestDidRunPreProcess(user, lowuser, vista, expected_exists, |
- expected_did_run); |
- TearDown(); |
- } |
- } |
- } |
-} |
- |
-TEST_F(ApplicationUsageDataTest, UserResetDidRunUser1) { |
- for (int vista = 0; vista < 2; ++vista) { |
- for (int user = -1; user < 2; ++user) { |
- for (int lowuser = -1; lowuser < 2; ++lowuser) { |
- UserTestDidRunPostProcess(user, lowuser, vista); |
- TearDown(); |
- } |
- } |
- } |
-} |
- |
-} // namespace omaha |