Chromium Code Reviews| Index: chrome/common/net/x509_certificate_model_unittest.cc |
| diff --git a/chrome/common/net/x509_certificate_model_unittest.cc b/chrome/common/net/x509_certificate_model_unittest.cc |
| index 1ef36faef078067f2cfddf2f33edfe3f84321290..5712f4d81d9c07cc030aa2bf248e238028289b62 100644 |
| --- a/chrome/common/net/x509_certificate_model_unittest.cc |
| +++ b/chrome/common/net/x509_certificate_model_unittest.cc |
| @@ -8,47 +8,22 @@ |
| #include "base/file_util.h" |
| #include "base/path_service.h" |
| #include "net/base/cert_database.h" |
| +#include "net/base/cert_test_util.h" |
| #include "testing/gtest/include/gtest/gtest.h" |
| -class X509CertificateModelTest : public testing::Test { |
| - protected: |
| - static std::string ReadTestFile(const std::string& name) { |
| - std::string result; |
| - FilePath cert_path = GetTestCertsDirectory().AppendASCII(name); |
| - EXPECT_TRUE(file_util::ReadFileToString(cert_path, &result)); |
| - return result; |
| - } |
| - |
| - private: |
| - // Returns a FilePath object representing the src/net/data/ssl/certificates |
| - // directory in the source tree. |
| - static FilePath GetTestCertsDirectory() { |
| - FilePath certs_dir; |
| - PathService::Get(base::DIR_SOURCE_ROOT, &certs_dir); |
| - certs_dir = certs_dir.AppendASCII("net"); |
| - certs_dir = certs_dir.AppendASCII("data"); |
| - certs_dir = certs_dir.AppendASCII("ssl"); |
| - certs_dir = certs_dir.AppendASCII("certificates"); |
| - return certs_dir; |
| - } |
| -}; |
| - |
| -TEST_F(X509CertificateModelTest, GetTypeCA) { |
| - std::string cert_data = ReadTestFile("root_ca_cert.crt"); |
| - |
| - net::CertificateList certs = |
| - net::X509Certificate::CreateCertificateListFromBytes( |
| - cert_data.data(), cert_data.size(), |
| - net::X509Certificate::FORMAT_AUTO); |
| - ASSERT_EQ(1U, certs.size()); |
| +TEST(X509CertificateModelTest, GetTypeCA) { |
| + scoped_refptr<net::X509Certificate> cert( |
| + net::ImportCertFromFile(net::GetTestCertsDirectory(), |
| + "root_ca_cert.crt")); |
| + ASSERT_TRUE(cert.get() != NULL); |
|
Ryan Sleevi
2012/03/30 01:14:49
nit: Do you need the != NULL? It should just work
mattm
2012/03/30 01:24:17
Done.
|
| #if defined(USE_OPENSSL) |
| // Remove this when OpenSSL build implements the necessary functions. |
| EXPECT_EQ(net::UNKNOWN_CERT, |
| - x509_certificate_model::GetType(certs[0]->os_cert_handle())); |
| + x509_certificate_model::GetType(cert->os_cert_handle())); |
| #else |
| EXPECT_EQ(net::CA_CERT, |
| - x509_certificate_model::GetType(certs[0]->os_cert_handle())); |
| + x509_certificate_model::GetType(cert->os_cert_handle())); |
| // Test that explicitly distrusted CA certs are still returned as CA_CERT |
| // type. See http://crbug.com/96654. |
| @@ -58,44 +33,41 @@ TEST_F(X509CertificateModelTest, GetTypeCA) { |
| // distrusted (trust set to CERTDB_TERMINAL_RECORD). See |
| // http://crbug.com/116411. When I fix that bug I'll also add a way to set |
| // this directly. |
| - EXPECT_TRUE(cert_db.SetCertTrust(certs[0], net::SERVER_CERT, |
| + EXPECT_TRUE(cert_db.SetCertTrust(cert, net::SERVER_CERT, |
| net::CertDatabase::UNTRUSTED)); |
| EXPECT_EQ(net::CA_CERT, |
| - x509_certificate_model::GetType(certs[0]->os_cert_handle())); |
| + x509_certificate_model::GetType(cert->os_cert_handle())); |
| #endif |
| } |
| -TEST_F(X509CertificateModelTest, GetTypeServer) { |
| - std::string cert_data = ReadTestFile("google.single.der"); |
| - |
| - net::CertificateList certs = |
| - net::X509Certificate::CreateCertificateListFromBytes( |
| - cert_data.data(), cert_data.size(), |
| - net::X509Certificate::FORMAT_AUTO); |
| - ASSERT_EQ(1U, certs.size()); |
| +TEST(X509CertificateModelTest, GetTypeServer) { |
| + scoped_refptr<net::X509Certificate> cert( |
| + net::ImportCertFromFile(net::GetTestCertsDirectory(), |
| + "google.single.der")); |
| + ASSERT_TRUE(cert.get() != NULL); |
| #if defined(USE_OPENSSL) |
| // Remove this when OpenSSL build implements the necessary functions. |
| EXPECT_EQ(net::UNKNOWN_CERT, |
| - x509_certificate_model::GetType(certs[0]->os_cert_handle())); |
| + x509_certificate_model::GetType(cert->os_cert_handle())); |
| #else |
| // TODO(mattm): make GetCertType smarter so we can tell server certs even if |
| // they have no trust bits set. |
| EXPECT_EQ(net::UNKNOWN_CERT, |
| - x509_certificate_model::GetType(certs[0]->os_cert_handle())); |
| + x509_certificate_model::GetType(cert->os_cert_handle())); |
| net::CertDatabase cert_db; |
| - EXPECT_TRUE(cert_db.SetCertTrust(certs[0], net::SERVER_CERT, |
| + EXPECT_TRUE(cert_db.SetCertTrust(cert, net::SERVER_CERT, |
| net::CertDatabase::TRUSTED_SSL)); |
| EXPECT_EQ(net::SERVER_CERT, |
| - x509_certificate_model::GetType(certs[0]->os_cert_handle())); |
| + x509_certificate_model::GetType(cert->os_cert_handle())); |
| - EXPECT_TRUE(cert_db.SetCertTrust(certs[0], net::SERVER_CERT, |
| + EXPECT_TRUE(cert_db.SetCertTrust(cert, net::SERVER_CERT, |
| net::CertDatabase::UNTRUSTED)); |
| EXPECT_EQ(net::SERVER_CERT, |
| - x509_certificate_model::GetType(certs[0]->os_cert_handle())); |
| + x509_certificate_model::GetType(cert->os_cert_handle())); |
| #endif |
| } |