OLD | NEW |
1 // Copyright (c) 2010 The Chromium OS Authors. All rights reserved. | 1 // Copyright (c) 2010 The Chromium OS 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 <stdio.h> | 5 #include <stdio.h> |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 | 8 |
9 #include "base/file_util.h" | 9 #include "base/file_util.h" |
10 #include "gtest/gtest.h" | 10 #include "gtest/gtest.h" |
(...skipping 12 matching lines...) Expand all Loading... |
23 // out is non-NULL, it's set w/ the generated data. | 23 // out is non-NULL, it's set w/ the generated data. |
24 bool DoTest(OmahaRequestParams* out, const string& app_version, | 24 bool DoTest(OmahaRequestParams* out, const string& app_version, |
25 const string& omaha_url); | 25 const string& omaha_url); |
26 | 26 |
27 virtual void SetUp() { | 27 virtual void SetUp() { |
28 ASSERT_EQ(0, System(string("mkdir -p ") + kTestDir + "/etc")); | 28 ASSERT_EQ(0, System(string("mkdir -p ") + kTestDir + "/etc")); |
29 ASSERT_EQ(0, System(string("mkdir -p ") + kTestDir + | 29 ASSERT_EQ(0, System(string("mkdir -p ") + kTestDir + |
30 utils::kStatefulPartition + "/etc")); | 30 utils::kStatefulPartition + "/etc")); |
31 params_.set_root(string("./") + kTestDir); | 31 params_.set_root(string("./") + kTestDir); |
32 params_.SetBuildTypeOfficial(false); | 32 params_.SetBuildTypeOfficial(false); |
| 33 params_.SetBootModeNormal(false); |
33 } | 34 } |
34 | 35 |
35 virtual void TearDown() { | 36 virtual void TearDown() { |
36 EXPECT_EQ(0, System(string("rm -rf ") + kTestDir)); | 37 EXPECT_EQ(0, System(string("rm -rf ") + kTestDir)); |
37 } | 38 } |
38 | 39 |
39 OmahaRequestDeviceParams params_; | 40 OmahaRequestDeviceParams params_; |
40 | 41 |
41 static const string kTestDir; | 42 static const string kTestDir; |
42 }; | 43 }; |
(...skipping 214 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
257 kTestDir + "/etc/lsb-release", | 258 kTestDir + "/etc/lsb-release", |
258 "CHROMEOS_RELEASE_BOARD=arm-generic\n" | 259 "CHROMEOS_RELEASE_BOARD=arm-generic\n" |
259 "CHROMEOS_RELEASE_FOO=bar\n" | 260 "CHROMEOS_RELEASE_FOO=bar\n" |
260 "CHROMEOS_RELEASE_VERSION=0.2.2.3\n" | 261 "CHROMEOS_RELEASE_VERSION=0.2.2.3\n" |
261 "CHROMEOS_RELEASE_TRACK=footrack\n" | 262 "CHROMEOS_RELEASE_TRACK=footrack\n" |
262 "CHROMEOS_AUSERVER=http://www.google.com")); | 263 "CHROMEOS_AUSERVER=http://www.google.com")); |
263 ASSERT_TRUE(WriteFileString( | 264 ASSERT_TRUE(WriteFileString( |
264 kTestDir + utils::kStatefulPartition + "/etc/lsb-release", | 265 kTestDir + utils::kStatefulPartition + "/etc/lsb-release", |
265 "CHROMEOS_RELEASE_BOARD=x86-generic\n" | 266 "CHROMEOS_RELEASE_BOARD=x86-generic\n" |
266 "CHROMEOS_RELEASE_TRACK=bartrack\n" | 267 "CHROMEOS_RELEASE_TRACK=bartrack\n" |
267 "CHROMEOS_AUSERVER=http://www.google.com")); | 268 "CHROMEOS_AUSERVER=https://www.google.com")); |
268 OmahaRequestParams out; | 269 OmahaRequestParams out; |
269 EXPECT_TRUE(DoTest(&out, "", "")); | 270 EXPECT_TRUE(DoTest(&out, "", "")); |
270 EXPECT_EQ("Chrome OS", out.os_platform); | 271 EXPECT_EQ("Chrome OS", out.os_platform); |
271 EXPECT_EQ(string("0.2.2.3_") + GetMachineType(), out.os_sp); | 272 EXPECT_EQ(string("0.2.2.3_") + GetMachineType(), out.os_sp); |
272 EXPECT_EQ("x86-generic", out.os_board); | 273 EXPECT_EQ("x86-generic", out.os_board); |
273 EXPECT_EQ("{87efface-864d-49a5-9bb3-4b050a7c227a}", out.app_id); | 274 EXPECT_EQ("{87efface-864d-49a5-9bb3-4b050a7c227a}", out.app_id); |
274 EXPECT_EQ("0.2.2.3", out.app_version); | 275 EXPECT_EQ("0.2.2.3", out.app_version); |
275 EXPECT_EQ("en-US", out.app_lang); | 276 EXPECT_EQ("en-US", out.app_lang); |
276 EXPECT_EQ("", out.hardware_class); | 277 EXPECT_EQ("", out.hardware_class); |
277 EXPECT_FALSE(out.delta_okay); | 278 EXPECT_FALSE(out.delta_okay); |
278 EXPECT_EQ("bartrack", out.app_track); | 279 EXPECT_EQ("bartrack", out.app_track); |
279 EXPECT_EQ("http://www.google.com", out.update_url); | 280 EXPECT_EQ("https://www.google.com", out.update_url); |
| 281 } |
| 282 |
| 283 TEST_F(OmahaRequestDeviceParamsTest, OverrideNonOfficialNormalBootTest) { |
| 284 ASSERT_TRUE(WriteFileString( |
| 285 kTestDir + "/etc/lsb-release", |
| 286 "CHROMEOS_RELEASE_BOARD=arm-generic\n" |
| 287 "CHROMEOS_RELEASE_FOO=bar\n" |
| 288 "CHROMEOS_RELEASE_VERSION=0.2.2.3\n" |
| 289 "CHROMEOS_RELEASE_TRACK=footrack\n" |
| 290 "CHROMEOS_AUSERVER=http://www.google.com")); |
| 291 ASSERT_TRUE(WriteFileString( |
| 292 kTestDir + utils::kStatefulPartition + "/etc/lsb-release", |
| 293 "CHROMEOS_RELEASE_BOARD=x86-generic\n" |
| 294 "CHROMEOS_RELEASE_TRACK=bartrack\n" |
| 295 "CHROMEOS_AUSERVER=https://www.google.com")); |
| 296 params_.SetBootModeNormal(true); |
| 297 OmahaRequestParams out; |
| 298 EXPECT_TRUE(DoTest(&out, "", "")); |
| 299 EXPECT_EQ("x86-generic", out.os_board); |
| 300 EXPECT_EQ("{87efface-864d-49a5-9bb3-4b050a7c227a}", out.app_id); |
| 301 EXPECT_EQ("0.2.2.3", out.app_version); |
| 302 EXPECT_EQ("", out.hardware_class); |
| 303 EXPECT_FALSE(out.delta_okay); |
| 304 EXPECT_EQ("bartrack", out.app_track); |
| 305 EXPECT_EQ("https://www.google.com", out.update_url); |
| 306 } |
| 307 |
| 308 TEST_F(OmahaRequestDeviceParamsTest, OverrideOfficialNormalBootTest) { |
| 309 ASSERT_TRUE(WriteFileString( |
| 310 kTestDir + "/etc/lsb-release", |
| 311 "CHROMEOS_RELEASE_BOARD=arm-generic\n" |
| 312 "CHROMEOS_RELEASE_FOO=bar\n" |
| 313 "CHROMEOS_RELEASE_VERSION=0.2.2.3\n" |
| 314 "CHROMEOS_RELEASE_TRACK=footrack\n" |
| 315 "CHROMEOS_AUSERVER=https://www.google.com")); |
| 316 ASSERT_TRUE(WriteFileString( |
| 317 kTestDir + utils::kStatefulPartition + "/etc/lsb-release", |
| 318 "CHROMEOS_RELEASE_BOARD=x86-generic\n" |
| 319 "CHROMEOS_RELEASE_TRACK=dev-channel\n" |
| 320 "CHROMEOS_AUSERVER=http://www.google.com")); |
| 321 params_.SetBuildTypeOfficial(true); |
| 322 params_.SetBootModeNormal(true); |
| 323 OmahaRequestParams out; |
| 324 EXPECT_TRUE(DoTest(&out, "", "")); |
| 325 EXPECT_EQ("arm-generic", out.os_board); |
| 326 EXPECT_EQ("{87efface-864d-49a5-9bb3-4b050a7c227a}", out.app_id); |
| 327 EXPECT_EQ("0.2.2.3", out.app_version); |
| 328 EXPECT_EQ("", out.hardware_class); |
| 329 EXPECT_FALSE(out.delta_okay); |
| 330 EXPECT_EQ("dev-channel", out.app_track); |
| 331 EXPECT_EQ("https://www.google.com", out.update_url); |
280 } | 332 } |
281 | 333 |
282 TEST_F(OmahaRequestDeviceParamsTest, OverrideSameTrackTest) { | 334 TEST_F(OmahaRequestDeviceParamsTest, OverrideSameTrackTest) { |
283 ASSERT_TRUE(WriteFileString( | 335 ASSERT_TRUE(WriteFileString( |
284 kTestDir + "/etc/lsb-release", | 336 kTestDir + "/etc/lsb-release", |
285 "CHROMEOS_RELEASE_BOARD=arm-generic\n" | 337 "CHROMEOS_RELEASE_BOARD=arm-generic\n" |
286 "CHROMEOS_RELEASE_FOO=bar\n" | 338 "CHROMEOS_RELEASE_FOO=bar\n" |
287 "CHROMEOS_RELEASE_VERSION=0.2.2.3\n" | 339 "CHROMEOS_RELEASE_VERSION=0.2.2.3\n" |
288 "CHROMEOS_RELEASE_TRACK=footrack\n" | 340 "CHROMEOS_RELEASE_TRACK=footrack\n" |
289 "CHROMEOS_AUSERVER=http://www.google.com")); | 341 "CHROMEOS_AUSERVER=http://www.google.com")); |
290 ASSERT_TRUE(WriteFileString( | 342 ASSERT_TRUE(WriteFileString( |
291 kTestDir + utils::kStatefulPartition + "/etc/lsb-release", | 343 kTestDir + utils::kStatefulPartition + "/etc/lsb-release", |
292 "CHROMEOS_RELEASE_BOARD=x86-generic\n" | 344 "CHROMEOS_RELEASE_BOARD=x86-generic\n" |
293 "CHROMEOS_RELEASE_TRACK=footrack")); | 345 "CHROMEOS_RELEASE_TRACK=footrack")); |
294 OmahaRequestParams out; | 346 OmahaRequestParams out; |
295 EXPECT_TRUE(DoTest(&out, "", "")); | 347 EXPECT_TRUE(DoTest(&out, "", "")); |
296 EXPECT_EQ("Chrome OS", out.os_platform); | |
297 EXPECT_EQ(string("0.2.2.3_") + GetMachineType(), out.os_sp); | |
298 EXPECT_EQ("x86-generic", out.os_board); | 348 EXPECT_EQ("x86-generic", out.os_board); |
299 EXPECT_EQ("{87efface-864d-49a5-9bb3-4b050a7c227a}", out.app_id); | 349 EXPECT_EQ("{87efface-864d-49a5-9bb3-4b050a7c227a}", out.app_id); |
300 EXPECT_EQ("0.2.2.3", out.app_version); | 350 EXPECT_EQ("0.2.2.3", out.app_version); |
301 EXPECT_EQ("en-US", out.app_lang); | |
302 EXPECT_EQ("", out.hardware_class); | 351 EXPECT_EQ("", out.hardware_class); |
303 EXPECT_TRUE(out.delta_okay); | 352 EXPECT_TRUE(out.delta_okay); |
304 EXPECT_EQ("footrack", out.app_track); | 353 EXPECT_EQ("footrack", out.app_track); |
305 EXPECT_EQ("http://www.google.com", out.update_url); | 354 EXPECT_EQ("http://www.google.com", out.update_url); |
306 } | 355 } |
307 | 356 |
308 TEST_F(OmahaRequestDeviceParamsTest, SetTrackSimpleTest) { | 357 TEST_F(OmahaRequestDeviceParamsTest, SetTrackSimpleTest) { |
309 ASSERT_TRUE(WriteFileString( | 358 ASSERT_TRUE(WriteFileString( |
310 kTestDir + "/etc/lsb-release", | 359 kTestDir + "/etc/lsb-release", |
311 "CHROMEOS_RELEASE_BOARD=arm-generic\n" | 360 "CHROMEOS_RELEASE_BOARD=arm-generic\n" |
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
427 EXPECT_EQ("{87efface-864d-49a5-9bb3-4b050a7c227a}", out.app_id); | 476 EXPECT_EQ("{87efface-864d-49a5-9bb3-4b050a7c227a}", out.app_id); |
428 EXPECT_EQ("0.2.2.3", out.app_version); | 477 EXPECT_EQ("0.2.2.3", out.app_version); |
429 EXPECT_EQ("en-US", out.app_lang); | 478 EXPECT_EQ("en-US", out.app_lang); |
430 EXPECT_EQ("", out.hardware_class); | 479 EXPECT_EQ("", out.hardware_class); |
431 EXPECT_TRUE(out.delta_okay); | 480 EXPECT_TRUE(out.delta_okay); |
432 EXPECT_EQ("dev-channel", out.app_track); | 481 EXPECT_EQ("dev-channel", out.app_track); |
433 EXPECT_EQ("http://www.google.com", out.update_url); | 482 EXPECT_EQ("http://www.google.com", out.update_url); |
434 } | 483 } |
435 | 484 |
436 } // namespace chromeos_update_engine | 485 } // namespace chromeos_update_engine |
OLD | NEW |