diff options
author | abarth@chromium.org <abarth@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-03-19 06:37:38 +0000 |
---|---|---|
committer | abarth@chromium.org <abarth@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-03-19 06:37:38 +0000 |
commit | b43a59683823113ceb403541aefb512c67c32d6d (patch) | |
tree | 4f8f6f81a2d2ad734ecd25665fdea0fc2d6ecd25 /net/base | |
parent | 2c434b3ebbf5deb5f225ac375da9be89c9683c76 (diff) | |
download | chromium_src-b43a59683823113ceb403541aefb512c67c32d6d.zip chromium_src-b43a59683823113ceb403541aefb512c67c32d6d.tar.gz chromium_src-b43a59683823113ceb403541aefb512c67c32d6d.tar.bz2 |
Add a unit test for X509Certificate::Policy.
TBR=wtc
Review URL: http://codereview.chromium.org/50002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12086 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/base')
-rw-r--r-- | net/base/x509_certificate_unittest.cc | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/net/base/x509_certificate_unittest.cc b/net/base/x509_certificate_unittest.cc index 8287184..af64fbb 100644 --- a/net/base/x509_certificate_unittest.cc +++ b/net/base/x509_certificate_unittest.cc @@ -554,4 +554,40 @@ TEST(X509CertificateTest, Pickle) { EXPECT_EQ(cert1, cert2); } +TEST(X509CertificateTest, Policy) { + scoped_refptr<X509Certificate> google_cert = X509Certificate::CreateFromBytes( + reinterpret_cast<const char*>(google_der), sizeof(google_der)); + + scoped_refptr<X509Certificate> webkit_cert = X509Certificate::CreateFromBytes( + reinterpret_cast<const char*>(webkit_der), sizeof(webkit_der)); + + X509Certificate::Policy policy; + + EXPECT_EQ(policy.Check(google_cert.get()), X509Certificate::Policy::UNKNOWN); + EXPECT_EQ(policy.Check(webkit_cert.get()), X509Certificate::Policy::UNKNOWN); + EXPECT_FALSE(policy.HasAllowedCert()); + EXPECT_FALSE(policy.HasDeniedCert()); + + policy.Allow(google_cert.get()); + + EXPECT_EQ(policy.Check(google_cert.get()), X509Certificate::Policy::ALLOWED); + EXPECT_EQ(policy.Check(webkit_cert.get()), X509Certificate::Policy::UNKNOWN); + EXPECT_TRUE(policy.HasAllowedCert()); + EXPECT_FALSE(policy.HasDeniedCert()); + + policy.Deny(google_cert.get()); + + EXPECT_EQ(policy.Check(google_cert.get()), X509Certificate::Policy::DENIED); + EXPECT_EQ(policy.Check(webkit_cert.get()), X509Certificate::Policy::UNKNOWN); + EXPECT_FALSE(policy.HasAllowedCert()); + EXPECT_TRUE(policy.HasDeniedCert()); + + policy.Allow(webkit_cert.get()); + + EXPECT_EQ(policy.Check(google_cert.get()), X509Certificate::Policy::DENIED); + EXPECT_EQ(policy.Check(webkit_cert.get()), X509Certificate::Policy::ALLOWED); + EXPECT_TRUE(policy.HasAllowedCert()); + EXPECT_TRUE(policy.HasDeniedCert()); +} + } // namespace net |