Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(234)

Side by Side Diff: chromeos/network/client_cert_store_chromeos_unittest.cc

Issue 419013003: Replace c/b/nss_context by a KeyedService. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Added Linux implementation. Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 "net/ssl/client_cert_store_chromeos.h" 5 #include "net/ssl/client_cert_store_chromeos.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/callback.h" 10 #include "base/callback.h"
11 #include "base/file_util.h" 11 #include "base/file_util.h"
12 #include "base/run_loop.h" 12 #include "base/run_loop.h"
13 #include "crypto/nss_util_internal.h" 13 #include "crypto/nss_util_internal.h"
14 #include "crypto/rsa_private_key.h" 14 #include "crypto/rsa_private_key.h"
15 #include "crypto/scoped_test_nss_chromeos_user.h" 15 #include "crypto/scoped_test_nss_chromeos_user.h"
16 #include "crypto/scoped_test_system_nss_key_slot.h" 16 #include "crypto/scoped_test_system_nss_key_slot.h"
17 #include "net/base/test_data_directory.h" 17 #include "net/base/test_data_directory.h"
18 #include "net/cert/x509_certificate.h" 18 #include "net/cert/x509_certificate.h"
19 #include "net/ssl/client_cert_store_unittest-inl.h" 19 #include "net/ssl/client_cert_store_unittest-inl.h"
20 #include "net/test/cert_test_util.h" 20 #include "net/test/cert_test_util.h"
21 21
22 namespace net { 22 namespace net {
23 23
24 namespace { 24 namespace {
25 25
26 enum ReadFromSlot { 26 enum ReadFromSlot { READ_FROM_SLOT_USER, READ_FROM_SLOT_SYSTEM };
27 READ_FROM_SLOT_USER,
28 READ_FROM_SLOT_SYSTEM
29 };
30 27
31 enum SystemSlotAvailability { 28 enum SystemSlotAvailability {
32 SYSTEM_SLOT_AVAILABILITY_ENABLED, 29 SYSTEM_SLOT_AVAILABILITY_ENABLED,
33 SYSTEM_SLOT_AVAILABILITY_DISABLED 30 SYSTEM_SLOT_AVAILABILITY_DISABLED
34 }; 31 };
35 32
36 } // namespace 33 } // namespace
37 34
38 // Define a delegate to be used for instantiating the parameterized test set 35 // Define a delegate to be used for instantiating the parameterized test set
39 // ClientCertStoreTest. 36 // ClientCertStoreTest.
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after
153 crypto::ScopedPK11Slot slot( 150 crypto::ScopedPK11Slot slot(
154 crypto::GetPublicSlotForChromeOSUser(username_hash)); 151 crypto::GetPublicSlotForChromeOSUser(username_hash));
155 if (!slot) { 152 if (!slot) {
156 LOG(ERROR) << "No slot for user " << username_hash; 153 LOG(ERROR) << "No slot for user " << username_hash;
157 return NULL; 154 return NULL;
158 } 155 }
159 156
160 return ImportClientCertAndKeyFromFile( 157 return ImportClientCertAndKeyFromFile(
161 GetTestCertsDirectory(), cert_filename, key_filename, slot.get()); 158 GetTestCertsDirectory(), cert_filename, key_filename, slot.get());
162 } 159 }
163
164 }; 160 };
165 161
166 // Ensure that cert requests, that are started before the user's NSS DB is 162 // Ensure that cert requests, that are started before the user's NSS DB is
167 // initialized, will wait for the initialization and succeed afterwards. 163 // initialized, will wait for the initialization and succeed afterwards.
168 TEST_F(ClientCertStoreChromeOSTest, RequestWaitsForNSSInitAndSucceeds) { 164 TEST_F(ClientCertStoreChromeOSTest, RequestWaitsForNSSInitAndSucceeds) {
169 crypto::ScopedTestNSSChromeOSUser user("scopeduser"); 165 crypto::ScopedTestNSSChromeOSUser user("scopeduser");
170 ASSERT_TRUE(user.constructed_successfully()); 166 ASSERT_TRUE(user.constructed_successfully());
171 167
172 crypto::ScopedTestSystemNSSKeySlot system_slot; 168 crypto::ScopedTestSystemNSSKeySlot system_slot;
173 169
(...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after
315 store.GetClientCerts(*request_all, &selected_certs, run_loop.QuitClosure()); 311 store.GetClientCerts(*request_all, &selected_certs, run_loop.QuitClosure());
316 312
317 run_loop.Run(); 313 run_loop.Run();
318 314
319 // store should only return certs of the user, namely cert_1. 315 // store should only return certs of the user, namely cert_1.
320 ASSERT_EQ(1u, selected_certs.size()); 316 ASSERT_EQ(1u, selected_certs.size());
321 EXPECT_TRUE(cert_1->Equals(selected_certs[0])); 317 EXPECT_TRUE(cert_1->Equals(selected_certs[0]));
322 } 318 }
323 319
324 } // namespace net 320 } // namespace net
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698