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

Side by Side Diff: net/base/ssl_client_auth_cache_unittest.cc

Issue 132004: Add a simple cache of certificates for SSL client authentication.... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Upload before checkin Created 11 years, 6 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
« no previous file with comments | « net/base/ssl_client_auth_cache.cc ('k') | net/ftp/ftp_auth_cache.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Property Changes:
Added: svn:eol-style
+ LF
OLDNEW
(Empty)
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "net/base/ssl_client_auth_cache.h"
6
7 #include "base/time.h"
8 #include "testing/gtest/include/gtest/gtest.h"
9
10 namespace net {
11
12 TEST(SSLClientAuthCacheTest, LookupAddRemove) {
13 SSLClientAuthCache cache;
14
15 base::Time start_date = base::Time::Now();
16 base::Time expiration_date = start_date + base::TimeDelta::FromDays(1);
17
18 std::string server1("foo1:443");
19 scoped_refptr<X509Certificate> cert1(
20 new X509Certificate("foo1", "CA", start_date, expiration_date));
21
22 std::string server2("foo2:443");
23 scoped_refptr<X509Certificate> cert2(
24 new X509Certificate("foo2", "CA", start_date, expiration_date));
25
26 std::string server3("foo3:443");
27 scoped_refptr<X509Certificate> cert3(
28 new X509Certificate("foo3", "CA", start_date, expiration_date));
29
30 // Lookup non-existent client certificate.
31 EXPECT_EQ(NULL, cache.Lookup(server1));
32
33 // Add client certificate for server1.
34 cache.Add(server1, cert1.get());
35 EXPECT_EQ(cert1.get(), cache.Lookup(server1));
36
37 // Add client certificate for server2.
38 cache.Add(server2, cert2.get());
39 EXPECT_EQ(cert1.get(), cache.Lookup(server1));
40 EXPECT_EQ(cert2.get(), cache.Lookup(server2));
41
42 // Overwrite the client certificate for server1.
43 cache.Add(server1, cert3.get());
44 EXPECT_EQ(cert3.get(), cache.Lookup(server1));
45 EXPECT_EQ(cert2.get(), cache.Lookup(server2));
46
47 // Remove client certificate of server1.
48 cache.Remove(server1);
49 EXPECT_EQ(NULL, cache.Lookup(server1));
50 EXPECT_EQ(cert2.get(), cache.Lookup(server2));
51
52 // Remove non-existent client certificate.
53 cache.Remove(server1);
54 EXPECT_EQ(NULL, cache.Lookup(server1));
55 EXPECT_EQ(cert2.get(), cache.Lookup(server2));
56 }
57
58 // Check that if the server differs only by port number, it is considered
59 // a separate server.
60 TEST(SSLClientAuthCacheTest, LookupWithPort) {
61 SSLClientAuthCache cache;
62
63 base::Time start_date = base::Time::Now();
64 base::Time expiration_date = start_date + base::TimeDelta::FromDays(1);
65
66 std::string server1("foo:443");
67 scoped_refptr<X509Certificate> cert1(
68 new X509Certificate("foo", "CA", start_date, expiration_date));
69
70 std::string server2("foo:8443");
71 scoped_refptr<X509Certificate> cert2(
72 new X509Certificate("foo", "CA", start_date, expiration_date));
73
74 cache.Add(server1, cert1.get());
75 cache.Add(server2, cert2.get());
76
77 EXPECT_EQ(cert1.get(), cache.Lookup(server1));
78 EXPECT_EQ(cert2.get(), cache.Lookup(server2));
79 }
80
81 } // namespace net
OLDNEW
« no previous file with comments | « net/base/ssl_client_auth_cache.cc ('k') | net/ftp/ftp_auth_cache.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698