OLD | NEW |
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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/login/owner_manager.h" | 5 #include "chrome/browser/chromeos/login/owner_manager.h" |
6 #include "chrome/browser/chromeos/login/owner_manager_unittest.h" | 6 #include "chrome/browser/chromeos/login/owner_manager_unittest.h" |
7 | 7 |
8 #include <string> | 8 #include <string> |
9 | 9 |
10 #include "base/crypto/rsa_private_key.h" | 10 #include "base/crypto/rsa_private_key.h" |
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
129 .RetiresOnSaturation(); | 129 .RetiresOnSaturation(); |
130 | 130 |
131 BrowserThread::PostTask( | 131 BrowserThread::PostTask( |
132 BrowserThread::FILE, FROM_HERE, | 132 BrowserThread::FILE, FROM_HERE, |
133 NewRunnableMethod(manager.get(), | 133 NewRunnableMethod(manager.get(), |
134 &OwnerManager::LoadOwnerKey)); | 134 &OwnerManager::LoadOwnerKey)); |
135 | 135 |
136 message_loop_.Run(); | 136 message_loop_.Run(); |
137 } | 137 } |
138 | 138 |
139 TEST_F(OwnerManagerTest, KeyGenerationFail) { | |
140 StartUnowned(); | |
141 MockKeyLoadObserver loader; | |
142 loader.ExpectKeyFetchSuccess(false); | |
143 scoped_refptr<OwnerManager> manager(new OwnerManager); | |
144 | |
145 EXPECT_CALL(*mock_, GenerateKeyPair()) | |
146 .WillOnce(Return(reinterpret_cast<RSAPrivateKey*>(NULL))) | |
147 .RetiresOnSaturation(); | |
148 EXPECT_CALL(*mock_, GetOwnerKeyFilePath()) | |
149 .WillRepeatedly(Return(tmpfile_)); | |
150 | |
151 BrowserThread::PostTask( | |
152 BrowserThread::FILE, FROM_HERE, | |
153 NewRunnableMethod(manager.get(), | |
154 &OwnerManager::GenerateKeysAndExportPublic)); | |
155 | |
156 message_loop_.Run(); | |
157 } | |
158 | |
159 TEST_F(OwnerManagerTest, KeyExportFail) { | |
160 StartUnowned(); | |
161 MockKeyLoadObserver loader; | |
162 loader.ExpectKeyFetchSuccess(false); | |
163 scoped_refptr<OwnerManager> manager(new OwnerManager); | |
164 | |
165 EXPECT_CALL(*mock_, ExportPublicKeyViaDbus(fake_private_key_.get(), | |
166 manager.get())) | |
167 .WillOnce(Invoke(MockKeyUtils::ExportPublicKeyViaDbusFail)) | |
168 .RetiresOnSaturation(); | |
169 EXPECT_CALL(*mock_, GenerateKeyPair()) | |
170 .WillOnce(Return(fake_private_key_.release())) | |
171 .RetiresOnSaturation(); | |
172 EXPECT_CALL(*mock_, GetOwnerKeyFilePath()) | |
173 .WillRepeatedly(Return(tmpfile_)); | |
174 | |
175 BrowserThread::PostTask( | |
176 BrowserThread::FILE, FROM_HERE, | |
177 NewRunnableMethod(manager.get(), | |
178 &OwnerManager::GenerateKeysAndExportPublic)); | |
179 | |
180 message_loop_.Run(); | |
181 } | |
182 | |
183 TEST_F(OwnerManagerTest, TakeOwnership) { | |
184 StartUnowned(); | |
185 MockKeyLoadObserver loader; | |
186 loader.ExpectKeyFetchSuccess(true); | |
187 scoped_refptr<OwnerManager> manager(new OwnerManager); | |
188 | |
189 EXPECT_CALL(*mock_, ExportPublicKeyViaDbus(fake_private_key_.get(), | |
190 manager.get())) | |
191 .WillOnce(Invoke(MockKeyUtils::ExportPublicKeyViaDbusWin)) | |
192 .RetiresOnSaturation(); | |
193 EXPECT_CALL(*mock_, GenerateKeyPair()) | |
194 .WillOnce(Return(fake_private_key_.release())) | |
195 .RetiresOnSaturation(); | |
196 EXPECT_CALL(*mock_, GetOwnerKeyFilePath()) | |
197 .WillRepeatedly(Return(tmpfile_)); | |
198 | |
199 BrowserThread::PostTask( | |
200 BrowserThread::FILE, FROM_HERE, | |
201 NewRunnableMethod(manager.get(), | |
202 &OwnerManager::GenerateKeysAndExportPublic)); | |
203 | |
204 message_loop_.Run(); | |
205 } | |
206 | |
207 TEST_F(OwnerManagerTest, GetKeyFailDuringVerify) { | 139 TEST_F(OwnerManagerTest, GetKeyFailDuringVerify) { |
208 StartUnowned(); | 140 StartUnowned(); |
209 MockKeyLoadObserver loader; | 141 MockKeyLoadObserver loader; |
210 loader.ExpectKeyFetchSuccess(false); | 142 loader.ExpectKeyFetchSuccess(false); |
211 scoped_refptr<OwnerManager> manager(new OwnerManager); | 143 scoped_refptr<OwnerManager> manager(new OwnerManager); |
212 | 144 |
213 EXPECT_CALL(*mock_, GetOwnerKeyFilePath()) | 145 EXPECT_CALL(*mock_, GetOwnerKeyFilePath()) |
214 .WillRepeatedly(Return(tmpfile_)); | 146 .WillRepeatedly(Return(tmpfile_)); |
215 EXPECT_CALL(*mock_, ImportPublicKey(tmpfile_, _)) | 147 EXPECT_CALL(*mock_, ImportPublicKey(tmpfile_, _)) |
216 .WillOnce(Return(false)) | 148 .WillOnce(Return(false)) |
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
307 BrowserThread::FILE, FROM_HERE, | 239 BrowserThread::FILE, FROM_HERE, |
308 NewRunnableMethod(manager.get(), | 240 NewRunnableMethod(manager.get(), |
309 &OwnerManager::Sign, | 241 &OwnerManager::Sign, |
310 BrowserThread::UI, | 242 BrowserThread::UI, |
311 data, | 243 data, |
312 &delegate)); | 244 &delegate)); |
313 message_loop_.Run(); | 245 message_loop_.Run(); |
314 } | 246 } |
315 | 247 |
316 } // namespace chromeos | 248 } // namespace chromeos |
OLD | NEW |