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

Unified Diff: omaha_request_params_unittest.cc

Issue 4103002: AU: Implement switching of tracks through SetTrack. (Closed) Base URL: ssh://git@gitrw.chromium.org:9222/update_engine.git
Patch Set: review comments Created 10 years, 2 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « omaha_request_params.cc ('k') | update_engine_client.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: omaha_request_params_unittest.cc
diff --git a/omaha_request_params_unittest.cc b/omaha_request_params_unittest.cc
index 0150a00292d395ceb9aa8039baca24cdb6eb9f14..c136e06ecabbac31b38206884e3f6474b831223a 100644
--- a/omaha_request_params_unittest.cc
+++ b/omaha_request_params_unittest.cc
@@ -28,12 +28,16 @@ class OmahaRequestDeviceParamsTest : public ::testing::Test {
ASSERT_EQ(0, System(string("mkdir -p ") + kTestDir + "/etc"));
ASSERT_EQ(0, System(string("mkdir -p ") + kTestDir +
utils::kStatefulPartition + "/etc"));
+ params_.set_root(string("./") + kTestDir);
+ params_.SetBuildTypeOfficial(false);
}
virtual void TearDown() {
EXPECT_EQ(0, System(string("rm -rf ") + kTestDir));
}
+ OmahaRequestDeviceParams params_;
+
static const string kTestDir;
};
@@ -43,11 +47,9 @@ const string OmahaRequestDeviceParamsTest::kTestDir =
bool OmahaRequestDeviceParamsTest::DoTest(OmahaRequestParams* out,
const string& app_version,
const string& omaha_url) {
- OmahaRequestDeviceParams params;
- params.set_root(string("./") + kTestDir);
- bool success = params.Init(app_version, omaha_url);
+ bool success = params_.Init(app_version, omaha_url);
if (out)
- *out = params;
+ *out = params_;
return success;
}
@@ -227,4 +229,157 @@ TEST_F(OmahaRequestDeviceParamsTest, HardwareClassTest) {
EXPECT_EQ("sample hardware class", out.hardware_class);
}
+TEST_F(OmahaRequestDeviceParamsTest, OverrideTest) {
+ ASSERT_TRUE(WriteFileString(
+ kTestDir + "/etc/lsb-release",
+ "CHROMEOS_RELEASE_BOARD=arm-generic\n"
+ "CHROMEOS_RELEASE_FOO=bar\n"
+ "CHROMEOS_RELEASE_VERSION=0.2.2.3\n"
+ "CHROMEOS_RELEASE_TRACK=footrack\n"
+ "CHROMEOS_AUSERVER=http://www.google.com"));
+ ASSERT_TRUE(WriteFileString(
+ kTestDir + utils::kStatefulPartition + "/etc/lsb-release",
+ "CHROMEOS_RELEASE_BOARD=x86-generic\n"
+ "CHROMEOS_RELEASE_TRACK=bartrack\n"
+ "CHROMEOS_AUSERVER=http://www.google.com"));
+ OmahaRequestParams out;
+ EXPECT_TRUE(DoTest(&out, "", ""));
+ EXPECT_EQ("Chrome OS", out.os_platform);
+ EXPECT_EQ(string("0.2.2.3_") + GetMachineType(), out.os_sp);
+ EXPECT_EQ("x86-generic", out.os_board);
+ EXPECT_EQ("{87efface-864d-49a5-9bb3-4b050a7c227a}", out.app_id);
+ EXPECT_EQ("0.2.2.3", out.app_version);
+ EXPECT_EQ("en-US", out.app_lang);
+ EXPECT_EQ("", out.hardware_class);
+ EXPECT_TRUE(out.delta_okay);
+ EXPECT_EQ("bartrack", out.app_track);
+ EXPECT_EQ("http://www.google.com", out.update_url);
+}
+
+TEST_F(OmahaRequestDeviceParamsTest, SetTrackSimpleTest) {
+ ASSERT_TRUE(WriteFileString(
+ kTestDir + "/etc/lsb-release",
+ "CHROMEOS_RELEASE_BOARD=arm-generic\n"
+ "CHROMEOS_RELEASE_FOO=bar\n"
+ "CHROMEOS_RELEASE_VERSION=0.2.2.3\n"
+ "CHROMEOS_RELEASE_TRACK=footrack\n"
+ "CHROMEOS_AUSERVER=http://www.google.com"));
+ {
+ OmahaRequestDeviceParams params;
+ params.set_root(string("./") + kTestDir);
+ params.SetBuildTypeOfficial(false);
+ EXPECT_TRUE(params.Init("", ""));
+ params.SetTrack("zootrack");
+ }
+ OmahaRequestParams out;
+ EXPECT_TRUE(DoTest(&out, "", ""));
+ EXPECT_EQ("arm-generic", out.os_board);
+ EXPECT_EQ("zootrack", out.app_track);
+}
+
+TEST_F(OmahaRequestDeviceParamsTest, SetTrackPreserveTest) {
+ ASSERT_TRUE(WriteFileString(
+ kTestDir + "/etc/lsb-release",
+ "CHROMEOS_RELEASE_BOARD=arm-generic\n"
+ "CHROMEOS_RELEASE_FOO=bar\n"
+ "CHROMEOS_RELEASE_VERSION=0.2.2.3\n"
+ "CHROMEOS_RELEASE_TRACK=footrack\n"
+ "CHROMEOS_AUSERVER=http://www.google.com"));
+ ASSERT_TRUE(WriteFileString(
+ kTestDir + utils::kStatefulPartition + "/etc/lsb-release",
+ "CHROMEOS_RELEASE_BOARD=x86-generic\n"
+ "CHROMEOS_RELEASE_TRACK=bartrack"));
+ {
+ OmahaRequestDeviceParams params;
+ params.set_root(string("./") + kTestDir);
+ params.SetBuildTypeOfficial(false);
+ EXPECT_TRUE(params.Init("", ""));
+ params.SetTrack("zootrack");
+ }
+ OmahaRequestParams out;
+ EXPECT_TRUE(DoTest(&out, "", ""));
+ EXPECT_EQ("x86-generic", out.os_board);
+ EXPECT_EQ("zootrack", out.app_track);
+}
+
+TEST_F(OmahaRequestDeviceParamsTest, SetTrackInvalidTest) {
+ ASSERT_TRUE(WriteFileString(
+ kTestDir + "/etc/lsb-release",
+ "CHROMEOS_RELEASE_BOARD=arm-generic\n"
+ "CHROMEOS_RELEASE_FOO=bar\n"
+ "CHROMEOS_RELEASE_VERSION=0.2.2.3\n"
+ "CHROMEOS_RELEASE_TRACK=footrack\n"
+ "CHROMEOS_AUSERVER=http://www.google.com"));
+ {
+ OmahaRequestDeviceParams params;
+ params.set_root(string("./") + kTestDir);
+ params.SetBuildTypeOfficial(true);
+ EXPECT_TRUE(params.Init("", ""));
+ params.SetTrack("zootrack");
+ }
+ OmahaRequestParams out;
+ EXPECT_TRUE(DoTest(&out, "", ""));
+ EXPECT_EQ("arm-generic", out.os_board);
+ EXPECT_EQ("footrack", out.app_track);
+}
+
+TEST_F(OmahaRequestDeviceParamsTest, IsValidTrackTest) {
+ params_.SetBuildTypeOfficial(true);
+ EXPECT_TRUE(params_.IsValidTrack("beta-channel"));
+ EXPECT_TRUE(params_.IsValidTrack("dev-channel"));
+ EXPECT_FALSE(params_.IsValidTrack("some-channel"));
+ EXPECT_FALSE(params_.IsValidTrack(""));
+ params_.SetBuildTypeOfficial(false);
+ EXPECT_TRUE(params_.IsValidTrack("beta-channel"));
+ EXPECT_TRUE(params_.IsValidTrack("dev-channel"));
+ EXPECT_TRUE(params_.IsValidTrack("some-channel"));
+ EXPECT_TRUE(params_.IsValidTrack(""));
+}
+
+TEST_F(OmahaRequestDeviceParamsTest, InvalidTrackTest) {
+ ASSERT_TRUE(WriteFileString(
+ kTestDir + "/etc/lsb-release",
+ "CHROMEOS_RELEASE_BOARD=arm-generic\n"
+ "CHROMEOS_RELEASE_FOO=bar\n"
+ "CHROMEOS_RELEASE_VERSION=0.2.2.3\n"
+ "CHROMEOS_RELEASE_TRACK=footrack\n"
+ "CHROMEOS_AUSERVER=http://www.google.com"));
+ params_.SetBuildTypeOfficial(true);
+ OmahaRequestParams out;
+ EXPECT_TRUE(DoTest(&out, "", ""));
+ EXPECT_EQ("Chrome OS", out.os_platform);
+ EXPECT_EQ(string("0.2.2.3_") + GetMachineType(), out.os_sp);
+ EXPECT_EQ("arm-generic", out.os_board);
+ EXPECT_EQ("{87efface-864d-49a5-9bb3-4b050a7c227a}", out.app_id);
+ EXPECT_EQ("0.2.2.3", out.app_version);
+ EXPECT_EQ("en-US", out.app_lang);
+ EXPECT_EQ("", out.hardware_class);
+ EXPECT_TRUE(out.delta_okay);
+ EXPECT_EQ("", out.app_track);
+ EXPECT_EQ("http://www.google.com", out.update_url);
+}
+
+TEST_F(OmahaRequestDeviceParamsTest, ValidTrackTest) {
+ ASSERT_TRUE(WriteFileString(
+ kTestDir + "/etc/lsb-release",
+ "CHROMEOS_RELEASE_BOARD=arm-generic\n"
+ "CHROMEOS_RELEASE_FOO=bar\n"
+ "CHROMEOS_RELEASE_VERSION=0.2.2.3\n"
+ "CHROMEOS_RELEASE_TRACK=dev-channel\n"
+ "CHROMEOS_AUSERVER=http://www.google.com"));
+ params_.SetBuildTypeOfficial(true);
+ OmahaRequestParams out;
+ EXPECT_TRUE(DoTest(&out, "", ""));
+ EXPECT_EQ("Chrome OS", out.os_platform);
+ EXPECT_EQ(string("0.2.2.3_") + GetMachineType(), out.os_sp);
+ EXPECT_EQ("arm-generic", out.os_board);
+ EXPECT_EQ("{87efface-864d-49a5-9bb3-4b050a7c227a}", out.app_id);
+ EXPECT_EQ("0.2.2.3", out.app_version);
+ EXPECT_EQ("en-US", out.app_lang);
+ EXPECT_EQ("", out.hardware_class);
+ EXPECT_TRUE(out.delta_okay);
+ EXPECT_EQ("dev-channel", out.app_track);
+ EXPECT_EQ("http://www.google.com", out.update_url);
+}
+
} // namespace chromeos_update_engine
« no previous file with comments | « omaha_request_params.cc ('k') | update_engine_client.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698