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

Side by Side Diff: chrome/browser/chromeos/login/hwid_checker_unittest.cc

Issue 2919933002: Revert of ChromeOS: Per-user time zone: refactor tests first. (Closed)
Patch Set: Created 3 years, 6 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 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 "chrome/browser/chromeos/login/hwid_checker.h"
6 #include "base/sys_info.h" 5 #include "base/sys_info.h"
7 #include "base/test/scoped_command_line.h" 6 #include "base/test/scoped_command_line.h"
8 #include "base/time/time.h" 7 #include "base/time/time.h"
9 #include "chrome/browser/chromeos/scoped_set_running_on_chromeos_for_testing.h" 8 #include "chrome/browser/chromeos/login/hwid_checker.h"
10 #include "chromeos/system/fake_statistics_provider.h" 9 #include "chromeos/system/fake_statistics_provider.h"
11 #include "content/public/common/content_switches.h" 10 #include "content/public/common/content_switches.h"
12 #include "testing/gtest/include/gtest/gtest.h" 11 #include "testing/gtest/include/gtest/gtest.h"
13 12
13
14 namespace chromeos { 14 namespace chromeos {
15 15
16 TEST(HWIDCheckerTest, EmptyHWID) { 16 TEST(HWIDCheckerTest, EmptyHWID) {
17 EXPECT_FALSE(IsHWIDCorrect("")); 17 EXPECT_FALSE(IsHWIDCorrect(""));
18 } 18 }
19 19
20 TEST(HWIDCheckerTest, HWIDv2) { 20 TEST(HWIDCheckerTest, HWIDv2) {
21 EXPECT_TRUE(IsHWIDCorrect("SOME DATA 7861")); 21 EXPECT_TRUE(IsHWIDCorrect("SOME DATA 7861"));
22 EXPECT_FALSE(IsHWIDCorrect("SOME DATA 7861 ")); 22 EXPECT_FALSE(IsHWIDCorrect("SOME DATA 7861 "));
23 EXPECT_FALSE(IsHWIDCorrect("SOME DATA 786 1")); 23 EXPECT_FALSE(IsHWIDCorrect("SOME DATA 786 1"));
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
121 EXPECT_FALSE(IsHWIDCorrect("DELL HORIZ0N MAGENTA 8992")); 121 EXPECT_FALSE(IsHWIDCorrect("DELL HORIZ0N MAGENTA 8992"));
122 122
123 EXPECT_TRUE(IsHWIDCorrect("DELL HORIZON MAGENTA DVT 4770")); 123 EXPECT_TRUE(IsHWIDCorrect("DELL HORIZON MAGENTA DVT 4770"));
124 EXPECT_FALSE(IsHWIDCorrect("DELL MAGENTA HORIZON DVT 4770")); 124 EXPECT_FALSE(IsHWIDCorrect("DELL MAGENTA HORIZON DVT 4770"));
125 125
126 EXPECT_TRUE(IsHWIDCorrect("SAMS ALEX GAMMA DVT 9247")); 126 EXPECT_TRUE(IsHWIDCorrect("SAMS ALEX GAMMA DVT 9247"));
127 EXPECT_FALSE(IsHWIDCorrect("SAMS ALPX GAMMA DVT 9247")); 127 EXPECT_FALSE(IsHWIDCorrect("SAMS ALPX GAMMA DVT 9247"));
128 } 128 }
129 129
130 #if defined(GOOGLE_CHROME_BUILD) 130 #if defined(GOOGLE_CHROME_BUILD)
131 const char kLsbRelease[] = 131
132 "CHROMEOS_RELEASE_NAME=Chrome OS\n" 132 // Sets a valid Chrome OS version info so IsRunningOnChromeOS() returns true.
133 "CHROMEOS_RELEASE_VERSION=1.2.3.4\n"; 133 void SetRunningOnChromeOS() {
134 const char kLsbRelease[] =
135 "CHROMEOS_RELEASE_NAME=Chrome OS\n"
136 "CHROMEOS_RELEASE_VERSION=1.2.3.4\n";
137 base::SysInfo::SetChromeOSVersionInfoForTest(kLsbRelease, base::Time());
138 }
134 139
135 // Test logic for command line "test-type" switch. 140 // Test logic for command line "test-type" switch.
136 TEST(MachineHWIDCheckerTest, TestSwitch) { 141 TEST(MachineHWIDCheckerTest, TestSwitch) {
137 // GIVEN test switch is active. 142 // GIVEN test switch is active.
138 base::test::ScopedCommandLine scoped_command_line; 143 base::test::ScopedCommandLine scoped_command_line;
139 scoped_command_line.GetProcessCommandLine()->AppendSwitch( 144 scoped_command_line.GetProcessCommandLine()->AppendSwitch(
140 ::switches::kTestType); 145 ::switches::kTestType);
141 146
142 // THEN IsMachineHWIDCorrect() is always true. 147 // THEN IsMachineHWIDCorrect() is always true.
143 EXPECT_TRUE(IsMachineHWIDCorrect()); 148 EXPECT_TRUE(IsMachineHWIDCorrect());
144 ScopedSetRunningOnChromeOSForTesting fake_release(kLsbRelease, base::Time()); 149 SetRunningOnChromeOS();
145 EXPECT_TRUE(IsMachineHWIDCorrect()); 150 EXPECT_TRUE(IsMachineHWIDCorrect());
146 151
147 system::ScopedFakeStatisticsProvider fake_statistics_provider; 152 system::ScopedFakeStatisticsProvider fake_statistics_provider;
148 fake_statistics_provider.SetMachineStatistic(system::kHardwareClassKey, 153 fake_statistics_provider.SetMachineStatistic(system::kHardwareClassKey,
149 "INVALID_HWID"); 154 "INVALID_HWID");
150 EXPECT_TRUE(IsMachineHWIDCorrect()); 155 EXPECT_TRUE(IsMachineHWIDCorrect());
151 fake_statistics_provider.ClearMachineStatistic(system::kHardwareClassKey); 156 fake_statistics_provider.ClearMachineStatistic(system::kHardwareClassKey);
152 EXPECT_TRUE(IsMachineHWIDCorrect()); 157 EXPECT_TRUE(IsMachineHWIDCorrect());
153 } 158 }
154 159
155 // Test logic when not running on Chrome OS. 160 // Test logic when not running on Chrome OS.
156 TEST(MachineHWIDCheckerTest, NotOnChromeOS) { 161 TEST(MachineHWIDCheckerTest, NotOnChromeOS) {
157 // GIVEN the OS is not Chrome OS. 162 // GIVEN the OS is not Chrome OS.
158 ScopedSetRunningOnChromeOSForTesting fake_release("", base::Time()); 163 base::SysInfo::SetChromeOSVersionInfoForTest("", base::Time());
159 164
160 // THEN IsMachineHWIDCorrect() is always true. 165 // THEN IsMachineHWIDCorrect() is always true.
161 EXPECT_TRUE(IsMachineHWIDCorrect()); 166 EXPECT_TRUE(IsMachineHWIDCorrect());
162 167
163 system::ScopedFakeStatisticsProvider fake_statistics_provider; 168 system::ScopedFakeStatisticsProvider fake_statistics_provider;
164 fake_statistics_provider.SetMachineStatistic(system::kHardwareClassKey, 169 fake_statistics_provider.SetMachineStatistic(system::kHardwareClassKey,
165 "INVALID_HWID"); 170 "INVALID_HWID");
166 EXPECT_TRUE(IsMachineHWIDCorrect()); 171 EXPECT_TRUE(IsMachineHWIDCorrect());
167 fake_statistics_provider.ClearMachineStatistic(system::kHardwareClassKey); 172 fake_statistics_provider.ClearMachineStatistic(system::kHardwareClassKey);
168 EXPECT_TRUE(IsMachineHWIDCorrect()); 173 EXPECT_TRUE(IsMachineHWIDCorrect());
169 } 174 }
170 175
171 // Test logic when running on Chrome OS but the HWID is not present. 176 // Test logic when running on Chrome OS but the HWID is not present.
172 TEST(MachineHWIDCheckerTest, OnCrosNoHWID) { 177 TEST(MachineHWIDCheckerTest, OnCrosNoHWID) {
173 // GIVEN the OS is Chrome OS. 178 // GIVEN the OS is Chrome OS.
174 ScopedSetRunningOnChromeOSForTesting fake_release(kLsbRelease, base::Time()); 179 SetRunningOnChromeOS();
175 180
176 // GIVEN the HWID is not present. 181 // GIVEN the HWID is not present.
177 system::ScopedFakeStatisticsProvider fake_statistics_provider; 182 system::ScopedFakeStatisticsProvider fake_statistics_provider;
178 fake_statistics_provider.ClearMachineStatistic(system::kHardwareClassKey); 183 fake_statistics_provider.ClearMachineStatistic(system::kHardwareClassKey);
179 184
180 // WHEN Chrome OS is running in a VM. 185 // WHEN Chrome OS is running in a VM.
181 fake_statistics_provider.SetMachineStatistic(system::kIsVmKey, 186 fake_statistics_provider.SetMachineStatistic(system::kIsVmKey,
182 system::kIsVmValueTrue); 187 system::kIsVmValueTrue);
183 // THEN IsMachineHWIDCorrect() is true. 188 // THEN IsMachineHWIDCorrect() is true.
184 EXPECT_TRUE(IsMachineHWIDCorrect()); 189 EXPECT_TRUE(IsMachineHWIDCorrect());
185 // WHEN Chrome OS is not running in a VM. 190 // WHEN Chrome OS is not running in a VM.
186 fake_statistics_provider.ClearMachineStatistic(system::kIsVmKey); 191 fake_statistics_provider.ClearMachineStatistic(system::kIsVmKey);
187 // THEN IsMachineHWIDCorrect() is always false. 192 // THEN IsMachineHWIDCorrect() is always false.
188 EXPECT_FALSE(IsMachineHWIDCorrect()); 193 EXPECT_FALSE(IsMachineHWIDCorrect());
189 fake_statistics_provider.SetMachineStatistic(system::kIsVmKey, 194 fake_statistics_provider.SetMachineStatistic(system::kIsVmKey,
190 system::kIsVmValueFalse); 195 system::kIsVmValueFalse);
191 EXPECT_FALSE(IsMachineHWIDCorrect()); 196 EXPECT_FALSE(IsMachineHWIDCorrect());
192 } 197 }
193 198
194 // Test logic when the HWID is valid. 199 // Test logic when the HWID is valid.
195 TEST(MachineHWIDCheckerTest, ValidHWID) { 200 TEST(MachineHWIDCheckerTest, ValidHWID) {
196 // GIVEN the HWID is valid. 201 // GIVEN the HWID is valid.
197 system::ScopedFakeStatisticsProvider fake_statistics_provider; 202 system::ScopedFakeStatisticsProvider fake_statistics_provider;
198 fake_statistics_provider.SetMachineStatistic(system::kHardwareClassKey, 203 fake_statistics_provider.SetMachineStatistic(system::kHardwareClassKey,
199 "DELL HORIZON MAGENTA DVT 4770"); 204 "DELL HORIZON MAGENTA DVT 4770");
200 205
201 // THEN IsMachineHWIDCorrect() is always true. 206 // THEN IsMachineHWIDCorrect() is always true.
202 ScopedSetRunningOnChromeOSForTesting fake_release(kLsbRelease, base::Time()); 207 SetRunningOnChromeOS();
203 EXPECT_TRUE(IsMachineHWIDCorrect()); 208 EXPECT_TRUE(IsMachineHWIDCorrect());
204 fake_statistics_provider.SetMachineStatistic(system::kIsVmKey, 209 fake_statistics_provider.SetMachineStatistic(system::kIsVmKey,
205 system::kIsVmValueFalse); 210 system::kIsVmValueFalse);
206 EXPECT_TRUE(IsMachineHWIDCorrect()); 211 EXPECT_TRUE(IsMachineHWIDCorrect());
207 fake_statistics_provider.SetMachineStatistic(system::kIsVmKey, 212 fake_statistics_provider.SetMachineStatistic(system::kIsVmKey,
208 system::kIsVmValueTrue); 213 system::kIsVmValueTrue);
209 EXPECT_TRUE(IsMachineHWIDCorrect()); 214 EXPECT_TRUE(IsMachineHWIDCorrect());
210 } 215 }
211 216
212 // Test logic when running inside a VM. 217 // Test logic when running inside a VM.
213 TEST(MachineHWIDCheckerTest, InVM) { 218 TEST(MachineHWIDCheckerTest, InVM) {
214 // GIVEN kIsVmKey is kIsVmValueTrue. 219 // GIVEN kIsVmKey is kIsVmValueTrue.
215 system::ScopedFakeStatisticsProvider fake_statistics_provider; 220 system::ScopedFakeStatisticsProvider fake_statistics_provider;
216 fake_statistics_provider.SetMachineStatistic(system::kIsVmKey, 221 fake_statistics_provider.SetMachineStatistic(system::kIsVmKey,
217 system::kIsVmValueTrue); 222 system::kIsVmValueTrue);
218 223
219 // GIVEN the OS is Chrome OS. 224 // GIVEN the OS is Chrome OS.
220 ScopedSetRunningOnChromeOSForTesting fake_release(kLsbRelease, base::Time()); 225 SetRunningOnChromeOS();
221 // THEN IsMachineHWIDCorrect() is always true. 226 // THEN IsMachineHWIDCorrect() is always true.
222 fake_statistics_provider.SetMachineStatistic(system::kHardwareClassKey, 227 fake_statistics_provider.SetMachineStatistic(system::kHardwareClassKey,
223 "INVALID_HWID"); 228 "INVALID_HWID");
224 EXPECT_TRUE(IsMachineHWIDCorrect()); 229 EXPECT_TRUE(IsMachineHWIDCorrect());
225 fake_statistics_provider.SetMachineStatistic(system::kHardwareClassKey, ""); 230 fake_statistics_provider.SetMachineStatistic(system::kHardwareClassKey, "");
226 EXPECT_TRUE(IsMachineHWIDCorrect()); 231 EXPECT_TRUE(IsMachineHWIDCorrect());
227 fake_statistics_provider.SetMachineStatistic(system::kHardwareClassKey, 232 fake_statistics_provider.SetMachineStatistic(system::kHardwareClassKey,
228 "DELL HORIZON MAGENTA DVT 4770"); 233 "DELL HORIZON MAGENTA DVT 4770");
229 EXPECT_TRUE(IsMachineHWIDCorrect()); 234 EXPECT_TRUE(IsMachineHWIDCorrect());
230 fake_statistics_provider.ClearMachineStatistic(system::kHardwareClassKey); 235 fake_statistics_provider.ClearMachineStatistic(system::kHardwareClassKey);
231 EXPECT_TRUE(IsMachineHWIDCorrect()); 236 EXPECT_TRUE(IsMachineHWIDCorrect());
232 } 237 }
233 238
234 // Test logic when HWID is invalid and we're not in a VM. 239 // Test logic when HWID is invalid and we're not in a VM.
235 TEST(MachineHWIDCheckerTest, InvalidHWIDInVMNotTrue) { 240 TEST(MachineHWIDCheckerTest, InvalidHWIDInVMNotTrue) {
236 // GIVEN the OS is Chrome OS. 241 // GIVEN the OS is Chrome OS.
237 ScopedSetRunningOnChromeOSForTesting fake_release(kLsbRelease, base::Time()); 242 SetRunningOnChromeOS();
238 243
239 // GIVEN the HWID is invalid. 244 // GIVEN the HWID is invalid.
240 system::ScopedFakeStatisticsProvider fake_statistics_provider; 245 system::ScopedFakeStatisticsProvider fake_statistics_provider;
241 fake_statistics_provider.SetMachineStatistic(system::kHardwareClassKey, 246 fake_statistics_provider.SetMachineStatistic(system::kHardwareClassKey,
242 "INVALID_HWID"); 247 "INVALID_HWID");
243 248
244 // GIVEN kIsVmKey is anything but kIsVmValueTrue. 249 // GIVEN kIsVmKey is anything but kIsVmValueTrue.
245 // THEN IsMachineHWIDCorrect() is always false. 250 // THEN IsMachineHWIDCorrect() is always false.
246 fake_statistics_provider.SetMachineStatistic(system::kIsVmKey, 251 fake_statistics_provider.SetMachineStatistic(system::kIsVmKey,
247 system::kIsVmValueFalse); 252 system::kIsVmValueFalse);
(...skipping 14 matching lines...) Expand all
262 // Test non-Google Chromium builds. 267 // Test non-Google Chromium builds.
263 TEST(MachineHWIDCheckerTest, NonGoogleBuild) { 268 TEST(MachineHWIDCheckerTest, NonGoogleBuild) {
264 // GIVEN this is not a Google build. 269 // GIVEN this is not a Google build.
265 // THEN IsMachineHWIDCorrect() is always true. 270 // THEN IsMachineHWIDCorrect() is always true.
266 EXPECT_TRUE(IsMachineHWIDCorrect()); 271 EXPECT_TRUE(IsMachineHWIDCorrect());
267 } 272 }
268 273
269 #endif // defined(GOOGLE_CHROME_BUILD) 274 #endif // defined(GOOGLE_CHROME_BUILD)
270 } // namespace chromeos 275 } // namespace chromeos
271 276
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698