| 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 |