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

Unified Diff: net/cert/internal/trust_store_nss_unittest.cc

Issue 2453093004: Remove dependence on a message loop for net::PathBuilder. (Closed)
Patch Set: remove unnecessary forward decl Created 4 years, 1 month 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
« no previous file with comments | « net/cert/internal/trust_store_nss.cc ('k') | net/cert/internal/trust_store_test_helpers.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/cert/internal/trust_store_nss_unittest.cc
diff --git a/net/cert/internal/trust_store_nss_unittest.cc b/net/cert/internal/trust_store_nss_unittest.cc
index b74c5f971251d528cebc123157a86f68721bdf26..f9d1f272d746bc0f3e5ea19e2efcc9bcf26ce7fc 100644
--- a/net/cert/internal/trust_store_nss_unittest.cc
+++ b/net/cert/internal/trust_store_nss_unittest.cc
@@ -7,14 +7,10 @@
#include <cert.h>
#include <certdb.h>
-#include "base/bind.h"
#include "base/memory/ptr_util.h"
-#include "base/run_loop.h"
#include "base/strings/string_number_conversions.h"
-#include "base/threading/thread_task_runner_handle.h"
#include "crypto/scoped_test_nss_db.h"
#include "net/cert/internal/test_helpers.h"
-#include "net/cert/internal/trust_store_test_helpers.h"
#include "net/cert/scoped_nss_types.h"
#include "net/cert/x509_certificate.h"
#include "testing/gtest/include/gtest/gtest.h"
@@ -23,10 +19,6 @@ namespace net {
namespace {
-void NotCalled(TrustAnchors anchors) {
- ADD_FAILURE() << "NotCalled was called";
-}
-
class TrustStoreNSSTest : public testing::Test {
public:
void SetUp() override {
@@ -61,8 +53,7 @@ class TrustStoreNSSTest : public testing::Test {
ASSERT_TRUE(newroot_);
ASSERT_TRUE(newrootrollover_);
- trust_store_nss_.reset(
- new TrustStoreNSS(trustSSL, base::ThreadTaskRunnerHandle::Get()));
+ trust_store_nss_.reset(new TrustStoreNSS(trustSSL));
}
std::string GetUniqueNickname() {
@@ -112,31 +103,27 @@ class TrustStoreNSSTest : public testing::Test {
}
protected:
- void ExpectTrustStoreContains(tracked_objects::Location loc,
- scoped_refptr<ParsedCertificate> cert,
- TrustAnchors expected_async_matches) {
- SCOPED_TRACE(loc.ToString());
-
- TrustAnchors sync_matches;
- TrustAnchorResultRecorder anchor_results;
- std::unique_ptr<TrustStore::Request> req;
- trust_store_nss_->FindTrustAnchorsForCert(cert, anchor_results.Callback(),
- &sync_matches, &req);
- ASSERT_TRUE(req);
- EXPECT_TRUE(sync_matches.empty());
-
- anchor_results.Run();
+ bool TrustStoreContains(scoped_refptr<ParsedCertificate> cert,
+ TrustAnchors expected_matches) {
+ TrustAnchors matches;
+ trust_store_nss_->FindTrustAnchorsForCert(cert, &matches);
+
std::vector<der::Input> der_result_matches;
- for (const auto& it : anchor_results.matches())
+ for (const auto& it : matches)
der_result_matches.push_back(it->cert()->der_cert());
std::sort(der_result_matches.begin(), der_result_matches.end());
std::vector<der::Input> der_expected_matches;
- for (const auto& it : expected_async_matches)
+ for (const auto& it : expected_matches)
der_expected_matches.push_back(it->cert()->der_cert());
std::sort(der_expected_matches.begin(), der_expected_matches.end());
+ if (der_expected_matches == der_result_matches)
+ return true;
+
+ // Print some extra information for debugging.
EXPECT_EQ(der_expected_matches, der_result_matches);
+ return false;
}
scoped_refptr<TrustAnchor> oldroot_;
@@ -154,19 +141,19 @@ class TrustStoreNSSTest : public testing::Test {
// Without adding any certs to the NSS DB, should get no anchor results for any
// of the test certs.
TEST_F(TrustStoreNSSTest, CertsNotPresent) {
- ExpectTrustStoreContains(FROM_HERE, target_, TrustAnchors());
- ExpectTrustStoreContains(FROM_HERE, newintermediate_, TrustAnchors());
- ExpectTrustStoreContains(FROM_HERE, newroot_->cert(), TrustAnchors());
+ EXPECT_TRUE(TrustStoreContains(target_, TrustAnchors()));
+ EXPECT_TRUE(TrustStoreContains(newintermediate_, TrustAnchors()));
+ EXPECT_TRUE(TrustStoreContains(newroot_->cert(), TrustAnchors()));
}
// If certs are present in NSS DB but aren't marked as trusted, should get no
// anchor results for any of the test certs.
TEST_F(TrustStoreNSSTest, CertsPresentButNotTrusted) {
AddCertsToNSS();
- ExpectTrustStoreContains(FROM_HERE, newintermediate_, TrustAnchors());
- ExpectTrustStoreContains(FROM_HERE, target_, TrustAnchors());
- ExpectTrustStoreContains(FROM_HERE, newintermediate_, TrustAnchors());
- ExpectTrustStoreContains(FROM_HERE, newroot_->cert(), TrustAnchors());
+ EXPECT_TRUE(TrustStoreContains(newintermediate_, TrustAnchors()));
+ EXPECT_TRUE(TrustStoreContains(target_, TrustAnchors()));
+ EXPECT_TRUE(TrustStoreContains(newintermediate_, TrustAnchors()));
+ EXPECT_TRUE(TrustStoreContains(newroot_->cert(), TrustAnchors()));
}
// A self-signed CA certificate is trusted. FindTrustAnchorsForCert should
@@ -175,12 +162,12 @@ TEST_F(TrustStoreNSSTest, CertsPresentButNotTrusted) {
TEST_F(TrustStoreNSSTest, TrustedCA) {
AddCertsToNSS();
TrustCert(newroot_.get());
- ExpectTrustStoreContains(FROM_HERE, target_, TrustAnchors());
- ExpectTrustStoreContains(FROM_HERE, newintermediate_, {newroot_});
- ExpectTrustStoreContains(FROM_HERE, oldintermediate_, {newroot_});
- ExpectTrustStoreContains(FROM_HERE, newrootrollover_, {newroot_});
- ExpectTrustStoreContains(FROM_HERE, oldroot_->cert(), {newroot_});
- ExpectTrustStoreContains(FROM_HERE, newroot_->cert(), {newroot_});
+ EXPECT_TRUE(TrustStoreContains(target_, TrustAnchors()));
+ EXPECT_TRUE(TrustStoreContains(newintermediate_, {newroot_}));
+ EXPECT_TRUE(TrustStoreContains(oldintermediate_, {newroot_}));
+ EXPECT_TRUE(TrustStoreContains(newrootrollover_, {newroot_}));
+ EXPECT_TRUE(TrustStoreContains(oldroot_->cert(), {newroot_}));
+ EXPECT_TRUE(TrustStoreContains(newroot_->cert(), {newroot_}));
}
// When an intermediate certificate is trusted, FindTrustAnchorsForCert should
@@ -189,14 +176,14 @@ TEST_F(TrustStoreNSSTest, TrustedCA) {
TEST_F(TrustStoreNSSTest, TrustedIntermediate) {
AddCertsToNSS();
TrustCert(newintermediate_.get());
- ExpectTrustStoreContains(
- FROM_HERE, target_,
- {TrustAnchor::CreateFromCertificateNoConstraints(newintermediate_)});
- ExpectTrustStoreContains(FROM_HERE, newintermediate_, TrustAnchors());
- ExpectTrustStoreContains(FROM_HERE, oldintermediate_, TrustAnchors());
- ExpectTrustStoreContains(FROM_HERE, newrootrollover_, TrustAnchors());
- ExpectTrustStoreContains(FROM_HERE, oldroot_->cert(), TrustAnchors());
- ExpectTrustStoreContains(FROM_HERE, newroot_->cert(), TrustAnchors());
+ EXPECT_TRUE(TrustStoreContains(
+ target_,
+ {TrustAnchor::CreateFromCertificateNoConstraints(newintermediate_)}));
+ EXPECT_TRUE(TrustStoreContains(newintermediate_, TrustAnchors()));
+ EXPECT_TRUE(TrustStoreContains(oldintermediate_, TrustAnchors()));
+ EXPECT_TRUE(TrustStoreContains(newrootrollover_, TrustAnchors()));
+ EXPECT_TRUE(TrustStoreContains(oldroot_->cert(), TrustAnchors()));
+ EXPECT_TRUE(TrustStoreContains(newroot_->cert(), TrustAnchors()));
}
// Multiple self-signed CA certificates with the same name are trusted.
@@ -206,41 +193,10 @@ TEST_F(TrustStoreNSSTest, MultipleTrustedCAWithSameSubject) {
AddCertsToNSS();
TrustCert(oldroot_.get());
TrustCert(newroot_.get());
- ExpectTrustStoreContains(FROM_HERE, target_, TrustAnchors());
- ExpectTrustStoreContains(FROM_HERE, newintermediate_, {newroot_, oldroot_});
- ExpectTrustStoreContains(FROM_HERE, oldintermediate_, {newroot_, oldroot_});
- ExpectTrustStoreContains(FROM_HERE, oldroot_->cert(), {newroot_, oldroot_});
-}
-
-// Cancel a FindTrustAnchorsForCert request before it has returned any results.
-// Callback should not be called.
-TEST_F(TrustStoreNSSTest, CancelRequest) {
- std::unique_ptr<TrustStore::Request> req;
- TrustAnchors sync_matches;
- trust_store_nss_->FindTrustAnchorsForCert(target_, base::Bind(&NotCalled),
- &sync_matches, &req);
- ASSERT_TRUE(req);
- req.reset();
- base::RunLoop().RunUntilIdle();
-}
-
-// Cancel a FindTrustAnchorsForCert request during the callback. Should not
-// crash.
-TEST_F(TrustStoreNSSTest, CancelRequestDuringCallback) {
- AddCertsToNSS();
- TrustCert(newroot_.get());
-
- base::RunLoop run_loop;
- std::unique_ptr<TrustStore::Request> req;
- TrustAnchors sync_matches;
- trust_store_nss_->FindTrustAnchorsForCert(
- newintermediate_,
- base::Bind(&TrustStoreRequestDeleter, &req, run_loop.QuitClosure()),
- &sync_matches, &req);
- ASSERT_TRUE(req);
- run_loop.Run();
- ASSERT_FALSE(req);
- base::RunLoop().RunUntilIdle();
+ EXPECT_TRUE(TrustStoreContains(target_, TrustAnchors()));
+ EXPECT_TRUE(TrustStoreContains(newintermediate_, {newroot_, oldroot_}));
+ EXPECT_TRUE(TrustStoreContains(oldintermediate_, {newroot_, oldroot_}));
+ EXPECT_TRUE(TrustStoreContains(oldroot_->cert(), {newroot_, oldroot_}));
}
} // namespace
« no previous file with comments | « net/cert/internal/trust_store_nss.cc ('k') | net/cert/internal/trust_store_test_helpers.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698