summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorabarth@chromium.org <abarth@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-03-19 06:37:38 +0000
committerabarth@chromium.org <abarth@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-03-19 06:37:38 +0000
commitb43a59683823113ceb403541aefb512c67c32d6d (patch)
tree4f8f6f81a2d2ad734ecd25665fdea0fc2d6ecd25
parent2c434b3ebbf5deb5f225ac375da9be89c9683c76 (diff)
downloadchromium_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
-rw-r--r--net/base/x509_certificate_unittest.cc36
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