Index: net/cert/internal/parse_certificate_unittest.cc |
diff --git a/net/cert/internal/parse_certificate_unittest.cc b/net/cert/internal/parse_certificate_unittest.cc |
index 1caa90f1fc4c2c1839de8e00fc54b9013de72deb..66b26d881f87b1f86f68636baebb2d82eb0d0bee 100644 |
--- a/net/cert/internal/parse_certificate_unittest.cc |
+++ b/net/cert/internal/parse_certificate_unittest.cc |
@@ -362,69 +362,60 @@ TEST(ParseTbsCertificateTest, ValidityRelaxed) { |
RunTbsCertificateTest("tbs_validity_relaxed.pem"); |
} |
-// Reads a PEM file containing a block "EXTENSION". This input will be |
-// passed to ParseExtension, and the results filled in |out|. |
-bool ParseExtensionFromFile(const std::string& file_name, |
- ParsedExtension* out, |
- std::string* data) { |
- const PemBlockMapping mappings[] = { |
- {"EXTENSION", data}, |
- }; |
- |
- EXPECT_TRUE(ReadTestDataFromPemFile(GetFilePath(file_name), mappings)); |
- return ParseExtension(der::Input(data), out); |
+der::Input DavidBenOid() { |
+ // This OID corresponds with |
+ // 1.2.840.113554.4.1.72585.0 (https://davidben.net/oid) |
+ static const uint8_t kOid[] = {0x2a, 0x86, 0x48, 0x86, 0xf7, 0x12, |
+ 0x04, 0x01, 0x84, 0xb7, 0x09, 0x00}; |
+ return der::Input(kOid); |
} |
// Parses an Extension whose critical field is true (255). |
-TEST(ParseExtensionTest, Critical) { |
- std::string data; |
- ParsedExtension extension; |
- ASSERT_TRUE( |
- ParseExtensionFromFile("extension_critical.pem", &extension, &data)); |
+TEST(ParseCertificateTest, ExtensionCritical) { |
+ scoped_refptr<ParsedCertificate> cert = |
+ ParseCertificateFromFile("extension_critical.pem"); |
+ ASSERT_TRUE(cert); |
- EXPECT_TRUE(extension.critical); |
+ const uint8_t kExpectedValue[] = {0x30, 0x00}; |
- const uint8_t kExpectedOid[] = {0x55, 0x1d, 0x13}; |
- EXPECT_EQ(der::Input(kExpectedOid), extension.oid); |
+ auto it = cert->unparsed_extensions().find(DavidBenOid()); |
+ ASSERT_NE(cert->unparsed_extensions().end(), it); |
+ const auto& extension = it->second; |
- const uint8_t kExpectedValue[] = {0x30, 0x00}; |
+ EXPECT_TRUE(extension.critical); |
+ EXPECT_EQ(DavidBenOid(), extension.oid); |
EXPECT_EQ(der::Input(kExpectedValue), extension.value); |
} |
// Parses an Extension whose critical field is false (omitted). |
-TEST(ParseExtensionTest, NotCritical) { |
- std::string data; |
- ParsedExtension extension; |
- ASSERT_TRUE( |
- ParseExtensionFromFile("extension_not_critical.pem", &extension, &data)); |
+TEST(ParseCertificateTest, ExtensionNotCritical) { |
+ scoped_refptr<ParsedCertificate> cert = |
+ ParseCertificateFromFile("extension_not_critical.pem"); |
+ ASSERT_TRUE(cert); |
- EXPECT_FALSE(extension.critical); |
+ const uint8_t kExpectedValue[] = {0x30, 0x00}; |
- const uint8_t kExpectedOid[] = {0x55, 0x1d, 0x13}; |
- EXPECT_EQ(der::Input(kExpectedOid), extension.oid); |
+ auto it = cert->unparsed_extensions().find(DavidBenOid()); |
+ ASSERT_NE(cert->unparsed_extensions().end(), it); |
+ const auto& extension = it->second; |
- const uint8_t kExpectedValue[] = {0x30, 0x00}; |
+ EXPECT_FALSE(extension.critical); |
+ EXPECT_EQ(DavidBenOid(), extension.oid); |
EXPECT_EQ(der::Input(kExpectedValue), extension.value); |
} |
// Parses an Extension whose critical field is 0. This is in one sense FALSE, |
// however because critical has DEFAULT of false this is in fact invalid |
// DER-encoding. |
-TEST(ParseExtensionTest, Critical0) { |
- std::string data; |
- ParsedExtension extension; |
- ASSERT_FALSE( |
- ParseExtensionFromFile("extension_critical_0.pem", &extension, &data)); |
+TEST(ParseCertificateTest, ExtensionCritical0) { |
+ ASSERT_FALSE(ParseCertificateFromFile("extension_critical_0.pem")); |
} |
// Parses an Extension whose critical field is 3. Under DER-encoding BOOLEAN |
// values must an octet of either all zero bits, or all 1 bits, so this is not |
// valid. |
-TEST(ParseExtensionTest, Critical3) { |
- std::string data; |
- ParsedExtension extension; |
- ASSERT_FALSE( |
- ParseExtensionFromFile("extension_critical_3.pem", &extension, &data)); |
+TEST(ParseCertificateTest, ExtensionCritical3) { |
+ ASSERT_FALSE(ParseCertificateFromFile("extension_critical_3.pem")); |
} |
// Runs a test for extensions parsing. The input file is a PEM file which |
@@ -485,12 +476,7 @@ TEST(ParseExtensionsTest, UnknownCritical) { |
&extensions, &data); |
ASSERT_EQ(1u, extensions.size()); |
- // This OID corresponds with |
- // 1.2.840.113554.4.1.72585.0 (https://davidben.net/oid) |
- const uint8_t oid[] = {0x2a, 0x86, 0x48, 0x86, 0xf7, 0x12, |
- 0x04, 0x01, 0x84, 0xb7, 0x09, 0x00}; |
- |
- auto iter = extensions.find(der::Input(oid)); |
+ auto iter = extensions.find(DavidBenOid()); |
ASSERT_TRUE(iter != extensions.end()); |
EXPECT_TRUE(iter->second.critical); |
EXPECT_EQ(4u, iter->second.value.Length()); |
@@ -504,12 +490,7 @@ TEST(ParseExtensionsTest, UnknownNonCritical) { |
&extensions, &data); |
ASSERT_EQ(1u, extensions.size()); |
- // This OID corresponds with |
- // 1.2.840.113554.4.1.72585.0 (https://davidben.net/oid) |
- const uint8_t oid[] = {0x2a, 0x86, 0x48, 0x86, 0xf7, 0x12, |
- 0x04, 0x01, 0x84, 0xb7, 0x09, 0x00}; |
- |
- auto iter = extensions.find(der::Input(oid)); |
+ auto iter = extensions.find(DavidBenOid()); |
ASSERT_TRUE(iter != extensions.end()); |
EXPECT_FALSE(iter->second.critical); |
EXPECT_EQ(4u, iter->second.value.Length()); |