Index: chrome/browser/net/transport_security_persister_unittest.cc |
diff --git a/chrome/browser/net/transport_security_persister_unittest.cc b/chrome/browser/net/transport_security_persister_unittest.cc |
index 4177bc80e7632d7e47a990726d43ea602958a940..3c71101d5128beae57342dcdaf9228d0b4a872f4 100644 |
--- a/chrome/browser/net/transport_security_persister_unittest.cc |
+++ b/chrome/browser/net/transport_security_persister_unittest.cc |
@@ -91,6 +91,8 @@ TEST_F(TransportSecurityPersisterTest, SerializeData2) { |
EXPECT_EQ(domain_state.upgrade_mode, |
TransportSecurityState::DomainState::MODE_FORCE_HTTPS); |
EXPECT_FALSE(state_.GetDomainState("com", true, &domain_state)); |
+ |
+ EXPECT_EQ(domain_state.ssl_version_min, net::SSL_CONNECTION_VERSION_SSL3); |
} |
TEST_F(TransportSecurityPersisterTest, SerializeData3) { |
@@ -232,3 +234,90 @@ TEST_F(TransportSecurityPersisterTest, ForcePreloads) { |
EXPECT_FALSE(domain_state.HasPublicKeyPins()); |
EXPECT_FALSE(domain_state.ShouldUpgradeToSSL()); |
} |
+ |
+TEST_F(TransportSecurityPersisterTest, SSLVersionMin1) { |
+ std::string preload("{" |
+ "\"4AGT3lHihuMSd5rUj7B4u6At0jlSH3HFePovjPR+oLE=\": {" |
+ "\"created\": 0.0," |
+ "\"expiry\": 2000000000.0," |
+ "\"include_subdomains\": false," |
+ "\"mode\": \"pinning-only\"" |
+ "}}"); |
+ |
+ EXPECT_TRUE(persister_->DeserializeFromCommandLine(preload)); |
+ |
+ TransportSecurityState::DomainState domain_state; |
+ EXPECT_TRUE(state_.GetDomainState("docs.google.com", true, &domain_state)); |
+ EXPECT_EQ(domain_state.ssl_version_min, net::SSL_CONNECTION_VERSION_SSL3); |
+} |
+ |
+ |
+TEST_F(TransportSecurityPersisterTest, SSLVersionMin2) { |
+ std::string preload("{" |
+ "\"4AGT3lHihuMSd5rUj7B4u6At0jlSH3HFePovjPR+oLE=\": {" |
+ "\"created\": 0.0," |
+ "\"expiry\": 2000000000.0," |
+ "\"include_subdomains\": false," |
+ "\"mode\": \"pinning-only\"," |
+ "\"ssl_version_min\": \"sslv3.0\"" |
+ "}}"); |
+ |
+ EXPECT_TRUE(persister_->DeserializeFromCommandLine(preload)); |
+ |
+ TransportSecurityState::DomainState domain_state; |
+ EXPECT_TRUE(state_.GetDomainState("docs.google.com", true, &domain_state)); |
+ EXPECT_EQ(domain_state.ssl_version_min, net::SSL_CONNECTION_VERSION_SSL3); |
+} |
+ |
+TEST_F(TransportSecurityPersisterTest, SSLVersionMin3) { |
+ std::string preload("{" |
+ "\"4AGT3lHihuMSd5rUj7B4u6At0jlSH3HFePovjPR+oLE=\": {" |
+ "\"created\": 0.0," |
+ "\"expiry\": 2000000000.0," |
+ "\"include_subdomains\": false," |
+ "\"mode\": \"pinning-only\"," |
+ "\"ssl_version_min\": \"tlsv1.0\"" |
+ "}}"); |
+ |
+ EXPECT_TRUE(persister_->DeserializeFromCommandLine(preload)); |
+ |
+ TransportSecurityState::DomainState domain_state; |
+ EXPECT_TRUE(state_.GetDomainState("docs.google.com", true, &domain_state)); |
+ EXPECT_EQ(domain_state.ssl_version_min, net::SSL_CONNECTION_VERSION_TLS1); |
+} |
+ |
+TEST_F(TransportSecurityPersisterTest, SSLVersionMin4) { |
+ std::string preload("{" |
+ "\"4AGT3lHihuMSd5rUj7B4u6At0jlSH3HFePovjPR+oLE=\": {" |
+ "\"created\": 0.0," |
+ "\"expiry\": 2000000000.0," |
+ "\"include_subdomains\": false," |
+ "\"mode\": \"pinning-only\"," |
+ "\"ssl_version_min\": \"tlsv1.1\"" |
+ "}}"); |
+ |
+ EXPECT_TRUE(persister_->DeserializeFromCommandLine(preload)); |
+ |
+ TransportSecurityState::DomainState domain_state; |
+ EXPECT_TRUE(state_.GetDomainState("docs.google.com", true, &domain_state)); |
+ EXPECT_EQ(domain_state.ssl_version_min, net::SSL_CONNECTION_VERSION_TLS1_1); |
+} |
+ |
+ |
+TEST_F(TransportSecurityPersisterTest, SSLVersionMin5) { |
+ std::string preload("{" |
+ "\"4AGT3lHihuMSd5rUj7B4u6At0jlSH3HFePovjPR+oLE=\": {" |
+ "\"created\": 0.0," |
+ "\"expiry\": 2000000000.0," |
+ "\"include_subdomains\": false," |
+ "\"mode\": \"pinning-only\"," |
+ "\"ssl_version_min\": \"tlsv1.2\"" |
+ "}}"); |
+ |
+ EXPECT_TRUE(persister_->DeserializeFromCommandLine(preload)); |
+ |
+ TransportSecurityState::DomainState domain_state; |
+ EXPECT_TRUE(state_.GetDomainState("docs.google.com", true, &domain_state)); |
+ EXPECT_EQ(domain_state.ssl_version_min, net::SSL_CONNECTION_VERSION_TLS1_2); |
+} |
+ |