Revert "Revert of CT Verify test utilities change - Moved the following common functions (patchset #1 id:1 of https://codereview.chromium.org/1498983004/ )"

This reverts commit 13cb74df2cc9b14ab70598d80241a5ec919ca688.

BUG=568282

Review URL: https://codereview.chromium.org/1639483002

Cr-Commit-Position: refs/heads/master@{#371334}
diff --git a/net/test/ct_test_util.cc b/net/test/ct_test_util.cc
index b36c13d..9bc6f95 100644
--- a/net/test/ct_test_util.cc
+++ b/net/test/ct_test_util.cc
@@ -14,7 +14,7 @@
 #include "base/strings/string_util.h"
 #include "base/strings/stringprintf.h"
 #include "net/cert/ct_serialization.h"
-#include "net/cert/signed_certificate_timestamp.h"
+#include "net/cert/ct_verify_result.h"
 #include "net/cert/signed_tree_head.h"
 #include "net/cert/x509_certificate.h"
 
@@ -360,6 +360,38 @@
   return consistency_proof_json;
 }
 
+std::string GetSCTListForTesting() {
+  const std::string sct = ct::GetTestSignedCertificateTimestamp();
+  std::string sct_list;
+  ct::EncodeSCTListForTesting(sct, &sct_list);
+  return sct_list;
+}
+
+std::string GetSCTListWithInvalidSCT() {
+  std::string sct(ct::GetTestSignedCertificateTimestamp());
+
+  // Change a byte inside the Log ID part of the SCT so it does not match the
+  // log used in the tests.
+  sct[15] = 't';
+
+  std::string sct_list;
+  ct::EncodeSCTListForTesting(sct, &sct_list);
+  return sct_list;
+}
+
+bool CheckForSingleVerifiedSCTInResult(const ct::CTVerifyResult& result,
+                                       const std::string& log_description) {
+  return (result.verified_scts.size() == 1U) && result.invalid_scts.empty() &&
+         result.unknown_logs_scts.empty() &&
+         result.verified_scts[0]->log_description == log_description;
+}
+
+bool CheckForSCTOrigin(const ct::CTVerifyResult& result,
+                       ct::SignedCertificateTimestamp::Origin origin) {
+  return (result.verified_scts.size() > 0) &&
+         (result.verified_scts[0]->origin == origin);
+}
+
 }  // namespace ct
 
 }  // namespace net
diff --git a/net/test/ct_test_util.h b/net/test/ct_test_util.h
index e1d6cff..d3df6e6 100644
--- a/net/test/ct_test_util.h
+++ b/net/test/ct_test_util.h
@@ -12,14 +12,15 @@
 #include <vector>
 
 #include "base/memory/ref_counted.h"
+#include "net/cert/signed_certificate_timestamp.h"
 
 namespace net {
 
 namespace ct {
 
+struct CTVerifyResult;
 struct DigitallySigned;
 struct LogEntry;
-struct SignedCertificateTimestamp;
 struct SignedTreeHead;
 
 // Note: unless specified otherwise, all test data is taken from Certificate
@@ -102,6 +103,23 @@
 // the provided raw nodes (i.e. the raw nodes will be base64-encoded).
 std::string CreateConsistencyProofJsonString(
     const std::vector<std::string>& raw_nodes);
+
+// Returns SCTList for testing.
+std::string GetSCTListForTesting();
+
+// Returns a corrupted SCTList. This is done by changing a byte inside the
+// Log ID part of the SCT so it does not match the log used in the tests.
+std::string GetSCTListWithInvalidSCT();
+
+// Returns true if |log_description| is in the |result|'s |verified_scts| and
+// number of |verified_scts| in |result| is equal to 1.
+bool CheckForSingleVerifiedSCTInResult(const CTVerifyResult& result,
+                                       const std::string& log_description);
+
+// Returns true if |origin| is in the |result|'s |verified_scts|.
+bool CheckForSCTOrigin(const CTVerifyResult& result,
+                       SignedCertificateTimestamp::Origin origin);
+
 }  // namespace ct
 
 }  // namespace net