Home | History | Annotate | Download | only in update_engine

Lines Matching refs:payload_state

17 #include "update_engine/payload_state.h"
66 PayloadState* payload_state,
76 payload_state->SetResponse(*response);
77 string stored_response_sign = payload_state->GetResponseSignature();
132 PayloadState payload_state;
133 EXPECT_TRUE(payload_state.Initialize(&fake_system_state));
134 payload_state.SetResponse(response);
135 string stored_response_sign = payload_state.GetResponseSignature();
140 EXPECT_EQ("", payload_state.GetCurrentUrl());
141 EXPECT_EQ(0U, payload_state.GetUrlFailureCount());
142 EXPECT_EQ(0U, payload_state.GetUrlSwitchCount());
143 EXPECT_EQ(1, payload_state.GetNumResponsesSeen());
178 PayloadState payload_state;
179 EXPECT_TRUE(payload_state.Initialize(&fake_system_state));
180 payload_state.SetResponse(response);
181 string stored_response_sign = payload_state.GetResponseSignature();
194 EXPECT_EQ("https://single.url.test", payload_state.GetCurrentUrl());
195 EXPECT_EQ(0U, payload_state.GetUrlFailureCount());
196 EXPECT_EQ(0U, payload_state.GetUrlSwitchCount());
197 EXPECT_EQ(1, payload_state.GetNumResponsesSeen());
230 PayloadState payload_state;
231 EXPECT_TRUE(payload_state.Initialize(&fake_system_state));
232 payload_state.SetResponse(response);
233 string stored_response_sign = payload_state.GetResponseSignature();
247 EXPECT_EQ("http://multiple.url.test", payload_state.GetCurrentUrl());
248 EXPECT_EQ(0U, payload_state.GetUrlFailureCount());
249 EXPECT_EQ(0U, payload_state.GetUrlSwitchCount());
250 EXPECT_EQ(1, payload_state.GetNumResponsesSeen());
257 PayloadState payload_state;
283 EXPECT_TRUE(payload_state.Initialize(&fake_system_state));
288 "Hash1235", true, false, &payload_state, &response);
289 EXPECT_EQ("http://test", payload_state.GetCurrentUrl());
293 payload_state.UpdateFailed(error);
294 EXPECT_EQ("https://test", payload_state.GetCurrentUrl());
297 payload_state.UpdateFailed(error);
298 EXPECT_EQ("http://test", payload_state.GetCurrentUrl());
301 payload_state.UpdateFailed(error);
302 EXPECT_EQ("https://test", payload_state.GetCurrentUrl());
305 EXPECT_EQ(3U, payload_state.GetUrlSwitchCount());
311 PayloadState payload_state;
313 EXPECT_TRUE(payload_state.Initialize(&fake_system_state));
317 "Hash5823", true, false, &payload_state, &response);
318 EXPECT_EQ(1, payload_state.GetNumResponsesSeen());
322 payload_state.UpdateFailed(error);
323 EXPECT_EQ("https://test", payload_state.GetCurrentUrl());
324 EXPECT_EQ(1U, payload_state.GetUrlSwitchCount());
328 "Hash8225", true, false, &payload_state, &response);
329 EXPECT_EQ(2, payload_state.GetNumResponsesSeen());
332 payload_state.UpdateFailed(error);
333 EXPECT_EQ("https://test", payload_state.GetCurrentUrl());
334 EXPECT_EQ(1U, payload_state.GetUrlSwitchCount());
338 "Hash9999", true, false, &payload_state, &response);
339 EXPECT_EQ(3, payload_state.GetNumResponsesSeen());
342 EXPECT_EQ("http://test", payload_state.GetCurrentUrl());
343 EXPECT_EQ(0U, payload_state.GetUrlFailureCount());
344 EXPECT_EQ(0U, payload_state.GetUrlSwitchCount());
346 payload_state.GetCurrentBytesDownloaded(kDownloadSourceHttpServer));
348 payload_state.GetTotalBytesDownloaded(kDownloadSourceHttpServer));
350 0U, payload_state.GetCurrentBytesDownloaded(kDownloadSourceHttpsServer));
352 payload_state.GetTotalBytesDownloaded(kDownloadSourceHttpsServer));
357 PayloadState payload_state;
407 EXPECT_TRUE(payload_state.Initialize(&fake_system_state));
410 "Hash5873", true, false, &payload_state, &response);
411 EXPECT_EQ(1, payload_state.GetNumResponsesSeen());
414 payload_state.UpdateFailed(ErrorCode::kDownloadMetadataSignatureMismatch);
415 EXPECT_EQ(0, payload_state.GetPayloadAttemptNumber());
416 EXPECT_EQ(0, payload_state.GetFullPayloadAttemptNumber());
417 EXPECT_EQ("https://test", payload_state.GetCurrentUrl());
418 EXPECT_EQ(0U, payload_state.GetUrlFailureCount());
419 EXPECT_EQ(1U, payload_state.GetUrlSwitchCount());
422 payload_state.UpdateFailed(ErrorCode::kDownloadTransferError);
423 EXPECT_EQ(0, payload_state.GetPayloadAttemptNumber());
424 EXPECT_EQ(0, payload_state.GetFullPayloadAttemptNumber());
425 EXPECT_EQ("https://test", payload_state.GetCurrentUrl());
426 EXPECT_EQ(1U, payload_state.GetUrlFailureCount());
427 EXPECT_EQ(1U, payload_state.GetUrlSwitchCount());
430 payload_state.UpdateFailed(ErrorCode::kDownloadTransferError);
431 EXPECT_EQ(0, payload_state.GetPayloadAttemptNumber());
432 EXPECT_EQ(0, payload_state.GetFullPayloadAttemptNumber());
433 EXPECT_EQ("https://test", payload_state.GetCurrentUrl());
434 EXPECT_EQ(2U, payload_state.GetUrlFailureCount());
435 EXPECT_EQ(1U, payload_state.GetUrlSwitchCount());
441 payload_state.UpdateFailed(ErrorCode::kDownloadTransferError);
442 EXPECT_EQ(1, payload_state.GetPayloadAttemptNumber());
443 EXPECT_EQ(1, payload_state.GetFullPayloadAttemptNumber());
444 EXPECT_EQ("http://test", payload_state.GetCurrentUrl());
445 EXPECT_EQ(0U, payload_state.GetUrlFailureCount());
446 EXPECT_EQ(2U, payload_state.GetUrlSwitchCount());
447 EXPECT_TRUE(payload_state.ShouldBackoffDownload());
450 payload_state.UpdateFailed(ErrorCode::kPayloadHashMismatchError);
451 EXPECT_EQ(1, payload_state.GetPayloadAttemptNumber());
452 EXPECT_EQ(1, payload_state.GetFullPayloadAttemptNumber());
453 EXPECT_EQ("https://test", payload_state.GetCurrentUrl());
454 EXPECT_EQ(0U, payload_state.GetUrlFailureCount());
455 EXPECT_EQ(3U, payload_state.GetUrlSwitchCount());
456 EXPECT_TRUE(payload_state.ShouldBackoffDownload());
460 payload_state.UpdateFailed(ErrorCode::kDownloadMetadataSignatureMissingError);
461 EXPECT_EQ(2, payload_state.GetPayloadAttemptNumber());
462 EXPECT_EQ(2, payload_state.GetFullPayloadAttemptNumber());
463 EXPECT_EQ("http://test", payload_state.GetCurrentUrl());
464 EXPECT_EQ(0U, payload_state.GetUrlFailureCount());
465 EXPECT_EQ(4U, payload_state.GetUrlSwitchCount());
466 EXPECT_TRUE(payload_state.ShouldBackoffDownload());
469 payload_state.UpdateFailed(static_cast<ErrorCode>(
471 EXPECT_EQ(2, payload_state.GetPayloadAttemptNumber());
472 EXPECT_EQ(2, payload_state.GetFullPayloadAttemptNumber());
473 EXPECT_EQ("http://test", payload_state.GetCurrentUrl());
474 EXPECT_EQ(1U, payload_state.GetUrlFailureCount());
475 EXPECT_EQ(4U, payload_state.GetUrlSwitchCount());
476 EXPECT_TRUE(payload_state.ShouldBackoffDownload());
480 payload_state.DownloadProgress(progress_bytes);
481 EXPECT_EQ(2, payload_state.GetPayloadAttemptNumber());
482 EXPECT_EQ(2, payload_state.GetFullPayloadAttemptNumber());
483 EXPECT_EQ("http://test", payload_state.GetCurrentUrl());
484 EXPECT_EQ(0U, payload_state.GetUrlFailureCount());
485 EXPECT_EQ(4U, payload_state.GetUrlSwitchCount());
486 EXPECT_TRUE(payload_state.ShouldBackoffDownload());
490 "Hash8532", true, false, &payload_state, &response);
491 EXPECT_EQ(2, payload_state.GetNumResponsesSeen());
494 EXPECT_EQ(0, payload_state.GetPayloadAttemptNumber());
495 EXPECT_EQ(0, payload_state.GetFullPayloadAttemptNumber());
496 EXPECT_EQ("http://test", payload_state.GetCurrentUrl());
497 EXPECT_EQ(0U, payload_state.GetUrlFailureCount());
498 EXPECT_EQ(0U, payload_state.GetUrlSwitchCount());
499 EXPECT_FALSE(payload_state.ShouldBackoffDownload());
504 PayloadState payload_state;
527 EXPECT_TRUE(payload_state.Initialize(&fake_system_state));
530 "Hash8593", true, false, &payload_state, &response);
533 EXPECT_EQ(0, payload_state.GetPayloadAttemptNumber());
534 EXPECT_EQ(0, payload_state.GetFullPayloadAttemptNumber());
535 payload_state.DownloadComplete();
536 EXPECT_EQ(1, payload_state.GetPayloadAttemptNumber());
537 EXPECT_EQ(1, payload_state.GetFullPayloadAttemptNumber());
538 EXPECT_EQ("http://test", payload_state.GetCurrentUrl());
539 EXPECT_EQ(0U, payload_state.GetUrlFailureCount());
540 EXPECT_EQ(0U, payload_state.GetUrlSwitchCount());
545 PayloadState payload_state;
567 EXPECT_TRUE(payload_state.Initialize(&fake_system_state));
569 SetupPayloadStateWith2Urls("Hash8593", true, true, &payload_state, &response);
572 EXPECT_EQ(0, payload_state.GetPayloadAttemptNumber());
573 EXPECT_EQ(0, payload_state.GetFullPayloadAttemptNumber());
574 payload_state.DownloadComplete();
575 EXPECT_EQ(1, payload_state.GetPayloadAttemptNumber());
576 EXPECT_EQ(0, payload_state.GetFullPayloadAttemptNumber());
577 EXPECT_EQ("http://test", payload_state.GetCurrentUrl());
578 EXPECT_EQ(0U, payload_state.GetUrlFailureCount());
579 EXPECT_EQ(0U, payload_state.GetUrlSwitchCount());
584 PayloadState payload_state;
587 EXPECT_TRUE(payload_state.Initialize(&fake_system_state));
589 "Hash4427", true, false, &payload_state, &response);
593 payload_state.DownloadComplete();
594 payload_state.UpdateFailed(ErrorCode::kDownloadMetadataSignatureMismatch);
595 payload_state.UpdateFailed(ErrorCode::kDownloadTransferError);
596 EXPECT_EQ(1, payload_state.GetPayloadAttemptNumber());
597 EXPECT_EQ(1, payload_state.GetFullPayloadAttemptNumber());
598 EXPECT_EQ("https://test", payload_state.GetCurrentUrl());
599 EXPECT_EQ(1U, payload_state.GetUrlFailureCount());
600 EXPECT_EQ(1U, payload_state.GetUrlSwitchCount());
624 EXPECT_TRUE(payload_state.Initialize(&fake_system_state2));
626 "Hash4427", true, false, &payload_state, &response);
630 EXPECT_EQ(0, payload_state.GetPayloadAttemptNumber());
631 EXPECT_EQ(0, payload_state.GetFullPayloadAttemptNumber());
632 EXPECT_EQ("http://test", payload_state.GetCurrentUrl());
633 EXPECT_EQ(0U, payload_state.GetUrlFailureCount());
634 EXPECT_EQ(0U, payload_state.GetUrlSwitchCount());
639 PayloadState payload_state;
645 EXPECT_TRUE(payload_state.Initialize(&fake_system_state));
647 "Hash6437", true, false, &payload_state, &response);
652 payload_state.UpdateFailed(ErrorCode::kDownloadMetadataSignatureMismatch);
653 payload_state.UpdateFailed(ErrorCode::kDownloadMetadataSignatureMismatch);
654 EXPECT_EQ("http://test", payload_state.GetCurrentUrl());
655 EXPECT_EQ(1, payload_state.GetPayloadAttemptNumber());
656 EXPECT_EQ(1, payload_state.GetFullPayloadAttemptNumber());
657 EXPECT_FALSE(payload_state.ShouldBackoffDownload());
662 PayloadState payload_state;
668 EXPECT_TRUE(payload_state.Initialize(&fake_system_state));
670 "Hash6437", true, false, &payload_state, &response);
675 payload_state.UpdateFailed(ErrorCode::kDownloadMetadataSignatureMismatch);
676 payload_state.UpdateFailed(ErrorCode::kDownloadMetadataSignatureMismatch);
677 EXPECT_EQ("http://test", payload_state.GetCurrentUrl());
678 EXPECT_EQ(1, payload_state.GetPayloadAttemptNumber());
679 EXPECT_EQ(1, payload_state.GetFullPayloadAttemptNumber());
681 payload_state.SetUsingP2PForDownloading(true);
682 payload_state.SetP2PUrl("http://mypeer:52909/path/to/file");
684 EXPECT_FALSE(payload_state.ShouldBackoffDownload());
686 payload_state.SetP2PUrl("");
688 EXPECT_TRUE(payload_state.ShouldBackoffDownload());
693 PayloadState payload_state;
696 EXPECT_TRUE(payload_state.Initialize(&fake_system_state));
697 SetupPayloadStateWith2Urls("Hash6437", true, true, &payload_state, &response);
701 payload_state.DownloadComplete();
702 EXPECT_EQ(1, payload_state.GetPayloadAttemptNumber());
703 EXPECT_EQ(0, payload_state.GetFullPayloadAttemptNumber());
704 EXPECT_FALSE(payload_state.ShouldBackoffDownload());
709 payload_state.UpdateFailed(ErrorCode::kDownloadMetadataSignatureMismatch);
710 payload_state.UpdateFailed(ErrorCode::kDownloadMetadataSignatureMismatch);
711 EXPECT_EQ("http://test", payload_state.GetCurrentUrl());
712 EXPECT_EQ(2, payload_state.GetPayloadAttemptNumber());
713 EXPECT_EQ(0, payload_state.GetFullPayloadAttemptNumber());
714 EXPECT_FALSE(payload_state.ShouldBackoffDownload());
717 static void CheckPayloadBackoffState(PayloadState* payload_state,
720 payload_state->DownloadComplete();
722 payload_state->GetFullPayloadAttemptNumber());
723 EXPECT_TRUE(payload_state->ShouldBackoffDownload());
724 Time backoff_expiry_time = payload_state->GetBackoffExpiryTime();
737 PayloadState payload_state;
740 EXPECT_TRUE(payload_state.Initialize(&fake_system_state));
742 "Hash8939", true, false, &payload_state, &response);
744 CheckPayloadBackoffState(&payload_state, 1, TimeDelta::FromDays(1));
745 CheckPayloadBackoffState(&payload_state, 2, TimeDelta::FromDays(2));
746 CheckPayloadBackoffState(&payload_state, 3, TimeDelta::FromDays(4));
747 CheckPayloadBackoffState(&payload_state, 4, TimeDelta::FromDays(8));
748 CheckPayloadBackoffState(&payload_state, 5, TimeDelta::FromDays(16));
749 CheckPayloadBackoffState(&payload_state, 6, TimeDelta::FromDays(16));
750 CheckPayloadBackoffState(&payload_state, 7, TimeDelta::FromDays(16));
751 CheckPayloadBackoffState(&payload_state, 8, TimeDelta::FromDays(16));
752 CheckPayloadBackoffState(&payload_state, 9, TimeDelta::FromDays(16));
753 CheckPayloadBackoffState(&payload_state, 10, TimeDelta::FromDays(16));
759 PayloadState payload_state;
762 EXPECT_TRUE(payload_state.Initialize(&fake_system_state));
764 "Hash8939", true, false, &payload_state, &response);
768 payload_state.DownloadComplete();
769 EXPECT_EQ(1, payload_state.GetPayloadAttemptNumber());
770 EXPECT_EQ(1, payload_state.GetFullPayloadAttemptNumber());
771 EXPECT_FALSE(payload_state.ShouldBackoffDownload());
776 payload_state.UpdateFailed(ErrorCode::kDownloadMetadataSignatureMismatch);
777 payload_state.UpdateFailed(ErrorCode::kDownloadMetadataSignatureMismatch);
778 EXPECT_EQ(2, payload_state.GetPayloadAttemptNumber());
779 EXPECT_EQ(2, payload_state.GetFullPayloadAttemptNumber());
780 EXPECT_FALSE(payload_state.ShouldBackoffDownload());
786 PayloadState payload_state;
791 EXPECT_TRUE(payload_state.Initialize(&fake_system_state));
793 "Hash3286", true, false, &payload_state, &response);
794 EXPECT_EQ(1, payload_state.GetNumResponsesSeen());
800 payload_state.DownloadProgress(prev_chunk);
804 payload_state.GetCurrentBytesDownloaded(kDownloadSourceHttpServer));
806 payload_state.GetTotalBytesDownloaded(kDownloadSourceHttpServer));
811 "Hash9904", true, false, &payload_state, &response);
812 EXPECT_EQ(2, payload_state.GetNumResponsesSeen());
817 payload_state.DownloadProgress(first_chunk);
820 payload_state.GetCurrentBytesDownloaded(kDownloadSourceHttpServer));
822 payload_state.GetTotalBytesDownloaded(kDownloadSourceHttpServer));
823 EXPECT_EQ(0U, payload_state.GetCurrentBytesDownloaded(
826 payload_state.GetTotalBytesDownloaded(kDownloadSourceHttpsServer));
830 payload_state.UpdateFailed(error);
835 payload_state.DownloadProgress(second_chunk);
837 payload_state.GetCurrentBytesDownloaded(kDownloadSourceHttpServer));
839 payload_state.GetTotalBytesDownloaded(kDownloadSourceHttpServer));
840 EXPECT_EQ(second_chunk, payload_state.GetCurrentBytesDownloaded(
843 payload_state.GetTotalBytesDownloaded(kDownloadSourceHttpsServer));
846 payload_state.UpdateFailed(error);
850 payload_state.DownloadProgress(third_chunk);
854 payload_state.GetCurrentBytesDownloaded(kDownloadSourceHttpServer));
856 payload_state.GetTotalBytesDownloaded(kDownloadSourceHttpServer));
857 EXPECT_EQ(second_chunk, payload_state.GetCurrentBytesDownloaded(
860 payload_state.GetTotalBytesDownloaded(kDownloadSourceHttpsServer));
864 payload_state.UpdateFailed(error);
865 payload_state.SetUsingP2PForDownloading(true);
867 payload_state.DownloadProgress(p2p_total);
870 payload_state.GetTotalBytesDownloaded(kDownloadSourceHttpPeer));
876 payload_state.UpdateSucceeded();
880 payload_state.GetCurrentBytesDownloaded(kDownloadSourceHttpServer));
882 payload_state.GetTotalBytesDownloaded(kDownloadSourceHttpServer));
883 EXPECT_EQ(0U, payload_state.GetCurrentBytesDownloaded(
886 payload_state.GetTotalBytesDownloaded(kDownloadSourceHttpsServer));
887 EXPECT_EQ(0, payload_state.GetNumResponsesSeen());
892 PayloadState payload_state;
895 EXPECT_TRUE(payload_state.Initialize(&fake_system_state));
897 "Hash3286", true, false, &payload_state, &response);
901 payload_state.DownloadProgress(num_bytes);
905 payload_state.GetCurrentBytesDownloaded(kDownloadSourceHttpServer));
907 payload_state.GetTotalBytesDownloaded(kDownloadSourceHttpServer));
926 payload_state.UpdateSucceeded();
932 PayloadState payload_state;
934 EXPECT_TRUE(payload_state.Initialize(&fake_system_state));
938 "Hash5823", true, false, &payload_state, &response);
941 payload_state.DownloadProgress(num_bytes);
943 payload_state.GetCurrentBytesDownloaded(kDownloadSourceHttpServer));
945 payload_state.GetTotalBytesDownloaded(kDownloadSourceHttpServer));
946 EXPECT_EQ(0U, payload_state.GetCurrentBytesDownloaded(
949 payload_state.GetTotalBytesDownloaded(kDownloadSourceHttpsServer));
951 payload_state.UpdateRestarted();
954 payload_state.GetCurrentBytesDownloaded(kDownloadSourceHttpServer));
956 payload_state.GetTotalBytesDownloaded(kDownloadSourceHttpServer));
961 PayloadState payload_state;
967 EXPECT_TRUE(payload_state.Initialize(&fake_system_state));
969 payload_state.UpdateRestarted();
970 EXPECT_EQ(0U, payload_state.GetNumReboots());
973 payload_state.UpdateResumed();
975 EXPECT_EQ(1U, payload_state.GetNumReboots());
978 payload_state.UpdateResumed();
980 EXPECT_EQ(1U, payload_state.GetNumReboots());
983 payload_state.UpdateRestarted();
984 EXPECT_EQ(0U, payload_state.GetNumReboots());
989 PayloadState payload_state;
993 EXPECT_TRUE(payload_state.Initialize(&fake_system_state));
996 EXPECT_TRUE(payload_state.GetRollbackVersion().empty());
1006 payload_state.Rollback();
1008 EXPECT_EQ(rollback_version, payload_state.GetRollbackVersion());
1018 payload_state.LoadRollbackVersion();
1019 EXPECT_EQ(rollback_version, payload_state.GetRollbackVersion());
1027 payload_state.UpdateSucceeded();
1033 PayloadState payload_state;
1045 EXPECT_TRUE(payload_state.Initialize(&fake_system_state));
1051 "Hash8593", true, false, &payload_state, &response);
1054 payload_state.UpdateSucceeded();
1055 EXPECT_EQ(payload_state.GetUpdateDuration().InMicroseconds(), 7000000);
1056 EXPECT_EQ(payload_state.GetUpdateDurationUptime().InMicroseconds(), 4000000);
1060 "Hash8594", true, false, &payload_state, &response);
1061 EXPECT_EQ(payload_state.GetUpdateDuration().InMicroseconds(), 0);
1062 EXPECT_EQ(payload_state.GetUpdateDurationUptime().InMicroseconds(), 0);
1068 payload_state.DownloadProgress(10);
1069 EXPECT_EQ(payload_state.GetUpdateDuration().InMicroseconds(), 10000000);
1070 EXPECT_EQ(payload_state.GetUpdateDurationUptime().InMicroseconds(), 10000000);
1095 PayloadState payload_state;
1106 EXPECT_TRUE(payload_state.Initialize(&fake_system_state));
1110 "Hash8593", true, false, &payload_state, &response);
1111 payload_state.UpdateSucceeded();
1137 PayloadState payload_state;
1143 EXPECT_TRUE(payload_state.Initialize(&fake_system_state));
1158 payload_state.UpdateEngineStarted();
1162 PayloadState payload_state;
1166 EXPECT_TRUE(payload_state.Initialize(&fake_system_state));
1170 payload_state
1174 PayloadState payload_state;
1183 EXPECT_TRUE(payload_state.Initialize(&fake_system_state));
1188 payload_state.UpdateEngineStarted();
1194 PayloadState payload_state;
1202 EXPECT_TRUE(payload_state.Initialize(&fake_system_state));
1205 payload_state.SetResponse(response);
1214 payload_state.UpdateRestarted();
1219 payload_state.UpdateSucceeded();
1228 PayloadState payload_state;
1232 EXPECT_TRUE(payload_state.Initialize(&fake_system_state));
1240 "Hash8433", true, false, &payload_state, &response);
1244 EXPECT_EQ("http://test", payload_state.GetCurrentUrl());
1252 "Hash8433", false, false, &payload_state, &response);
1255 EXPECT_EQ("https://test", payload_state.GetCurrentUrl());
1259 payload_state.UpdateFailed(error);
1262 EXPECT_EQ("https://test", payload_state.GetCurrentUrl());
1263 EXPECT_EQ(0U, payload_state.GetUrlSwitchCount());
1267 "Hash2399", false, false, &payload_state, &response);
1270 EXPECT_EQ("https://test", payload_state.GetCurrentUrl());
1284 "Hash2399", true, false, &payload_state, &response);
1287 EXPECT_EQ("http://test", payload_state.GetCurrentUrl());
1288 EXPECT_EQ(0U, payload_state.GetUrlFailureCount());
1292 payload_state.UpdateFailed(error);
1293 EXPECT_EQ("https://test", payload_state.GetCurrentUrl());
1294 EXPECT_EQ(1U, payload_state.GetUrlSwitchCount());
1295 EXPECT_EQ(0U, payload_state.GetUrlFailureCount());
1300 PayloadState payload_state;
1303 EXPECT_TRUE(payload_state.Initialize(&fake_system_state));
1304 SetupPayloadStateWith2Urls("Hash6437", true, true, &payload_state, &response);
1307 payload_state.DownloadComplete();
1311 payload_state.UpdateSucceeded();
1319 EXPECT_TRUE(payload_state.Initialize(&fake_system_state));
1320 SetupPayloadStateWith2Urls("Hash6437", true, true, &payload_state, &response);
1322 payload_state.DownloadComplete();
1327 payload_state.UpdateSucceeded();
1332 PayloadState payload_state;
1335 EXPECT_TRUE(payload_state.Initialize(&fake_system_state));
1337 "Hash6437", true, false, &payload_state, &response);
1345 payload_state.DownloadComplete();
1350 payload_state.UpdateSucceeded();
1355 PayloadState payload_state;
1358 EXPECT_TRUE(payload_state.Initialize(&fake_system_state));
1360 "Hash6437", true, false, &payload_state, &response);
1369 payload_state.DownloadComplete();
1374 payload_state.UpdateSucceeded();
1380 PayloadState payload_state;
1384 EXPECT_TRUE(payload_state.Initialize(&fake_system_state));
1386 "Hash3141", true, false, &payload_state, &response);
1389 payload_state.DownloadComplete();
1390 payload_state.UpdateSucceeded();
1391 payload_state.ExpectRebootInNewVersion("Version:12345678");
1396 payload_state.ReportFailedBootIfNeeded();
1401 payload_state.ExpectRebootInNewVersion("Version:12345678");
1405 payload_state.ReportFailedBootIfNeeded();
1410 payload_state.ExpectRebootInNewVersion("Version:3141592");
1413 payload_state.ReportFailedBootIfNeeded();
1420 PayloadState payload_state;
1427 EXPECT_TRUE(payload_state.Initialize(&fake_system_state));
1429 "Hash3141", true, false, &payload_state, &response);
1432 payload_state.DownloadComplete();
1433 payload_state.UpdateSucceeded();
1434 payload_state.ExpectRebootInNewVersion("Version:12345678");
1442 payload_state.ReportFailedBootIfNeeded();
1445 payload_state.ReportFailedBootIfNeeded();
1447 payload_state.ReportFailedBootIfNeeded();
1453 PayloadState payload_state;
1457 EXPECT_TRUE(payload_state.Initialize(&fake_system_state));
1459 "Hash3141", true, false, &payload_state, &response);
1462 payload_state.DownloadComplete();
1463 payload_state.UpdateSucceeded();
1464 payload_state.ExpectRebootInNewVersion("Version:12345678");
1471 payload_state.ResetUpdateStatus();
1474 payload_state.ReportFailedBootIfNeeded();
1479 PayloadState payload_state;
1483 EXPECT_TRUE(payload_state.Initialize(&fake_system_state));
1490 payload_state.ReportFailedBootIfNeeded();
1495 PayloadState payload_state;
1500 EXPECT_TRUE(payload_state.Initialize(&fake_system_state));
1502 "Hash8593", true, false, &payload_state, &response);
1506 payload_state.P2PNewAttempt();
1507 EXPECT_TRUE(payload_state.P2PAttemptAllowed());
1510 payload_state.P2PNewAttempt();
1511 EXPECT_FALSE(payload_state.P2PAttemptAllowed());
1516 PayloadState payload_state;
1523 EXPECT_TRUE(payload_state.Initialize(&fake_system_state));
1525 "Hash8593", true, false, &payload_state, &response);
1532 payload_state.P2PNewAttempt();
1535 EXPECT_EQ(epoch, payload_state.GetP2PFirstAttemptTimestamp());
1538 EXPECT_TRUE(payload_state.P2PAttemptAllowed());
1543 EXPECT_TRUE(payload_state.P2PAttemptAllowed());
1547 EXPECT_EQ(epoch, payload_state.GetP2PFirstAttemptTimestamp());
1552 EXPECT_TRUE(payload_state.P2PAttemptAllowed());
1557 EXPECT_FALSE(payload_state.P2PAttemptAllowed());
1562 PayloadState payload_state;
1567 EXPECT_TRUE(payload_state.Initialize(&fake_system_state));
1569 "Hash8593", true, false, &payload_state, &response);
1572 EXPECT_EQ(null_time, payload_state.GetP2PFirstAttemptTimestamp());
1573 EXPECT_EQ(0, payload_state.GetP2PNumAttempts());
1578 PayloadState payload_state;
1584 EXPECT_TRUE(payload_state.Initialize(&fake_system_state));
1586 "Hash8593", true, false, &payload_state, &response);
1593 payload_state.P2PNewAttempt();
1594 EXPECT_EQ(1, payload_state.GetP2PNumAttempts());
1595 EXPECT_EQ(time, payload_state.GetP2PFirstAttemptTimestamp());
1607 PayloadState payload_state;
1614 EXPECT_TRUE(payload_state.Initialize(&fake_system_state));
1616 "Hash8593", true, false, &payload_state, &response);
1623 payload_state.P2PNewAttempt();
1624 EXPECT_EQ(1, payload_state.GetP2PNumAttempts());
1625 EXPECT_EQ(time, payload_state.GetP2PFirstAttemptTimestamp());
1629 payload_state, &response);
1633 EXPECT_EQ(0, payload_state.GetP2PNumAttempts());
1634 EXPECT_EQ(null_time, payload_state.GetP2PFirstAttemptTimestamp());