cros: Tweak DeviceStateMixin
Just went through all cases on a real device and corrected the mixin a
bit.
Bug: 952855
Change-Id: I941473ce9ea2bf92b5d8c70637a5a1b4077b3a41
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1615143
Reviewed-by: Toni Baržić <tbarzic@chromium.org>
Commit-Queue: Roman Sorokin [CET] <rsorokin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#661294}
diff --git a/chrome/browser/chromeos/login/test/device_state_mixin.cc b/chrome/browser/chromeos/login/test/device_state_mixin.cc
index 757892f..a29630a 100644
--- a/chrome/browser/chromeos/login/test/device_state_mixin.cc
+++ b/chrome/browser/chromeos/login/test/device_state_mixin.cc
@@ -44,10 +44,15 @@
install_attrs_["enterprise.domain"] = domain;
install_attrs_["enterprise.realm"] = realm;
install_attrs_["enterprise.device_id"] = device_id;
- install_attrs_["enterprise.owned"] = "true";
+ if (!mode.empty())
+ install_attrs_["enterprise.owned"] = "true";
cryptohome::SerializedInstallAttributes install_attrs;
+ install_attrs.set_version(1);
+
for (const auto& it : install_attrs_) {
+ if (it.second.empty())
+ continue;
cryptohome::SerializedInstallAttributes::Attribute* attr_entry =
install_attrs.add_attributes();
const std::string& name = it.first;
@@ -151,13 +156,13 @@
case DeviceStateMixin::State::OOBE_COMPLETED_ACTIVE_DIRECTORY_ENROLLED:
case DeviceStateMixin::State::OOBE_COMPLETED_CONSUMER_OWNED:
case DeviceStateMixin::State::OOBE_COMPLETED_DEMO_MODE:
- local_state_values.device_registered = 1;
- FALLTHROUGH;
case DeviceStateMixin::State::OOBE_COMPLETED_UNOWNED:
+ local_state_values.device_registered = 1;
local_state_values.enrollment_recovery_required = false;
local_state_values.oobe_complete = true;
break;
case DeviceStateMixin::State::BEFORE_OOBE:
+ local_state_values.device_registered = 0;
break;
}
@@ -217,30 +222,31 @@
std::string device_mode, domain, realm, device_id;
switch (state_) {
case DeviceStateMixin::State::BEFORE_OOBE:
+ case DeviceStateMixin::State::OOBE_COMPLETED_UNOWNED:
// No file at all.
return;
- case DeviceStateMixin::State::OOBE_COMPLETED_UNOWNED:
- // Write file with empty install attributes.
+ case DeviceStateMixin::State::OOBE_COMPLETED_CONSUMER_OWNED:
+ // File with version only.
break;
case DeviceStateMixin::State::OOBE_COMPLETED_CLOUD_ENROLLED:
device_mode = "enterprise";
domain = !domain_.empty() ? domain_ : kFakeDomain;
+ device_id = kFakeDeviceId;
break;
case DeviceStateMixin::State::OOBE_COMPLETED_ACTIVE_DIRECTORY_ENROLLED:
device_mode = "enterprise_ad";
realm = kFakeDomain;
- break;
- case DeviceStateMixin::State::OOBE_COMPLETED_CONSUMER_OWNED:
- device_mode = "consumer";
+ device_id = kFakeDeviceId;
break;
case DeviceStateMixin::State::OOBE_COMPLETED_DEMO_MODE:
device_mode = "demo_mode";
domain = "cros-demo-mode.com";
+ device_id = kFakeDeviceId;
break;
}
std::string install_attrs_bits;
- CHECK(BuildInstallAttributes(device_mode, domain, realm, kFakeDeviceId)
+ CHECK(BuildInstallAttributes(device_mode, domain, realm, device_id)
.SerializeToString(&install_attrs_bits));
WriteFile(install_attrs_file, install_attrs_bits);
}