diff options
Diffstat (limited to 'payload_state_unittest.cc')
-rw-r--r-- | payload_state_unittest.cc | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/payload_state_unittest.cc b/payload_state_unittest.cc index dcdcd113..9bd4c08c 100644 --- a/payload_state_unittest.cc +++ b/payload_state_unittest.cc @@ -714,6 +714,8 @@ TEST(PayloadStateTest, BytesDownloadedMetricsGetAddedToCorrectSources) { "Installer.DownloadSourcesUsed", 3, _, _, _)); EXPECT_CALL(*mock_system_state.mock_metrics_lib(), SendToUMA( "Installer.DownloadOverheadPercentage", 542, _, _, _)); + EXPECT_CALL(*mock_system_state.mock_metrics_lib(), SendEnumToUMA( + "Installer.PayloadFormat", kPayloadTypeFull, kNumPayloadTypes)); payload_state.UpdateSucceeded(); @@ -989,4 +991,80 @@ TEST(PayloadStateTest, CandidateUrlsComputedCorrectly) { EXPECT_EQ(0, payload_state.GetUrlFailureCount()); } +TEST(PayloadStateTest, PayloadTypeMetricWhenTypeIsDelta) { + OmahaResponse response; + response.is_delta_payload = true; + PayloadState payload_state; + MockSystemState mock_system_state; + + EXPECT_TRUE(payload_state.Initialize(&mock_system_state)); + SetupPayloadStateWith2Urls("Hash6437", true, &payload_state, &response); + + // Simulate a successful download and update. + payload_state.DownloadComplete(); + + EXPECT_CALL(*mock_system_state.mock_metrics_lib(), SendEnumToUMA( + "Installer.PayloadFormat", kPayloadTypeDelta, kNumPayloadTypes)); + payload_state.UpdateSucceeded(); + + // Mock the request to a request where the delta was disabled but Omaha sends + // a delta anyway and test again. + OmahaRequestParams params(&mock_system_state); + params.set_delta_okay(false); + mock_system_state.set_request_params(¶ms); + + EXPECT_TRUE(payload_state.Initialize(&mock_system_state)); + SetupPayloadStateWith2Urls("Hash6437", true, &payload_state, &response); + + payload_state.DownloadComplete(); + + EXPECT_CALL(*mock_system_state.mock_metrics_lib(), SendEnumToUMA( + "Installer.PayloadFormat", kPayloadTypeDelta, kNumPayloadTypes)); + payload_state.UpdateSucceeded(); +} + +TEST(PayloadStateTest, PayloadTypeMetricWhenTypeIsForcedFull) { + OmahaResponse response; + response.is_delta_payload = false; + PayloadState payload_state; + MockSystemState mock_system_state; + + EXPECT_TRUE(payload_state.Initialize(&mock_system_state)); + SetupPayloadStateWith2Urls("Hash6437", true, &payload_state, &response); + + // Mock the request to a request where the delta was disabled. + OmahaRequestParams params(&mock_system_state); + params.set_delta_okay(false); + mock_system_state.set_request_params(¶ms); + + // Simulate a successful download and update. + payload_state.DownloadComplete(); + + EXPECT_CALL(*mock_system_state.mock_metrics_lib(), SendEnumToUMA( + "Installer.PayloadFormat", kPayloadTypeForcedFull, kNumPayloadTypes)); + payload_state.UpdateSucceeded(); +} + +TEST(PayloadStateTest, PayloadTypeMetricWhenTypeIsFull) { + OmahaResponse response; + response.is_delta_payload = false; + PayloadState payload_state; + MockSystemState mock_system_state; + + EXPECT_TRUE(payload_state.Initialize(&mock_system_state)); + SetupPayloadStateWith2Urls("Hash6437", true, &payload_state, &response); + + // Mock the request to a request where the delta was disabled. + OmahaRequestParams params(&mock_system_state); + params.set_delta_okay(true); + mock_system_state.set_request_params(¶ms); + + // Simulate a successful download and update. + payload_state.DownloadComplete(); + + EXPECT_CALL(*mock_system_state.mock_metrics_lib(), SendEnumToUMA( + "Installer.PayloadFormat", kPayloadTypeFull, kNumPayloadTypes)); + payload_state.UpdateSucceeded(); +} + } |