update_engine: Add new rollback policy values

The new values are:
- RollbackAndRestoreIfPossible: always roll back, but try to save and
  restore data if possible. This is rollback_allowed=true.
- RollbackWithRestoreOnly: only roll back if it's possible to save and
  restore data. This is rollback_allowed=false until data save and
  restore is implemented.

BUG=chromium:878736
TEST='cros_run_unit_tests --board=caroline --packages update_engine'

Change-Id: Ifd198610c26d11521b39da8fce5f44dc97609bf5
Reviewed-on: https://chromium-review.googlesource.com/1194229
Commit-Ready: Marton Hunyady <hunyadym@chromium.org>
Tested-by: Marton Hunyady <hunyadym@chromium.org>
Reviewed-by: Zentaro Kavanagh <zentaro@chromium.org>
Reviewed-by: Sen Jiang <senj@chromium.org>
diff --git a/update_manager/boxed_value_unittest.cc b/update_manager/boxed_value_unittest.cc
index 3fa0f1a..b15a504 100644
--- a/update_manager/boxed_value_unittest.cc
+++ b/update_manager/boxed_value_unittest.cc
@@ -207,6 +207,15 @@
             BoxedValue(new RollbackToTargetVersion(
                            RollbackToTargetVersion::kRollbackWithFullPowerwash))
                 .ToString());
+  EXPECT_EQ(
+      "Rollback and restore if possible",
+      BoxedValue(new RollbackToTargetVersion(
+                     RollbackToTargetVersion::kRollbackAndRestoreIfPossible))
+          .ToString());
+  EXPECT_EQ("Rollback with restore only",
+            BoxedValue(new RollbackToTargetVersion(
+                           RollbackToTargetVersion::kRollbackWithRestoreOnly))
+                .ToString());
 }
 
 TEST(UmBoxedValueTest, SetConnectionTypeToString) {