update_engine: Barebone Omaha Request for DLC(s)
No need to maintain certain attributes for DLC update/install request to Omaha.
The list of uneccessary attributes for DLC AppIDs:
- lang
- fw_version
- ec_version
- requisition
BUG=chromium:1039898
TEST=FEATURES=test emerge-$B update_engine
Change-Id: I40efc3435d4c359470464f2dc6e32470cc629938
Reviewed-on: https://chromium-review.googlesource.com/c/aosp/platform/system/update_engine/+/1992192
Tested-by: Jae Hoon Kim <kimjae@chromium.org>
Reviewed-by: Amin Hassani <ahassani@chromium.org>
Commit-Queue: Jae Hoon Kim <kimjae@chromium.org>
diff --git a/omaha_request_builder_xml_unittest.cc b/omaha_request_builder_xml_unittest.cc
index 4375bed..ecab0e0 100644
--- a/omaha_request_builder_xml_unittest.cc
+++ b/omaha_request_builder_xml_unittest.cc
@@ -80,6 +80,56 @@
EXPECT_EQ("<not escaped>", XmlEncodeWithDefault("\xc2", "<not escaped>"));
}
+TEST_F(OmahaRequestBuilderXmlTest, PlatformGetAppTest) {
+ OmahaRequestParams omaha_request_params{&fake_system_state_};
+ omaha_request_params.set_device_requisition("device requisition");
+ OmahaRequestBuilderXml omaha_request{nullptr,
+ &omaha_request_params,
+ false,
+ false,
+ 0,
+ 0,
+ 0,
+ fake_system_state_.prefs(),
+ ""};
+ OmahaAppData dlc_module_app = {.id = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
+ .version = "",
+ .skip_update = false,
+ .is_dlc = false};
+
+ // Verify that the attributes that shouldn't be missing for Platform AppID are
+ // in fact present in the <app ...></app>.
+ const string app = omaha_request.GetApp(dlc_module_app);
+ EXPECT_NE(string::npos, app.find("lang="));
+ EXPECT_NE(string::npos, app.find("fw_version="));
+ EXPECT_NE(string::npos, app.find("ec_version="));
+ EXPECT_NE(string::npos, app.find("requisition="));
+}
+
+TEST_F(OmahaRequestBuilderXmlTest, DlcGetAppTest) {
+ OmahaRequestParams omaha_request_params{&fake_system_state_};
+ omaha_request_params.set_device_requisition("device requisition");
+ OmahaRequestBuilderXml omaha_request{nullptr,
+ &omaha_request_params,
+ false,
+ false,
+ 0,
+ 0,
+ 0,
+ fake_system_state_.prefs(),
+ ""};
+ OmahaAppData dlc_module_app = {
+ .id = "_dlc_id", .version = "", .skip_update = false, .is_dlc = true};
+
+ // Verify that the attributes that should be missing for DLC AppIDs are in
+ // fact not present in the <app ...></app>.
+ const string app = omaha_request.GetApp(dlc_module_app);
+ EXPECT_EQ(string::npos, app.find("lang="));
+ EXPECT_EQ(string::npos, app.find("fw_version="));
+ EXPECT_EQ(string::npos, app.find("ec_version="));
+ EXPECT_EQ(string::npos, app.find("requisition="));
+}
+
TEST_F(OmahaRequestBuilderXmlTest, GetRequestXmlRequestIdTest) {
OmahaEvent omaha_event;
OmahaRequestParams omaha_request_params{&fake_system_state_};