Always powerwash on channel change if arbitrary channel allowed.
Merged is_powerwash_allowed() and to_more_stable_channel() into
ShouldPowerwash().
Bug: 73082835
Test: update_engine_unittests
Change-Id: I6b7af0d1dac28d5fa9cddf4391bbd9cdf2acb57b
diff --git a/omaha_request_params_unittest.cc b/omaha_request_params_unittest.cc
index 2de45de..ce77f31 100644
--- a/omaha_request_params_unittest.cc
+++ b/omaha_request_params_unittest.cc
@@ -117,12 +117,12 @@
params.set_root(tempdir_.GetPath().value());
EXPECT_TRUE(params.Init("", "", false));
EXPECT_TRUE(params.SetTargetChannel("canary-channel", false, nullptr));
- EXPECT_FALSE(params.is_powerwash_allowed());
+ EXPECT_FALSE(params.mutable_image_props_.is_powerwash_allowed);
}
params_.set_root(tempdir_.GetPath().value());
EXPECT_TRUE(params_.Init("", "", false));
EXPECT_EQ("canary-channel", params_.target_channel());
- EXPECT_FALSE(params_.is_powerwash_allowed());
+ EXPECT_FALSE(params_.mutable_image_props_.is_powerwash_allowed);
}
TEST_F(OmahaRequestParamsTest, SetIsPowerwashAllowedTest) {
@@ -131,12 +131,12 @@
params.set_root(tempdir_.GetPath().value());
EXPECT_TRUE(params.Init("", "", false));
EXPECT_TRUE(params.SetTargetChannel("canary-channel", true, nullptr));
- EXPECT_TRUE(params.is_powerwash_allowed());
+ EXPECT_TRUE(params.mutable_image_props_.is_powerwash_allowed);
}
params_.set_root(tempdir_.GetPath().value());
EXPECT_TRUE(params_.Init("", "", false));
EXPECT_EQ("canary-channel", params_.target_channel());
- EXPECT_TRUE(params_.is_powerwash_allowed());
+ EXPECT_TRUE(params_.mutable_image_props_.is_powerwash_allowed);
}
TEST_F(OmahaRequestParamsTest, SetTargetChannelInvalidTest) {
@@ -151,12 +151,12 @@
params.SetTargetChannel("dogfood-channel", true, &error_message));
// The error message should include a message about the valid channels.
EXPECT_NE(string::npos, error_message.find("stable-channel"));
- EXPECT_FALSE(params.is_powerwash_allowed());
+ EXPECT_FALSE(params.mutable_image_props_.is_powerwash_allowed);
}
params_.set_root(tempdir_.GetPath().value());
EXPECT_TRUE(params_.Init("", "", false));
EXPECT_EQ("stable-channel", params_.target_channel());
- EXPECT_FALSE(params_.is_powerwash_allowed());
+ EXPECT_FALSE(params_.mutable_image_props_.is_powerwash_allowed);
}
TEST_F(OmahaRequestParamsTest, IsValidChannelTest) {
@@ -232,13 +232,25 @@
TEST_F(OmahaRequestParamsTest, ToMoreStableChannelFlagTest) {
params_.image_props_.current_channel = "canary-channel";
params_.download_channel_ = "stable-channel";
- EXPECT_TRUE(params_.to_more_stable_channel());
+ EXPECT_TRUE(params_.ToMoreStableChannel());
params_.image_props_.current_channel = "stable-channel";
- EXPECT_FALSE(params_.to_more_stable_channel());
+ EXPECT_FALSE(params_.ToMoreStableChannel());
params_.download_channel_ = "beta-channel";
- EXPECT_FALSE(params_.to_more_stable_channel());
- params_.download_channel_ = "some-channel";
- EXPECT_TRUE(params_.to_more_stable_channel());
+ EXPECT_FALSE(params_.ToMoreStableChannel());
+}
+
+TEST_F(OmahaRequestParamsTest, ShouldPowerwashTest) {
+ params_.mutable_image_props_.is_powerwash_allowed = false;
+ EXPECT_FALSE(params_.ShouldPowerwash());
+ params_.mutable_image_props_.is_powerwash_allowed = true;
+ params_.image_props_.allow_arbitrary_channels = true;
+ params_.image_props_.current_channel = "foo-channel";
+ params_.download_channel_ = "bar-channel";
+ EXPECT_TRUE(params_.ShouldPowerwash());
+ params_.image_props_.allow_arbitrary_channels = false;
+ params_.image_props_.current_channel = "canary-channel";
+ params_.download_channel_ = "stable-channel";
+ EXPECT_TRUE(params_.ShouldPowerwash());
}
TEST_F(OmahaRequestParamsTest, CollectECFWVersionsTest) {