summaryrefslogtreecommitdiffstats
path: root/net/cert
diff options
context:
space:
mode:
authoreranm@google.com <eranm@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2013-12-25 18:15:42 +0000
committereranm@google.com <eranm@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2013-12-25 18:15:42 +0000
commite556a06ca6e25f13378655e500a2a2988177da26 (patch)
tree71e19e95c5aff70eb329b9bda9473e8cbf1b396e /net/cert
parentd519b817a17433f6c9ea3813d18dfe084659cd1a (diff)
downloadchromium_src-e556a06ca6e25f13378655e500a2a2988177da26.zip
chromium_src-e556a06ca6e25f13378655e500a2a2988177da26.tar.gz
chromium_src-e556a06ca6e25f13378655e500a2a2988177da26.tar.bz2
Certificate Transparency: More unit tests for netlog logging.
This addresses a TODO from https://codereview.chromium.org/86503002/ BUG=309578 Review URL: https://codereview.chromium.org/117333009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@242494 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/cert')
-rw-r--r--net/cert/multi_log_ct_verifier_unittest.cc33
1 files changed, 29 insertions, 4 deletions
diff --git a/net/cert/multi_log_ct_verifier_unittest.cc b/net/cert/multi_log_ct_verifier_unittest.cc
index b1d1aa8..1b15d1e 100644
--- a/net/cert/multi_log_ct_verifier_unittest.cc
+++ b/net/cert/multi_log_ct_verifier_unittest.cc
@@ -8,6 +8,7 @@
#include "base/file_util.h"
#include "base/files/file_path.h"
+#include "base/values.h"
#include "net/base/capturing_net_log.h"
#include "net/base/net_errors.h"
#include "net/base/net_log.h"
@@ -64,16 +65,40 @@ class MultiLogCTVerifierTest : public ::testing::Test {
if (entries.size() != 2)
return false;
- const CapturingNetLog::CapturedEntry& received(entries[0]);
+ const CapturingNetLog::CapturedEntry& received = entries[0];
std::string embedded_scts;
if (!received.GetStringValue("embedded_scts", &embedded_scts))
return false;
if (embedded_scts.empty())
return false;
- //XXX(eranm): entries[1] is the NetLog message with the checked SCTs.
- //When CapturedEntry has methods to get a dictionary, rather than just
- //a string, add more checks here.
+ const CapturingNetLog::CapturedEntry& parsed = entries[1];
+ base::ListValue* verified_scts;
+ if (!parsed.GetListValue("verified_scts", &verified_scts) ||
+ verified_scts->GetSize() != 1) {
+ return false;
+ }
+
+ base::DictionaryValue* the_sct;
+ if (!verified_scts->GetDictionary(0, &the_sct))
+ return false;
+
+ std::string origin;
+ if (!the_sct->GetString("origin", &origin))
+ return false;
+ if (origin != "embedded_in_certificate")
+ return false;
+
+ base::ListValue* other_scts;
+ if (!parsed.GetListValue("invalid_scts", &other_scts) ||
+ !other_scts->empty()) {
+ return false;
+ }
+
+ if (!parsed.GetListValue("unknown_logs_scts", &other_scts) ||
+ !other_scts->empty()) {
+ return false;
+ }
return true;
}