omaha_request_params_unittest.cc revision 49d91329a3a84d7e2b35f6e1ffc8a9b4d478515b
1a4a8a8ccc2d9e0285728ed247b43f09433e63323Darin Petkov// Copyright (c) 2010 The Chromium OS Authors. All rights reserved. 23defe6acb3609e70e851a6eff062577d25a2af9dadlr@google.com// Use of this source code is governed by a BSD-style license that can be 33defe6acb3609e70e851a6eff062577d25a2af9dadlr@google.com// found in the LICENSE file. 43defe6acb3609e70e851a6eff062577d25a2af9dadlr@google.com 53defe6acb3609e70e851a6eff062577d25a2af9dadlr@google.com#include <stdio.h> 6fbb40098314ab45efa60667ad7ccae354c4f18daDarin Petkov 73defe6acb3609e70e851a6eff062577d25a2af9dadlr@google.com#include <string> 8fbb40098314ab45efa60667ad7ccae354c4f18daDarin Petkov 9fbb40098314ab45efa60667ad7ccae354c4f18daDarin Petkov#include "base/file_util.h" 10fbb40098314ab45efa60667ad7ccae354c4f18daDarin Petkov#include "gtest/gtest.h" 113defe6acb3609e70e851a6eff062577d25a2af9dadlr@google.com#include "update_engine/install_plan.h" 12a4a8a8ccc2d9e0285728ed247b43f09433e63323Darin Petkov#include "update_engine/omaha_request_params.h" 133defe6acb3609e70e851a6eff062577d25a2af9dadlr@google.com#include "update_engine/test_utils.h" 143defe6acb3609e70e851a6eff062577d25a2af9dadlr@google.com#include "update_engine/utils.h" 153defe6acb3609e70e851a6eff062577d25a2af9dadlr@google.com 163defe6acb3609e70e851a6eff062577d25a2af9dadlr@google.comusing std::string; 173defe6acb3609e70e851a6eff062577d25a2af9dadlr@google.com 183defe6acb3609e70e851a6eff062577d25a2af9dadlr@google.comnamespace chromeos_update_engine { 193defe6acb3609e70e851a6eff062577d25a2af9dadlr@google.com 20a4a8a8ccc2d9e0285728ed247b43f09433e63323Darin Petkovclass OmahaRequestDeviceParamsTest : public ::testing::Test { 215a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov protected: 22a4a8a8ccc2d9e0285728ed247b43f09433e63323Darin Petkov // Return true iff the OmahaRequestDeviceParams::Init succeeded. If 23a4a8a8ccc2d9e0285728ed247b43f09433e63323Darin Petkov // out is non-NULL, it's set w/ the generated data. 245a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov bool DoTest(OmahaRequestParams* out, const string& app_version, 255a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov const string& omaha_url); 265a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov 275a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov virtual void SetUp() { 285a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov ASSERT_EQ(0, System(string("mkdir -p ") + kTestDir + "/etc")); 295a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov ASSERT_EQ(0, System(string("mkdir -p ") + kTestDir + 305a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov utils::kStatefulPartition + "/etc")); 3149d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov params_.set_root(string("./") + kTestDir); 3249d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov params_.SetBuildTypeOfficial(false); 335a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov } 345a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov 355a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov virtual void TearDown() { 365a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov EXPECT_EQ(0, System(string("rm -rf ") + kTestDir)); 375a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov } 385a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov 3949d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov OmahaRequestDeviceParams params_; 4049d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov 413defe6acb3609e70e851a6eff062577d25a2af9dadlr@google.com static const string kTestDir; 423defe6acb3609e70e851a6eff062577d25a2af9dadlr@google.com}; 433defe6acb3609e70e851a6eff062577d25a2af9dadlr@google.com 44a4a8a8ccc2d9e0285728ed247b43f09433e63323Darin Petkovconst string OmahaRequestDeviceParamsTest::kTestDir = 45a4a8a8ccc2d9e0285728ed247b43f09433e63323Darin Petkov "omaha_request_device_params-test"; 463defe6acb3609e70e851a6eff062577d25a2af9dadlr@google.com 475a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkovbool OmahaRequestDeviceParamsTest::DoTest(OmahaRequestParams* out, 485a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov const string& app_version, 495a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov const string& omaha_url) { 5049d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov bool success = params_.Init(app_version, omaha_url); 513defe6acb3609e70e851a6eff062577d25a2af9dadlr@google.com if (out) 5249d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov *out = params_; 53a4a8a8ccc2d9e0285728ed247b43f09433e63323Darin Petkov return success; 543defe6acb3609e70e851a6eff062577d25a2af9dadlr@google.com} 553defe6acb3609e70e851a6eff062577d25a2af9dadlr@google.com 563defe6acb3609e70e851a6eff062577d25a2af9dadlr@google.comnamespace { 573defe6acb3609e70e851a6eff062577d25a2af9dadlr@google.comstring GetMachineType() { 583defe6acb3609e70e851a6eff062577d25a2af9dadlr@google.com FILE* fp = popen("uname -m", "r"); 593defe6acb3609e70e851a6eff062577d25a2af9dadlr@google.com if (!fp) 603defe6acb3609e70e851a6eff062577d25a2af9dadlr@google.com return ""; 613defe6acb3609e70e851a6eff062577d25a2af9dadlr@google.com string ret; 623defe6acb3609e70e851a6eff062577d25a2af9dadlr@google.com for (;;) { 633defe6acb3609e70e851a6eff062577d25a2af9dadlr@google.com char buffer[10]; 643defe6acb3609e70e851a6eff062577d25a2af9dadlr@google.com size_t r = fread(buffer, 1, sizeof(buffer), fp); 653defe6acb3609e70e851a6eff062577d25a2af9dadlr@google.com if (r == 0) 663defe6acb3609e70e851a6eff062577d25a2af9dadlr@google.com break; 673defe6acb3609e70e851a6eff062577d25a2af9dadlr@google.com ret.insert(ret.begin(), buffer, buffer + r); 683defe6acb3609e70e851a6eff062577d25a2af9dadlr@google.com } 693defe6acb3609e70e851a6eff062577d25a2af9dadlr@google.com // strip trailing '\n' if it exists 703defe6acb3609e70e851a6eff062577d25a2af9dadlr@google.com if ((*ret.rbegin()) == '\n') 713defe6acb3609e70e851a6eff062577d25a2af9dadlr@google.com ret.resize(ret.size() - 1); 723defe6acb3609e70e851a6eff062577d25a2af9dadlr@google.com fclose(fp); 733defe6acb3609e70e851a6eff062577d25a2af9dadlr@google.com return ret; 743defe6acb3609e70e851a6eff062577d25a2af9dadlr@google.com} 753defe6acb3609e70e851a6eff062577d25a2af9dadlr@google.com} // namespace {} 763defe6acb3609e70e851a6eff062577d25a2af9dadlr@google.com 77a4a8a8ccc2d9e0285728ed247b43f09433e63323Darin PetkovTEST_F(OmahaRequestDeviceParamsTest, SimpleTest) { 785a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov ASSERT_TRUE(WriteFileString( 795a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov kTestDir + "/etc/lsb-release", 805a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov "CHROMEOS_RELEASE_BOARD=arm-generic\n" 815a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov "CHROMEOS_RELEASE_FOO=bar\n" 825a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov "CHROMEOS_RELEASE_VERSION=0.2.2.3\n" 835a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov "CHROMEOS_RELEASE_TRACK=footrack\n" 845a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov "CHROMEOS_AUSERVER=http://www.google.com")); 855a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov OmahaRequestParams out; 865a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov EXPECT_TRUE(DoTest(&out, "", "")); 875a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov EXPECT_EQ("Chrome OS", out.os_platform); 885a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov EXPECT_EQ(string("0.2.2.3_") + GetMachineType(), out.os_sp); 895a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov EXPECT_EQ("arm-generic", out.os_board); 905a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov EXPECT_EQ("{87efface-864d-49a5-9bb3-4b050a7c227a}", out.app_id); 915a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov EXPECT_EQ("0.2.2.3", out.app_version); 925a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov EXPECT_EQ("en-US", out.app_lang); 93fbb40098314ab45efa60667ad7ccae354c4f18daDarin Petkov EXPECT_EQ("", out.hardware_class); 945a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov EXPECT_TRUE(out.delta_okay); 955a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov EXPECT_EQ("footrack", out.app_track); 965a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov EXPECT_EQ("http://www.google.com", out.update_url); 973defe6acb3609e70e851a6eff062577d25a2af9dadlr@google.com} 983defe6acb3609e70e851a6eff062577d25a2af9dadlr@google.com 99a4a8a8ccc2d9e0285728ed247b43f09433e63323Darin PetkovTEST_F(OmahaRequestDeviceParamsTest, MissingTrackTest) { 1005a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov ASSERT_TRUE(WriteFileString( 1015a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov kTestDir + "/etc/lsb-release", 1025a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov "CHROMEOS_RELEASE_FOO=bar\n" 1035a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov "CHROMEOS_RELEASE_VERSION=0.2.2.3\n" 1045a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov "CHROMEOS_RELEASE_TRXCK=footrack")); 1055a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov OmahaRequestParams out; 1065a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov EXPECT_TRUE(DoTest(&out, "", "")); 1075a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov EXPECT_EQ("Chrome OS", out.os_platform); 1085a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov EXPECT_EQ(string("0.2.2.3_") + GetMachineType(), out.os_sp); 1095a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov EXPECT_EQ("{87efface-864d-49a5-9bb3-4b050a7c227a}", out.app_id); 1105a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov EXPECT_EQ("0.2.2.3", out.app_version); 1115a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov EXPECT_EQ("en-US", out.app_lang); 1125a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov EXPECT_EQ("", out.app_track); 1133defe6acb3609e70e851a6eff062577d25a2af9dadlr@google.com} 1143defe6acb3609e70e851a6eff062577d25a2af9dadlr@google.com 115a4a8a8ccc2d9e0285728ed247b43f09433e63323Darin PetkovTEST_F(OmahaRequestDeviceParamsTest, ConfusingReleaseTest) { 1165a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov ASSERT_TRUE(WriteFileString( 1175a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov kTestDir + "/etc/lsb-release", 1185a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov "CHROMEOS_RELEASE_FOO=CHROMEOS_RELEASE_VERSION=1.2.3.4\n" 1195a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov "CHROMEOS_RELEASE_VERSION=0.2.2.3\n" 1205a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov "CHROMEOS_RELEASE_TRXCK=footrack")); 1215a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov OmahaRequestParams out; 1225a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov EXPECT_TRUE(DoTest(&out, "", "")); 1235a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov EXPECT_EQ("Chrome OS", out.os_platform); 1245a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov EXPECT_EQ(string("0.2.2.3_") + GetMachineType(), out.os_sp); 1255a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov EXPECT_EQ("{87efface-864d-49a5-9bb3-4b050a7c227a}", out.app_id); 1265a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov EXPECT_EQ("0.2.2.3", out.app_version); 1275a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov EXPECT_EQ("en-US", out.app_lang); 1285a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov EXPECT_EQ("", out.app_track); 1293defe6acb3609e70e851a6eff062577d25a2af9dadlr@google.com} 1303defe6acb3609e70e851a6eff062577d25a2af9dadlr@google.com 1315a7f565a542196f24eb87ddac96508f8a84e3329Darin PetkovTEST_F(OmahaRequestDeviceParamsTest, MissingVersionTest) { 1325a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov ASSERT_TRUE(WriteFileString( 1335a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov kTestDir + "/etc/lsb-release", 1345a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov "CHROMEOS_RELEASE_BOARD=arm-generic\n" 1355a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov "CHROMEOS_RELEASE_FOO=bar\n" 1365a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov "CHROMEOS_RELEASE_TRACK=footrack")); 1375a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov OmahaRequestParams out; 1385a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov EXPECT_TRUE(DoTest(&out, "", "")); 1395a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov EXPECT_EQ("Chrome OS", out.os_platform); 1405a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov EXPECT_EQ(string("_") + GetMachineType(), out.os_sp); 1415a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov EXPECT_EQ("arm-generic", out.os_board); 1425a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov EXPECT_EQ("{87efface-864d-49a5-9bb3-4b050a7c227a}", out.app_id); 1435a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov EXPECT_EQ("", out.app_version); 1445a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov EXPECT_EQ("en-US", out.app_lang); 1455a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov EXPECT_TRUE(out.delta_okay); 1465a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov EXPECT_EQ("footrack", out.app_track); 1475a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov} 1485a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov 1495a7f565a542196f24eb87ddac96508f8a84e3329Darin PetkovTEST_F(OmahaRequestDeviceParamsTest, ForceVersionTest) { 1505a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov ASSERT_TRUE(WriteFileString( 1515a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov kTestDir + "/etc/lsb-release", 1525a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov "CHROMEOS_RELEASE_BOARD=arm-generic\n" 1535a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov "CHROMEOS_RELEASE_FOO=bar\n" 1545a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov "CHROMEOS_RELEASE_TRACK=footrack")); 1555a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov OmahaRequestParams out; 1565a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov EXPECT_TRUE(DoTest(&out, "ForcedVersion", "")); 1575a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov EXPECT_EQ("Chrome OS", out.os_platform); 1585a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov EXPECT_EQ(string("ForcedVersion_") + GetMachineType(), out.os_sp); 1595a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov EXPECT_EQ("arm-generic", out.os_board); 1605a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov EXPECT_EQ("{87efface-864d-49a5-9bb3-4b050a7c227a}", out.app_id); 1615a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov EXPECT_EQ("ForcedVersion", out.app_version); 1625a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov EXPECT_EQ("en-US", out.app_lang); 1635a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov EXPECT_TRUE(out.delta_okay); 1645a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov EXPECT_EQ("footrack", out.app_track); 1655a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov} 1665a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov 1675a7f565a542196f24eb87ddac96508f8a84e3329Darin PetkovTEST_F(OmahaRequestDeviceParamsTest, ForcedURLTest) { 1685a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov ASSERT_TRUE(WriteFileString( 1695a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov kTestDir + "/etc/lsb-release", 1705a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov "CHROMEOS_RELEASE_BOARD=arm-generic\n" 1715a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov "CHROMEOS_RELEASE_FOO=bar\n" 1725a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov "CHROMEOS_RELEASE_VERSION=0.2.2.3\n" 1735a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov "CHROMEOS_RELEASE_TRACK=footrack")); 1745a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov OmahaRequestParams out; 1755a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov EXPECT_TRUE(DoTest(&out, "", "http://forced.google.com")); 1765a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov EXPECT_EQ("Chrome OS", out.os_platform); 1775a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov EXPECT_EQ(string("0.2.2.3_") + GetMachineType(), out.os_sp); 1785a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov EXPECT_EQ("arm-generic", out.os_board); 1795a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov EXPECT_EQ("{87efface-864d-49a5-9bb3-4b050a7c227a}", out.app_id); 1805a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov EXPECT_EQ("0.2.2.3", out.app_version); 1815a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov EXPECT_EQ("en-US", out.app_lang); 1825a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov EXPECT_TRUE(out.delta_okay); 1835a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov EXPECT_EQ("footrack", out.app_track); 1845a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov EXPECT_EQ("http://forced.google.com", out.update_url); 1855a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov} 1865a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov 1875a7f565a542196f24eb87ddac96508f8a84e3329Darin PetkovTEST_F(OmahaRequestDeviceParamsTest, MissingURLTest) { 1885a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov ASSERT_TRUE(WriteFileString( 1895a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov kTestDir + "/etc/lsb-release", 1905a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov "CHROMEOS_RELEASE_BOARD=arm-generic\n" 1915a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov "CHROMEOS_RELEASE_FOO=bar\n" 1925a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov "CHROMEOS_RELEASE_VERSION=0.2.2.3\n" 1935a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov "CHROMEOS_RELEASE_TRACK=footrack")); 1945a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov OmahaRequestParams out; 1955a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov EXPECT_TRUE(DoTest(&out, "", "")); 1965a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov EXPECT_EQ("Chrome OS", out.os_platform); 1975a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov EXPECT_EQ(string("0.2.2.3_") + GetMachineType(), out.os_sp); 1985a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov EXPECT_EQ("arm-generic", out.os_board); 1995a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov EXPECT_EQ("{87efface-864d-49a5-9bb3-4b050a7c227a}", out.app_id); 2005a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov EXPECT_EQ("0.2.2.3", out.app_version); 2015a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov EXPECT_EQ("en-US", out.app_lang); 2025a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov EXPECT_TRUE(out.delta_okay); 2035a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov EXPECT_EQ("footrack", out.app_track); 2045a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov EXPECT_EQ(OmahaRequestParams::kUpdateUrl, out.update_url); 205970bb28905b44bf9f2cb986bb412ecda1095b0b1Andrew de los Reyes} 206970bb28905b44bf9f2cb986bb412ecda1095b0b1Andrew de los Reyes 2073f0303aa211e2de2d466cef063ff6f39fffe32ddAndrew de los ReyesTEST_F(OmahaRequestDeviceParamsTest, NoDeltasTest) { 2083f0303aa211e2de2d466cef063ff6f39fffe32ddAndrew de los Reyes ASSERT_TRUE(WriteFileString( 2093f0303aa211e2de2d466cef063ff6f39fffe32ddAndrew de los Reyes kTestDir + "/etc/lsb-release", 2103f0303aa211e2de2d466cef063ff6f39fffe32ddAndrew de los Reyes "CHROMEOS_RELEASE_FOO=CHROMEOS_RELEASE_VERSION=1.2.3.4\n" 2113f0303aa211e2de2d466cef063ff6f39fffe32ddAndrew de los Reyes "CHROMEOS_RELEASE_VERSION=0.2.2.3\n" 2123f0303aa211e2de2d466cef063ff6f39fffe32ddAndrew de los Reyes "CHROMEOS_RELEASE_TRXCK=footrack")); 2133f0303aa211e2de2d466cef063ff6f39fffe32ddAndrew de los Reyes ASSERT_TRUE(WriteFileString(kTestDir + "/.nodelta", "")); 2143f0303aa211e2de2d466cef063ff6f39fffe32ddAndrew de los Reyes OmahaRequestParams out; 2155a7f565a542196f24eb87ddac96508f8a84e3329Darin Petkov EXPECT_TRUE(DoTest(&out, "", "")); 2163f0303aa211e2de2d466cef063ff6f39fffe32ddAndrew de los Reyes EXPECT_FALSE(out.delta_okay); 2173f0303aa211e2de2d466cef063ff6f39fffe32ddAndrew de los Reyes} 2183f0303aa211e2de2d466cef063ff6f39fffe32ddAndrew de los Reyes 219fbb40098314ab45efa60667ad7ccae354c4f18daDarin PetkovTEST_F(OmahaRequestDeviceParamsTest, HardwareClassTest) { 220fbb40098314ab45efa60667ad7ccae354c4f18daDarin Petkov string test_class = " \t sample hardware class \n "; 221fbb40098314ab45efa60667ad7ccae354c4f18daDarin Petkov FilePath hwid_path(kTestDir + "/sys/devices/platform/chromeos_acpi/HWID"); 222fbb40098314ab45efa60667ad7ccae354c4f18daDarin Petkov ASSERT_TRUE(file_util::CreateDirectory(hwid_path.DirName())); 223fbb40098314ab45efa60667ad7ccae354c4f18daDarin Petkov ASSERT_EQ(test_class.size(), 224fbb40098314ab45efa60667ad7ccae354c4f18daDarin Petkov file_util::WriteFile(hwid_path, 225fbb40098314ab45efa60667ad7ccae354c4f18daDarin Petkov test_class.data(), 226fbb40098314ab45efa60667ad7ccae354c4f18daDarin Petkov test_class.size())); 227fbb40098314ab45efa60667ad7ccae354c4f18daDarin Petkov OmahaRequestParams out; 228fbb40098314ab45efa60667ad7ccae354c4f18daDarin Petkov EXPECT_TRUE(DoTest(&out, "", "")); 229fbb40098314ab45efa60667ad7ccae354c4f18daDarin Petkov EXPECT_EQ("sample hardware class", out.hardware_class); 230fbb40098314ab45efa60667ad7ccae354c4f18daDarin Petkov} 231fbb40098314ab45efa60667ad7ccae354c4f18daDarin Petkov 23249d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin PetkovTEST_F(OmahaRequestDeviceParamsTest, OverrideTest) { 23349d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov ASSERT_TRUE(WriteFileString( 23449d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov kTestDir + "/etc/lsb-release", 23549d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov "CHROMEOS_RELEASE_BOARD=arm-generic\n" 23649d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov "CHROMEOS_RELEASE_FOO=bar\n" 23749d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov "CHROMEOS_RELEASE_VERSION=0.2.2.3\n" 23849d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov "CHROMEOS_RELEASE_TRACK=footrack\n" 23949d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov "CHROMEOS_AUSERVER=http://www.google.com")); 24049d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov ASSERT_TRUE(WriteFileString( 24149d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov kTestDir + utils::kStatefulPartition + "/etc/lsb-release", 24249d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov "CHROMEOS_RELEASE_BOARD=x86-generic\n" 24349d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov "CHROMEOS_RELEASE_TRACK=bartrack\n" 24449d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov "CHROMEOS_AUSERVER=http://www.google.com")); 24549d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov OmahaRequestParams out; 24649d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov EXPECT_TRUE(DoTest(&out, "", "")); 24749d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov EXPECT_EQ("Chrome OS", out.os_platform); 24849d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov EXPECT_EQ(string("0.2.2.3_") + GetMachineType(), out.os_sp); 24949d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov EXPECT_EQ("x86-generic", out.os_board); 25049d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov EXPECT_EQ("{87efface-864d-49a5-9bb3-4b050a7c227a}", out.app_id); 25149d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov EXPECT_EQ("0.2.2.3", out.app_version); 25249d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov EXPECT_EQ("en-US", out.app_lang); 25349d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov EXPECT_EQ("", out.hardware_class); 25449d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov EXPECT_TRUE(out.delta_okay); 25549d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov EXPECT_EQ("bartrack", out.app_track); 25649d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov EXPECT_EQ("http://www.google.com", out.update_url); 25749d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov} 25849d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov 25949d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin PetkovTEST_F(OmahaRequestDeviceParamsTest, SetTrackSimpleTest) { 26049d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov ASSERT_TRUE(WriteFileString( 26149d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov kTestDir + "/etc/lsb-release", 26249d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov "CHROMEOS_RELEASE_BOARD=arm-generic\n" 26349d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov "CHROMEOS_RELEASE_FOO=bar\n" 26449d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov "CHROMEOS_RELEASE_VERSION=0.2.2.3\n" 26549d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov "CHROMEOS_RELEASE_TRACK=footrack\n" 26649d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov "CHROMEOS_AUSERVER=http://www.google.com")); 26749d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov { 26849d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov OmahaRequestDeviceParams params; 26949d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov params.set_root(string("./") + kTestDir); 27049d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov params.SetBuildTypeOfficial(false); 27149d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov EXPECT_TRUE(params.Init("", "")); 27249d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov params.SetTrack("zootrack"); 27349d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov } 27449d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov OmahaRequestParams out; 27549d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov EXPECT_TRUE(DoTest(&out, "", "")); 27649d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov EXPECT_EQ("arm-generic", out.os_board); 27749d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov EXPECT_EQ("zootrack", out.app_track); 27849d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov} 27949d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov 28049d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin PetkovTEST_F(OmahaRequestDeviceParamsTest, SetTrackPreserveTest) { 28149d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov ASSERT_TRUE(WriteFileString( 28249d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov kTestDir + "/etc/lsb-release", 28349d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov "CHROMEOS_RELEASE_BOARD=arm-generic\n" 28449d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov "CHROMEOS_RELEASE_FOO=bar\n" 28549d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov "CHROMEOS_RELEASE_VERSION=0.2.2.3\n" 28649d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov "CHROMEOS_RELEASE_TRACK=footrack\n" 28749d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov "CHROMEOS_AUSERVER=http://www.google.com")); 28849d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov ASSERT_TRUE(WriteFileString( 28949d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov kTestDir + utils::kStatefulPartition + "/etc/lsb-release", 29049d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov "CHROMEOS_RELEASE_BOARD=x86-generic\n" 29149d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov "CHROMEOS_RELEASE_TRACK=bartrack")); 29249d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov { 29349d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov OmahaRequestDeviceParams params; 29449d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov params.set_root(string("./") + kTestDir); 29549d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov params.SetBuildTypeOfficial(false); 29649d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov EXPECT_TRUE(params.Init("", "")); 29749d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov params.SetTrack("zootrack"); 29849d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov } 29949d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov OmahaRequestParams out; 30049d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov EXPECT_TRUE(DoTest(&out, "", "")); 30149d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov EXPECT_EQ("x86-generic", out.os_board); 30249d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov EXPECT_EQ("zootrack", out.app_track); 30349d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov} 30449d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov 30549d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin PetkovTEST_F(OmahaRequestDeviceParamsTest, SetTrackInvalidTest) { 30649d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov ASSERT_TRUE(WriteFileString( 30749d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov kTestDir + "/etc/lsb-release", 30849d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov "CHROMEOS_RELEASE_BOARD=arm-generic\n" 30949d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov "CHROMEOS_RELEASE_FOO=bar\n" 31049d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov "CHROMEOS_RELEASE_VERSION=0.2.2.3\n" 31149d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov "CHROMEOS_RELEASE_TRACK=footrack\n" 31249d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov "CHROMEOS_AUSERVER=http://www.google.com")); 31349d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov { 31449d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov OmahaRequestDeviceParams params; 31549d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov params.set_root(string("./") + kTestDir); 31649d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov params.SetBuildTypeOfficial(true); 31749d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov EXPECT_TRUE(params.Init("", "")); 31849d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov params.SetTrack("zootrack"); 31949d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov } 32049d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov OmahaRequestParams out; 32149d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov EXPECT_TRUE(DoTest(&out, "", "")); 32249d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov EXPECT_EQ("arm-generic", out.os_board); 32349d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov EXPECT_EQ("footrack", out.app_track); 32449d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov} 32549d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov 32649d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin PetkovTEST_F(OmahaRequestDeviceParamsTest, IsValidTrackTest) { 32749d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov params_.SetBuildTypeOfficial(true); 32849d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov EXPECT_TRUE(params_.IsValidTrack("beta-channel")); 32949d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov EXPECT_TRUE(params_.IsValidTrack("dev-channel")); 33049d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov EXPECT_FALSE(params_.IsValidTrack("some-channel")); 33149d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov EXPECT_FALSE(params_.IsValidTrack("")); 33249d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov params_.SetBuildTypeOfficial(false); 33349d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov EXPECT_TRUE(params_.IsValidTrack("beta-channel")); 33449d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov EXPECT_TRUE(params_.IsValidTrack("dev-channel")); 33549d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov EXPECT_TRUE(params_.IsValidTrack("some-channel")); 33649d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov EXPECT_TRUE(params_.IsValidTrack("")); 33749d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov} 33849d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov 33949d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin PetkovTEST_F(OmahaRequestDeviceParamsTest, InvalidTrackTest) { 34049d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov ASSERT_TRUE(WriteFileString( 34149d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov kTestDir + "/etc/lsb-release", 34249d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov "CHROMEOS_RELEASE_BOARD=arm-generic\n" 34349d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov "CHROMEOS_RELEASE_FOO=bar\n" 34449d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov "CHROMEOS_RELEASE_VERSION=0.2.2.3\n" 34549d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov "CHROMEOS_RELEASE_TRACK=footrack\n" 34649d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov "CHROMEOS_AUSERVER=http://www.google.com")); 34749d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov params_.SetBuildTypeOfficial(true); 34849d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov OmahaRequestParams out; 34949d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov EXPECT_TRUE(DoTest(&out, "", "")); 35049d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov EXPECT_EQ("Chrome OS", out.os_platform); 35149d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov EXPECT_EQ(string("0.2.2.3_") + GetMachineType(), out.os_sp); 35249d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov EXPECT_EQ("arm-generic", out.os_board); 35349d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov EXPECT_EQ("{87efface-864d-49a5-9bb3-4b050a7c227a}", out.app_id); 35449d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov EXPECT_EQ("0.2.2.3", out.app_version); 35549d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov EXPECT_EQ("en-US", out.app_lang); 35649d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov EXPECT_EQ("", out.hardware_class); 35749d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov EXPECT_TRUE(out.delta_okay); 35849d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov EXPECT_EQ("", out.app_track); 35949d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov EXPECT_EQ("http://www.google.com", out.update_url); 36049d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov} 36149d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov 36249d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin PetkovTEST_F(OmahaRequestDeviceParamsTest, ValidTrackTest) { 36349d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov ASSERT_TRUE(WriteFileString( 36449d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov kTestDir + "/etc/lsb-release", 36549d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov "CHROMEOS_RELEASE_BOARD=arm-generic\n" 36649d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov "CHROMEOS_RELEASE_FOO=bar\n" 36749d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov "CHROMEOS_RELEASE_VERSION=0.2.2.3\n" 36849d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov "CHROMEOS_RELEASE_TRACK=dev-channel\n" 36949d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov "CHROMEOS_AUSERVER=http://www.google.com")); 37049d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov params_.SetBuildTypeOfficial(true); 37149d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov OmahaRequestParams out; 37249d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov EXPECT_TRUE(DoTest(&out, "", "")); 37349d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov EXPECT_EQ("Chrome OS", out.os_platform); 37449d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov EXPECT_EQ(string("0.2.2.3_") + GetMachineType(), out.os_sp); 37549d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov EXPECT_EQ("arm-generic", out.os_board); 37649d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov EXPECT_EQ("{87efface-864d-49a5-9bb3-4b050a7c227a}", out.app_id); 37749d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov EXPECT_EQ("0.2.2.3", out.app_version); 37849d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov EXPECT_EQ("en-US", out.app_lang); 37949d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov EXPECT_EQ("", out.hardware_class); 38049d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov EXPECT_TRUE(out.delta_okay); 38149d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov EXPECT_EQ("dev-channel", out.app_track); 38249d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov EXPECT_EQ("http://www.google.com", out.update_url); 38349d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov} 38449d91329a3a84d7e2b35f6e1ffc8a9b4d478515bDarin Petkov 3853defe6acb3609e70e851a6eff062577d25a2af9dadlr@google.com} // namespace chromeos_update_engine 386