OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/chromeos/settings/session_manager_operation.h" | 5 #include "chrome/browser/chromeos/settings/session_manager_operation.h" |
6 | 6 |
7 #include <stdint.h> | 7 #include <stdint.h> |
8 | 8 |
9 #include <memory> | 9 #include <memory> |
10 #include <string> | 10 #include <string> |
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
101 | 101 |
102 bool validated_; | 102 bool validated_; |
103 | 103 |
104 private: | 104 private: |
105 DISALLOW_COPY_AND_ASSIGN(SessionManagerOperationTest); | 105 DISALLOW_COPY_AND_ASSIGN(SessionManagerOperationTest); |
106 }; | 106 }; |
107 | 107 |
108 TEST_F(SessionManagerOperationTest, LoadNoPolicyNoKey) { | 108 TEST_F(SessionManagerOperationTest, LoadNoPolicyNoKey) { |
109 LoadSettingsOperation op( | 109 LoadSettingsOperation op( |
110 false /* force_key_load */, true /* cloud_validations */, | 110 false /* force_key_load */, true /* cloud_validations */, |
| 111 false /* force_immediate_load */, |
111 base::Bind(&SessionManagerOperationTest::OnOperationCompleted, | 112 base::Bind(&SessionManagerOperationTest::OnOperationCompleted, |
112 base::Unretained(this))); | 113 base::Unretained(this))); |
113 | 114 |
114 EXPECT_CALL(*this, | 115 EXPECT_CALL(*this, |
115 OnOperationCompleted( | 116 OnOperationCompleted( |
116 &op, DeviceSettingsService::STORE_KEY_UNAVAILABLE)); | 117 &op, DeviceSettingsService::STORE_KEY_UNAVAILABLE)); |
117 op.Start(&device_settings_test_helper_, owner_key_util_, NULL); | 118 op.Start(&device_settings_test_helper_, owner_key_util_, NULL); |
118 device_settings_test_helper_.Flush(); | 119 device_settings_test_helper_.Flush(); |
119 Mock::VerifyAndClearExpectations(this); | 120 Mock::VerifyAndClearExpectations(this); |
120 | 121 |
121 EXPECT_FALSE(op.policy_data().get()); | 122 EXPECT_FALSE(op.policy_data().get()); |
122 EXPECT_FALSE(op.device_settings().get()); | 123 EXPECT_FALSE(op.device_settings().get()); |
123 ASSERT_TRUE(op.public_key().get()); | 124 ASSERT_TRUE(op.public_key().get()); |
124 EXPECT_FALSE(op.public_key()->is_loaded()); | 125 EXPECT_FALSE(op.public_key()->is_loaded()); |
125 } | 126 } |
126 | 127 |
127 TEST_F(SessionManagerOperationTest, LoadOwnerKey) { | 128 TEST_F(SessionManagerOperationTest, LoadOwnerKey) { |
128 owner_key_util_->SetPublicKeyFromPrivateKey(*policy_.GetSigningKey()); | 129 owner_key_util_->SetPublicKeyFromPrivateKey(*policy_.GetSigningKey()); |
129 LoadSettingsOperation op( | 130 LoadSettingsOperation op( |
130 false /* force_key_load */, true /* cloud_validations */, | 131 false /* force_key_load */, true /* cloud_validations */, |
| 132 false /* force_immediate_load */, |
131 base::Bind(&SessionManagerOperationTest::OnOperationCompleted, | 133 base::Bind(&SessionManagerOperationTest::OnOperationCompleted, |
132 base::Unretained(this))); | 134 base::Unretained(this))); |
133 | 135 |
134 EXPECT_CALL(*this, | 136 EXPECT_CALL(*this, |
135 OnOperationCompleted( | 137 OnOperationCompleted( |
136 &op, DeviceSettingsService::STORE_NO_POLICY)); | 138 &op, DeviceSettingsService::STORE_NO_POLICY)); |
137 op.Start(&device_settings_test_helper_, owner_key_util_, NULL); | 139 op.Start(&device_settings_test_helper_, owner_key_util_, NULL); |
138 device_settings_test_helper_.Flush(); | 140 device_settings_test_helper_.Flush(); |
139 Mock::VerifyAndClearExpectations(this); | 141 Mock::VerifyAndClearExpectations(this); |
140 | 142 |
141 CheckPublicKeyLoaded(&op); | 143 CheckPublicKeyLoaded(&op); |
142 } | 144 } |
143 | 145 |
144 TEST_F(SessionManagerOperationTest, LoadPolicy) { | 146 TEST_F(SessionManagerOperationTest, LoadPolicy) { |
145 owner_key_util_->SetPublicKeyFromPrivateKey(*policy_.GetSigningKey()); | 147 owner_key_util_->SetPublicKeyFromPrivateKey(*policy_.GetSigningKey()); |
146 device_settings_test_helper_.set_policy_blob(policy_.GetBlob()); | 148 device_settings_test_helper_.set_policy_blob(policy_.GetBlob()); |
147 LoadSettingsOperation op( | 149 LoadSettingsOperation op( |
148 false /* force_key_load */, true /* cloud_validations */, | 150 false /* force_key_load */, true /* cloud_validations */, |
| 151 false /* force_immediate_load */, |
149 base::Bind(&SessionManagerOperationTest::OnOperationCompleted, | 152 base::Bind(&SessionManagerOperationTest::OnOperationCompleted, |
150 base::Unretained(this))); | 153 base::Unretained(this))); |
151 | 154 |
| 155 EXPECT_CALL(*this, |
| 156 OnOperationCompleted(&op, DeviceSettingsService::STORE_SUCCESS)); |
| 157 op.Start(&device_settings_test_helper_, owner_key_util_, NULL); |
| 158 device_settings_test_helper_.Flush(); |
| 159 Mock::VerifyAndClearExpectations(this); |
| 160 |
| 161 ASSERT_TRUE(op.policy_data().get()); |
| 162 EXPECT_EQ(policy_.policy_data().SerializeAsString(), |
| 163 op.policy_data()->SerializeAsString()); |
| 164 ASSERT_TRUE(op.device_settings().get()); |
| 165 EXPECT_EQ(policy_.payload().SerializeAsString(), |
| 166 op.device_settings()->SerializeAsString()); |
| 167 } |
| 168 |
| 169 TEST_F(SessionManagerOperationTest, LoadImmediately) { |
| 170 owner_key_util_->SetPublicKeyFromPrivateKey(*policy_.GetSigningKey()); |
| 171 device_settings_test_helper_.set_policy_blob(policy_.GetBlob()); |
| 172 LoadSettingsOperation op( |
| 173 false /* force_key_load */, true /* cloud_validations */, |
| 174 true /* force_immediate_load */, |
| 175 base::Bind(&SessionManagerOperationTest::OnOperationCompleted, |
| 176 base::Unretained(this))); |
| 177 |
152 EXPECT_CALL(*this, | 178 EXPECT_CALL(*this, |
153 OnOperationCompleted( | 179 OnOperationCompleted( |
154 &op, DeviceSettingsService::STORE_SUCCESS)); | 180 &op, DeviceSettingsService::STORE_SUCCESS)); |
155 op.Start(&device_settings_test_helper_, owner_key_util_, NULL); | 181 op.Start(&device_settings_test_helper_, owner_key_util_, NULL); |
156 device_settings_test_helper_.Flush(); | 182 device_settings_test_helper_.Flush(); |
157 Mock::VerifyAndClearExpectations(this); | 183 Mock::VerifyAndClearExpectations(this); |
158 | 184 |
159 ASSERT_TRUE(op.policy_data().get()); | 185 ASSERT_TRUE(op.policy_data().get()); |
160 EXPECT_EQ(policy_.policy_data().SerializeAsString(), | 186 EXPECT_EQ(policy_.policy_data().SerializeAsString(), |
161 op.policy_data()->SerializeAsString()); | 187 op.policy_data()->SerializeAsString()); |
162 ASSERT_TRUE(op.device_settings().get()); | 188 ASSERT_TRUE(op.device_settings().get()); |
163 EXPECT_EQ(policy_.payload().SerializeAsString(), | 189 EXPECT_EQ(policy_.payload().SerializeAsString(), |
164 op.device_settings()->SerializeAsString()); | 190 op.device_settings()->SerializeAsString()); |
165 } | 191 } |
166 | 192 |
167 TEST_F(SessionManagerOperationTest, RestartLoad) { | 193 TEST_F(SessionManagerOperationTest, RestartLoad) { |
168 owner_key_util_->SetPrivateKey(policy_.GetSigningKey()); | 194 owner_key_util_->SetPrivateKey(policy_.GetSigningKey()); |
169 device_settings_test_helper_.set_policy_blob(policy_.GetBlob()); | 195 device_settings_test_helper_.set_policy_blob(policy_.GetBlob()); |
170 LoadSettingsOperation op( | 196 LoadSettingsOperation op( |
171 false /* force_key_load */, true /* cloud_validations */, | 197 false /* force_key_load */, true /* cloud_validations */, |
| 198 false /* force_immediate_load */, |
172 base::Bind(&SessionManagerOperationTest::OnOperationCompleted, | 199 base::Bind(&SessionManagerOperationTest::OnOperationCompleted, |
173 base::Unretained(this))); | 200 base::Unretained(this))); |
174 | 201 |
175 EXPECT_CALL(*this, OnOperationCompleted(&op, _)).Times(0); | 202 EXPECT_CALL(*this, OnOperationCompleted(&op, _)).Times(0); |
176 op.Start(&device_settings_test_helper_, owner_key_util_, NULL); | 203 op.Start(&device_settings_test_helper_, owner_key_util_, NULL); |
177 content::RunAllBlockingPoolTasksUntilIdle(); | 204 content::RunAllBlockingPoolTasksUntilIdle(); |
178 device_settings_test_helper_.FlushRetrieve(); | 205 device_settings_test_helper_.FlushRetrieve(); |
179 EXPECT_TRUE(op.public_key().get()); | 206 EXPECT_TRUE(op.public_key().get()); |
180 EXPECT_TRUE(op.public_key()->is_loaded()); | 207 EXPECT_TRUE(op.public_key()->is_loaded()); |
181 Mock::VerifyAndClearExpectations(this); | 208 Mock::VerifyAndClearExpectations(this); |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
224 policy_.GetBlob()); | 251 policy_.GetBlob()); |
225 ASSERT_TRUE(op.policy_data().get()); | 252 ASSERT_TRUE(op.policy_data().get()); |
226 EXPECT_EQ(policy_.policy_data().SerializeAsString(), | 253 EXPECT_EQ(policy_.policy_data().SerializeAsString(), |
227 op.policy_data()->SerializeAsString()); | 254 op.policy_data()->SerializeAsString()); |
228 ASSERT_TRUE(op.device_settings().get()); | 255 ASSERT_TRUE(op.device_settings().get()); |
229 EXPECT_EQ(policy_.payload().SerializeAsString(), | 256 EXPECT_EQ(policy_.payload().SerializeAsString(), |
230 op.device_settings()->SerializeAsString()); | 257 op.device_settings()->SerializeAsString()); |
231 } | 258 } |
232 | 259 |
233 } // namespace chromeos | 260 } // namespace chromeos |
OLD | NEW |