OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include <string> | 5 #include <string> |
6 | 6 |
7 #include "base/basictypes.h" | 7 #include "base/basictypes.h" |
8 #include "base/strings/string_number_conversions.h" | 8 #include "base/strings/string_number_conversions.h" |
9 #include "base/time/time.h" | 9 #include "base/time/time.h" |
10 #include "base/win/registry.h" | 10 #include "base/win/registry.h" |
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
100 EXPECT_TRUE(HasBeenReactivated()); | 100 EXPECT_TRUE(HasBeenReactivated()); |
101 } | 101 } |
102 | 102 |
103 TEST_F(GCAPIReactivationTest, CanOfferReactivation_Basic) { | 103 TEST_F(GCAPIReactivationTest, CanOfferReactivation_Basic) { |
104 DWORD error; | 104 DWORD error; |
105 | 105 |
106 // We're not installed yet. Make sure CanOfferReactivation fails. | 106 // We're not installed yet. Make sure CanOfferReactivation fails. |
107 EXPECT_FALSE(CanOfferReactivation(L"GAGA", | 107 EXPECT_FALSE(CanOfferReactivation(L"GAGA", |
108 GCAPI_INVOKED_STANDARD_SHELL, | 108 GCAPI_INVOKED_STANDARD_SHELL, |
109 &error)); | 109 &error)); |
110 EXPECT_EQ(REACTIVATE_ERROR_NOTINSTALLED, error); | 110 EXPECT_EQ(static_cast<DWORD>(REACTIVATE_ERROR_NOTINSTALLED), error); |
111 | 111 |
112 // Now pretend to be installed. CanOfferReactivation should pass. | 112 // Now pretend to be installed. CanOfferReactivation should pass. |
113 EXPECT_TRUE(SetChromeInstallMarker(HKEY_CURRENT_USER)); | 113 EXPECT_TRUE(SetChromeInstallMarker(HKEY_CURRENT_USER)); |
114 EXPECT_TRUE(CanOfferReactivation(L"GAGA", | 114 EXPECT_TRUE(CanOfferReactivation(L"GAGA", |
115 GCAPI_INVOKED_STANDARD_SHELL, | 115 GCAPI_INVOKED_STANDARD_SHELL, |
116 &error)); | 116 &error)); |
117 | 117 |
118 // Now set a recent last_run value. CanOfferReactivation should fail again. | 118 // Now set a recent last_run value. CanOfferReactivation should fail again. |
119 Time hkcu_last_run = Time::NowFromSystemTime() - TimeDelta::FromDays(20); | 119 Time hkcu_last_run = Time::NowFromSystemTime() - TimeDelta::FromDays(20); |
120 EXPECT_TRUE(SetLastRunTime(HKEY_CURRENT_USER, | 120 EXPECT_TRUE(SetLastRunTime(HKEY_CURRENT_USER, |
121 hkcu_last_run.ToInternalValue())); | 121 hkcu_last_run.ToInternalValue())); |
122 EXPECT_FALSE(CanOfferReactivation(L"GAGA", | 122 EXPECT_FALSE(CanOfferReactivation(L"GAGA", |
123 GCAPI_INVOKED_STANDARD_SHELL, | 123 GCAPI_INVOKED_STANDARD_SHELL, |
124 &error)); | 124 &error)); |
125 EXPECT_EQ(REACTIVATE_ERROR_NOTDORMANT, error); | 125 EXPECT_EQ(static_cast<DWORD>(REACTIVATE_ERROR_NOTDORMANT), error); |
126 | 126 |
127 // Now set a last_run value that exceeds the threshold. | 127 // Now set a last_run value that exceeds the threshold. |
128 hkcu_last_run = Time::NowFromSystemTime() - | 128 hkcu_last_run = Time::NowFromSystemTime() - |
129 TimeDelta::FromDays(kReactivationMinDaysDormant); | 129 TimeDelta::FromDays(kReactivationMinDaysDormant); |
130 EXPECT_TRUE(SetLastRunTime(HKEY_CURRENT_USER, | 130 EXPECT_TRUE(SetLastRunTime(HKEY_CURRENT_USER, |
131 hkcu_last_run.ToInternalValue())); | 131 hkcu_last_run.ToInternalValue())); |
132 EXPECT_TRUE(CanOfferReactivation(L"GAGA", | 132 EXPECT_TRUE(CanOfferReactivation(L"GAGA", |
133 GCAPI_INVOKED_STANDARD_SHELL, | 133 GCAPI_INVOKED_STANDARD_SHELL, |
134 &error)); | 134 &error)); |
135 | 135 |
136 // Test some invalid inputs | 136 // Test some invalid inputs |
137 EXPECT_FALSE(CanOfferReactivation(NULL, | 137 EXPECT_FALSE(CanOfferReactivation(NULL, |
138 GCAPI_INVOKED_STANDARD_SHELL, | 138 GCAPI_INVOKED_STANDARD_SHELL, |
139 &error)); | 139 &error)); |
140 EXPECT_EQ(REACTIVATE_ERROR_INVALID_INPUT, error); | 140 EXPECT_EQ(static_cast<DWORD>(REACTIVATE_ERROR_INVALID_INPUT), error); |
141 | 141 |
142 // One more valid one | 142 // One more valid one |
143 EXPECT_TRUE(CanOfferReactivation(L"GAGA", | 143 EXPECT_TRUE(CanOfferReactivation(L"GAGA", |
144 GCAPI_INVOKED_STANDARD_SHELL, | 144 GCAPI_INVOKED_STANDARD_SHELL, |
145 &error)); | 145 &error)); |
146 | 146 |
147 // Check that the previous brands check works: | 147 // Check that the previous brands check works: |
148 EXPECT_TRUE(SetReactivationBrandCode(L"GOOGOO", | 148 EXPECT_TRUE(SetReactivationBrandCode(L"GOOGOO", |
149 GCAPI_INVOKED_STANDARD_SHELL)); | 149 GCAPI_INVOKED_STANDARD_SHELL)); |
150 EXPECT_FALSE(CanOfferReactivation(L"GAGA", | 150 EXPECT_FALSE(CanOfferReactivation(L"GAGA", |
151 GCAPI_INVOKED_STANDARD_SHELL, | 151 GCAPI_INVOKED_STANDARD_SHELL, |
152 &error)); | 152 &error)); |
153 EXPECT_EQ(REACTIVATE_ERROR_ALREADY_REACTIVATED, error); | 153 EXPECT_EQ(static_cast<DWORD>(REACTIVATE_ERROR_ALREADY_REACTIVATED), error); |
154 } | 154 } |
155 | 155 |
156 TEST_F(GCAPIReactivationTest, Reactivation_Flow) { | 156 TEST_F(GCAPIReactivationTest, Reactivation_Flow) { |
157 DWORD error; | 157 DWORD error; |
158 | 158 |
159 // Set us up as a candidate for reactivation. | 159 // Set us up as a candidate for reactivation. |
160 EXPECT_TRUE(SetChromeInstallMarker(HKEY_CURRENT_USER)); | 160 EXPECT_TRUE(SetChromeInstallMarker(HKEY_CURRENT_USER)); |
161 | 161 |
162 Time hkcu_last_run = Time::NowFromSystemTime() - | 162 Time hkcu_last_run = Time::NowFromSystemTime() - |
163 TimeDelta::FromDays(kReactivationMinDaysDormant); | 163 TimeDelta::FromDays(kReactivationMinDaysDormant); |
164 EXPECT_TRUE(SetLastRunTime(HKEY_CURRENT_USER, | 164 EXPECT_TRUE(SetLastRunTime(HKEY_CURRENT_USER, |
165 hkcu_last_run.ToInternalValue())); | 165 hkcu_last_run.ToInternalValue())); |
166 | 166 |
167 EXPECT_TRUE(ReactivateChrome(L"GAGA", | 167 EXPECT_TRUE(ReactivateChrome(L"GAGA", |
168 GCAPI_INVOKED_STANDARD_SHELL, | 168 GCAPI_INVOKED_STANDARD_SHELL, |
169 &error)); | 169 &error)); |
170 EXPECT_EQ(L"GAGA", GetReactivationString(HKEY_CURRENT_USER)); | 170 EXPECT_EQ(L"GAGA", GetReactivationString(HKEY_CURRENT_USER)); |
171 | 171 |
172 // Make sure we can't reactivate again: | 172 // Make sure we can't reactivate again: |
173 EXPECT_FALSE(ReactivateChrome(L"GAGA", | 173 EXPECT_FALSE(ReactivateChrome(L"GAGA", |
174 GCAPI_INVOKED_STANDARD_SHELL, | 174 GCAPI_INVOKED_STANDARD_SHELL, |
175 &error)); | 175 &error)); |
176 EXPECT_EQ(REACTIVATE_ERROR_ALREADY_REACTIVATED, error); | 176 EXPECT_EQ(static_cast<DWORD>(REACTIVATE_ERROR_ALREADY_REACTIVATED), error); |
177 | 177 |
178 // Should not be able to reactivate under other brands: | 178 // Should not be able to reactivate under other brands: |
179 EXPECT_FALSE(ReactivateChrome(L"MAMA", | 179 EXPECT_FALSE(ReactivateChrome(L"MAMA", |
180 GCAPI_INVOKED_STANDARD_SHELL, | 180 GCAPI_INVOKED_STANDARD_SHELL, |
181 &error)); | 181 &error)); |
182 EXPECT_EQ(L"GAGA", GetReactivationString(HKEY_CURRENT_USER)); | 182 EXPECT_EQ(L"GAGA", GetReactivationString(HKEY_CURRENT_USER)); |
183 | 183 |
184 // Validate that previous_brands are rejected: | 184 // Validate that previous_brands are rejected: |
185 EXPECT_FALSE(ReactivateChrome(L"PFFT", | 185 EXPECT_FALSE(ReactivateChrome(L"PFFT", |
186 GCAPI_INVOKED_STANDARD_SHELL, | 186 GCAPI_INVOKED_STANDARD_SHELL, |
187 &error)); | 187 &error)); |
188 EXPECT_EQ(REACTIVATE_ERROR_ALREADY_REACTIVATED, error); | 188 EXPECT_EQ(static_cast<DWORD>(REACTIVATE_ERROR_ALREADY_REACTIVATED), error); |
189 EXPECT_EQ(L"GAGA", GetReactivationString(HKEY_CURRENT_USER)); | 189 EXPECT_EQ(L"GAGA", GetReactivationString(HKEY_CURRENT_USER)); |
190 } | 190 } |
191 | 191 |
192 TEST_F(GCAPIReactivationTest, ExperimentLabelCheck) { | 192 TEST_F(GCAPIReactivationTest, ExperimentLabelCheck) { |
193 DWORD error; | 193 DWORD error; |
194 | 194 |
195 // Set us up as a candidate for reactivation. | 195 // Set us up as a candidate for reactivation. |
196 EXPECT_TRUE(SetChromeInstallMarker(HKEY_CURRENT_USER)); | 196 EXPECT_TRUE(SetChromeInstallMarker(HKEY_CURRENT_USER)); |
197 | 197 |
198 Time hkcu_last_run = Time::NowFromSystemTime() - | 198 Time hkcu_last_run = Time::NowFromSystemTime() - |
199 TimeDelta::FromDays(kReactivationMinDaysDormant); | 199 TimeDelta::FromDays(kReactivationMinDaysDormant); |
200 EXPECT_TRUE(SetLastRunTime(HKEY_CURRENT_USER, | 200 EXPECT_TRUE(SetLastRunTime(HKEY_CURRENT_USER, |
201 hkcu_last_run.ToInternalValue())); | 201 hkcu_last_run.ToInternalValue())); |
202 | 202 |
203 EXPECT_TRUE(ReactivateChrome(L"GAGA", | 203 EXPECT_TRUE(ReactivateChrome(L"GAGA", |
204 GCAPI_INVOKED_STANDARD_SHELL, | 204 GCAPI_INVOKED_STANDARD_SHELL, |
205 &error)); | 205 &error)); |
206 EXPECT_EQ(L"GAGA", GetReactivationString(HKEY_CURRENT_USER)); | 206 EXPECT_EQ(L"GAGA", GetReactivationString(HKEY_CURRENT_USER)); |
207 | 207 |
208 EXPECT_TRUE(HasExperimentLabels(HKEY_CURRENT_USER)); | 208 EXPECT_TRUE(HasExperimentLabels(HKEY_CURRENT_USER)); |
209 } | 209 } |
OLD | NEW |