Index: ios/web/net/cert_host_pair_unittest.cc |
diff --git a/ios/web/net/cert_host_pair_unittest.cc b/ios/web/net/cert_host_pair_unittest.cc |
new file mode 100644 |
index 0000000000000000000000000000000000000000..c8894d744fc39c2a1459bf6fa5c03babae207a45 |
--- /dev/null |
+++ b/ios/web/net/cert_host_pair_unittest.cc |
@@ -0,0 +1,94 @@ |
+// Copyright 2015 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#include "ios/web/net/cert_host_pair.h" |
+ |
+#include "net/base/test_data_directory.h" |
+#include "net/test/cert_test_util.h" |
+#include "testing/platform_test.h" |
+ |
+namespace web { |
+ |
+namespace { |
+ |
+// Test cert filenames. |
+const char kCertFileName1[] = "ok_cert.pem"; |
+const char kCertFileName2[] = "expired_cert.pem"; |
+ |
+// Test hostnames. |
+const char kHostName1[] = "www.example.com"; |
+const char kHostName2[] = "www.chromium.test"; |
+ |
+// Loads cert with the given |file_name|. |
+scoped_refptr<net::X509Certificate> GetCert(const std::string& file_name) { |
+ return net::ImportCertFromFile(net::GetTestCertsDirectory(), file_name); |
+} |
+ |
+} // namespace |
+ |
+// Test fixture to test CertHostPair struct. |
+typedef PlatformTest CertHostPairTest; |
+ |
+// Tests constructions. |
+TEST_F(CertHostPairTest, Construction) { |
+ scoped_refptr<net::X509Certificate> cert = GetCert(kCertFileName1); |
+ ASSERT_TRUE(cert); |
+ CertHostPair pair(cert, kHostName1); |
+ EXPECT_EQ(cert, pair.cert); |
+ EXPECT_EQ(std::string(kHostName1), pair.host); |
+} |
+ |
+// Tests comparision with different certs and hosts. |
+TEST_F(CertHostPairTest, ComparisonWithDifferentCertsAndHosts) { |
+ scoped_refptr<net::X509Certificate> cert1 = GetCert(kCertFileName1); |
+ ASSERT_TRUE(cert1); |
+ scoped_refptr<net::X509Certificate> cert2 = GetCert(kCertFileName2); |
+ ASSERT_TRUE(cert2); |
+ CertHostPair pair1(cert1, kHostName1); |
+ CertHostPair pair2(cert2, kHostName2); |
+ |
+ EXPECT_TRUE(pair2 < pair1); |
+ EXPECT_FALSE(pair1 < pair2); |
+} |
+ |
+// Tests comparision with same cert. |
+TEST_F(CertHostPairTest, ComparisonWithSameCert) { |
+ scoped_refptr<net::X509Certificate> cert1 = GetCert(kCertFileName1); |
+ ASSERT_TRUE(cert1); |
+ scoped_refptr<net::X509Certificate> cert2 = GetCert(kCertFileName1); |
+ ASSERT_TRUE(cert2); |
+ CertHostPair pair1(cert1, kHostName1); |
+ CertHostPair pair2(cert2, kHostName2); |
+ |
+ EXPECT_TRUE(pair2 < pair1); |
+ EXPECT_FALSE(pair1 < pair2); |
+} |
+ |
+// Tests comparision with same host. |
+TEST_F(CertHostPairTest, ComparisonWithSameHost) { |
+ scoped_refptr<net::X509Certificate> cert1 = GetCert(kCertFileName1); |
+ ASSERT_TRUE(cert1); |
+ scoped_refptr<net::X509Certificate> cert2 = GetCert(kCertFileName2); |
+ ASSERT_TRUE(cert2); |
+ CertHostPair pair1(cert1, kHostName1); |
+ CertHostPair pair2(cert2, kHostName1); |
+ |
+ EXPECT_TRUE(pair1 < pair2); |
+ EXPECT_FALSE(pair2 < pair1); |
+} |
+ |
+// Tests comparision with same cert and host. |
+TEST_F(CertHostPairTest, ComparisonWithSameCertAndHost) { |
+ scoped_refptr<net::X509Certificate> cert1 = GetCert(kCertFileName1); |
+ ASSERT_TRUE(cert1); |
+ scoped_refptr<net::X509Certificate> cert2 = GetCert(kCertFileName1); |
+ ASSERT_TRUE(cert2); |
+ CertHostPair pair1(cert1, kHostName1); |
+ CertHostPair pair2(cert2, kHostName1); |
+ |
+ EXPECT_FALSE(pair1 < pair2); |
+ EXPECT_FALSE(pair2 < pair1); |
+} |
+ |
+} // namespace web |