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

Unified Diff: net/base/ev_root_ca_metadata_unittest.cc

Issue 10857020: Do not perform online revocation checking when the user has explicitly disabled it, except for when… (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Linux and Mac fixes Created 8 years, 4 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 side-by-side diff with in-line comments
Download patch
Index: net/base/ev_root_ca_metadata_unittest.cc
diff --git a/net/base/ev_root_ca_metadata_unittest.cc b/net/base/ev_root_ca_metadata_unittest.cc
index 1a1ef351dbe4beb69970be500dc18e05d9e050c6..37643c4f24cb57b311036e310356e0480c49122d 100644
--- a/net/base/ev_root_ca_metadata_unittest.cc
+++ b/net/base/ev_root_ca_metadata_unittest.cc
@@ -8,8 +8,14 @@
#include "net/base/x509_cert_types.h"
#include "testing/gtest/include/gtest/gtest.h"
+#if defined(USE_NSS)
+#include "crypto/scoped_nss_types.h"
+#endif
+
namespace net {
+namespace {
+
static const char kVerisignPolicy[] = "2.16.840.1.113733.1.7.23.6";
static const char kThawtePolicy[] = "2.16.840.1.113733.1.7.48.1";
static const char kFakePolicy[] = "2.16.840.1.42";
@@ -20,75 +26,119 @@ static const SHA1Fingerprint kFakeFingerprint =
{ { 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99,
0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99 } };
+#if defined(USE_NSS) || defined(OS_WIN)
+class EVOidData {
+ public:
+ EVOidData();
+ bool Init();
+
+ EVRootCAMetadata::PolicyOID verisign_policy;
+ EVRootCAMetadata::PolicyOID thawte_policy;
+ EVRootCAMetadata::PolicyOID fake_policy;
+};
+
+#endif // defined(USE_NSS) || defined(OS_WIN)
+
#if defined(USE_NSS)
-TEST(EVRootCAMetadataTest, Basic) {
- EVRootCAMetadata* ev_metadata(EVRootCAMetadata::GetInstance());
- std::vector<EVRootCAMetadata::PolicyOID> oids;
+SECOidTag RegisterOID(PLArenaPool* arena, const char* const oid_string) {
wtc 2012/08/16 23:17:39 If you declare 'oid_string' as const char* con
Ryan Sleevi 2012/08/16 23:26:31 The "const char* const" was just to allow the comp
wtc 2012/08/16 23:40:45 'oid_string' is a function argument. Why does the
Ryan Sleevi 2012/08/16 23:55:30 Ah, right, I'm conditioned from thinking of it whe
+ SECOidData oid_data;
+ memset(&oid_data, 0, sizeof(oid_data));
+ oid_data.offset = SEC_OID_UNKNOWN;
+ oid_data.desc = oid_string;
+ oid_data.mechanism = CKM_INVALID_MECHANISM;
+ oid_data.supportedExtension = INVALID_CERT_EXTENSION;
- EXPECT_TRUE(ev_metadata->GetPolicyOIDsForCA(kVerisignFingerprint, &oids));
- EXPECT_LT(0u, oids.size());
- oids.clear();
+ SECStatus rv = SEC_StringToOID(arena, &oid_data.oid, oid_string, 0);
+ if (rv != SECSuccess)
+ return SEC_OID_UNKNOWN;
- EXPECT_FALSE(ev_metadata->GetPolicyOIDsForCA(kFakeFingerprint, &oids));
- EXPECT_EQ(0u, oids.size());
+ return SECOID_AddEntry(&oid_data);
}
-TEST(EVRootCAMetadataTest, AddRemove) {
- EVRootCAMetadata* ev_metadata(EVRootCAMetadata::GetInstance());
- std::vector<EVRootCAMetadata::PolicyOID> oids;
-
- EXPECT_FALSE(ev_metadata->GetPolicyOIDsForCA(kFakeFingerprint, &oids));
+EVOidData::EVOidData()
+ : verisign_policy(SEC_OID_UNKNOWN),
+ thawte_policy(SEC_OID_UNKNOWN),
+ fake_policy(SEC_OID_UNKNOWN) {
+}
- {
- ScopedTestEVPolicy test_ev_policy(ev_metadata, kFakeFingerprint,
- kFakePolicy);
+bool EVOidData::Init() {
+ crypto::ScopedPLArenaPool pool(PORT_NewArena(DER_DEFAULT_CHUNKSIZE));
+ if (!pool.get())
+ return false;
- EXPECT_TRUE(ev_metadata->GetPolicyOIDsForCA(kFakeFingerprint, &oids));
- EXPECT_EQ(1u, oids.size());
- }
+ verisign_policy = RegisterOID(pool.get(), kVerisignPolicy);
+ thawte_policy = RegisterOID(pool.get(), kThawtePolicy);
+ fake_policy = RegisterOID(pool.get(), kFakePolicy);
- EXPECT_FALSE(ev_metadata->GetPolicyOIDsForCA(kFakeFingerprint, &oids));
+ return verisign_policy != SEC_OID_UNKNOWN &&
+ thawte_policy != SEC_OID_UNKNOWN &&
+ fake_policy != SEC_OID_UNKNOWN;
}
#elif defined(OS_WIN)
-TEST(EVRootCAMetadataTest, Basic) {
+EVOidData::EVOidData()
+ : verisign_policy(kVerisignPolicy),
+ thawte_policy(kThawtePolicy),
+ fake_policy(kFakePolicy) {
+}
+
+bool EVOidData::Init() {
+ return true;
+}
+
+#endif
+
+#if defined(USE_NSS) || defined(OS_WIN)
+
+class EVRootCAMetadataTest : public testing::Test {
+ protected:
+ virtual void SetUp() OVERRIDE {
+ ASSERT_TRUE(ev_oid_data.Init());
+ }
+
+ EVOidData ev_oid_data;
+};
+
+TEST_F(EVRootCAMetadataTest, Basic) {
EVRootCAMetadata* ev_metadata(EVRootCAMetadata::GetInstance());
- EXPECT_TRUE(ev_metadata->IsEVPolicyOID(kVerisignPolicy));
- EXPECT_FALSE(ev_metadata->IsEVPolicyOID(kFakePolicy));
+ EXPECT_TRUE(ev_metadata->IsEVPolicyOID(ev_oid_data.verisign_policy));
+ EXPECT_FALSE(ev_metadata->IsEVPolicyOID(ev_oid_data.fake_policy));
EXPECT_TRUE(ev_metadata->HasEVPolicyOID(kVerisignFingerprint,
- kVerisignPolicy));
+ ev_oid_data.verisign_policy));
EXPECT_FALSE(ev_metadata->HasEVPolicyOID(kFakeFingerprint,
- kVerisignPolicy));
+ ev_oid_data.verisign_policy));
EXPECT_FALSE(ev_metadata->HasEVPolicyOID(kVerisignFingerprint,
- kFakePolicy));
+ ev_oid_data.fake_policy));
EXPECT_FALSE(ev_metadata->HasEVPolicyOID(kVerisignFingerprint,
- kThawtePolicy));
+ ev_oid_data.thawte_policy));
}
-TEST(EVRootCAMetadataTest, AddRemove) {
+TEST_F(EVRootCAMetadataTest, AddRemove) {
EVRootCAMetadata* ev_metadata(EVRootCAMetadata::GetInstance());
- EXPECT_FALSE(ev_metadata->IsEVPolicyOID(kFakePolicy));
+ EXPECT_FALSE(ev_metadata->IsEVPolicyOID(ev_oid_data.fake_policy));
EXPECT_FALSE(ev_metadata->HasEVPolicyOID(kFakeFingerprint,
- kFakePolicy));
+ ev_oid_data.fake_policy));
{
ScopedTestEVPolicy test_ev_policy(ev_metadata, kFakeFingerprint,
kFakePolicy);
- EXPECT_TRUE(ev_metadata->IsEVPolicyOID(kFakePolicy));
+ EXPECT_TRUE(ev_metadata->IsEVPolicyOID(ev_oid_data.fake_policy));
EXPECT_TRUE(ev_metadata->HasEVPolicyOID(kFakeFingerprint,
- kFakePolicy));
+ ev_oid_data.fake_policy));
}
- EXPECT_FALSE(ev_metadata->IsEVPolicyOID(kFakePolicy));
+ EXPECT_FALSE(ev_metadata->IsEVPolicyOID(ev_oid_data.fake_policy));
EXPECT_FALSE(ev_metadata->HasEVPolicyOID(kFakeFingerprint,
- kFakePolicy));
+ ev_oid_data.fake_policy));
}
-#endif // defined(OS_WIN)
+#endif // defined(USE_NSS) || defined(OS_WIN)
+
+} // namespace
} // namespace net

Powered by Google App Engine
This is Rietveld 408576698