Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3833)

Unified Diff: chrome/browser/ui/website_settings/website_settings_unittest.cc

Issue 1314953009: Refactor WebsiteSettings to operate on a SecurityInfo (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 5 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/website_settings/website_settings_unittest.cc
diff --git a/chrome/browser/ui/website_settings/website_settings_unittest.cc b/chrome/browser/ui/website_settings/website_settings_unittest.cc
index e7d0c994e677a36a7b5503df214bf149fb255ff3..5eaba491ce31ac944c31461d0fd2cdbbd49fb6a7 100644
--- a/chrome/browser/ui/website_settings/website_settings_unittest.cc
+++ b/chrome/browser/ui/website_settings/website_settings_unittest.cc
@@ -79,7 +79,7 @@ class WebsiteSettingsTest : public ChromeRenderViewHostTestHarness {
void SetUp() override {
ChromeRenderViewHostTestHarness::SetUp();
// Setup stub SSLStatus.
- ssl_.security_style = content::SECURITY_STYLE_UNAUTHENTICATED;
+ security_info_.security_level = SecurityStateModel::NONE;
// Create the certificate.
cert_id_ = 1;
@@ -123,7 +123,9 @@ class WebsiteSettingsTest : public ChromeRenderViewHostTestHarness {
MockCertStore* cert_store() { return &cert_store_; }
int cert_id() { return cert_id_; }
MockWebsiteSettingsUI* mock_ui() { return mock_ui_.get(); }
- const SSLStatus& ssl() { return ssl_; }
+ const SecurityStateModel::SecurityInfo& security_info() {
+ return security_info_;
+ }
TabSpecificContentSettings* tab_specific_content_settings() {
return TabSpecificContentSettings::FromWebContents(web_contents());
}
@@ -134,13 +136,13 @@ class WebsiteSettingsTest : public ChromeRenderViewHostTestHarness {
WebsiteSettings* website_settings() {
if (!website_settings_.get()) {
website_settings_.reset(new WebsiteSettings(
- mock_ui(), profile(), tab_specific_content_settings(),
- web_contents(), url(), ssl(), cert_store()));
+ mock_ui(), profile(), tab_specific_content_settings(), web_contents(),
+ url(), security_info(), cert_store()));
}
return website_settings_.get();
}
- SSLStatus ssl_;
+ SecurityStateModel::SecurityInfo security_info_;
private:
scoped_ptr<WebsiteSettings> website_settings_;
@@ -286,14 +288,15 @@ TEST_F(WebsiteSettingsTest, HTTPConnection) {
}
TEST_F(WebsiteSettingsTest, HTTPSConnection) {
- ssl_.security_style = content::SECURITY_STYLE_AUTHENTICATED;
- ssl_.cert_id = cert_id();
- ssl_.cert_status = 0;
- ssl_.security_bits = 81; // No error if > 80.
+ security_info_.security_level = SecurityStateModel::SECURE;
+ security_info_.scheme_is_cryptographic = true;
+ security_info_.cert_id = cert_id();
+ security_info_.cert_status = 0;
+ security_info_.security_bits = 81; // No error if > 80.
int status = 0;
status = SetSSLVersion(status, net::SSL_CONNECTION_VERSION_TLS1);
status = SetSSLCipherSuite(status, CR_TLS_RSA_WITH_AES_256_CBC_SHA256);
- ssl_.connection_status = status;
+ security_info_.connection_status = status;
SetDefaultUIExpectations(mock_ui());
EXPECT_CALL(*mock_ui(), SetSelectedTab(
@@ -307,15 +310,17 @@ TEST_F(WebsiteSettingsTest, HTTPSConnection) {
}
TEST_F(WebsiteSettingsTest, HTTPSPassiveMixedContent) {
- ssl_.security_style = content::SECURITY_STYLE_AUTHENTICATED;
- ssl_.cert_id = cert_id();
- ssl_.cert_status = 0;
- ssl_.security_bits = 81; // No error if > 80.
- ssl_.content_status = SSLStatus::DISPLAYED_INSECURE_CONTENT;
+ security_info_.security_level = SecurityStateModel::NONE;
+ security_info_.scheme_is_cryptographic = true;
+ security_info_.cert_id = cert_id();
+ security_info_.cert_status = 0;
+ security_info_.security_bits = 81; // No error if > 80.
+ security_info_.mixed_content_status =
+ SecurityStateModel::DISPLAYED_MIXED_CONTENT;
int status = 0;
status = SetSSLVersion(status, net::SSL_CONNECTION_VERSION_TLS1);
status = SetSSLCipherSuite(status, CR_TLS_RSA_WITH_AES_256_CBC_SHA256);
- ssl_.connection_status = status;
+ security_info_.connection_status = status;
SetDefaultUIExpectations(mock_ui());
EXPECT_CALL(*mock_ui(), SetSelectedTab(WebsiteSettingsUI::TAB_ID_CONNECTION));
@@ -331,15 +336,17 @@ TEST_F(WebsiteSettingsTest, HTTPSPassiveMixedContent) {
}
TEST_F(WebsiteSettingsTest, HTTPSActiveMixedContent) {
- ssl_.security_style = content::SECURITY_STYLE_AUTHENTICATION_BROKEN;
- ssl_.cert_id = cert_id();
- ssl_.cert_status = 0;
- ssl_.security_bits = 81; // No error if > 80.
- ssl_.content_status = SSLStatus::RAN_INSECURE_CONTENT;
+ security_info_.security_level = SecurityStateModel::SECURITY_ERROR;
+ security_info_.scheme_is_cryptographic = true;
+ security_info_.cert_id = cert_id();
+ security_info_.cert_status = 0;
+ security_info_.security_bits = 81; // No error if > 80.
+ security_info_.mixed_content_status =
+ SecurityStateModel::RAN_AND_DISPLAYED_MIXED_CONTENT;
int status = 0;
status = SetSSLVersion(status, net::SSL_CONNECTION_VERSION_TLS1);
status = SetSSLCipherSuite(status, CR_TLS_RSA_WITH_AES_256_CBC_SHA256);
- ssl_.connection_status = status;
+ security_info_.connection_status = status;
SetDefaultUIExpectations(mock_ui());
EXPECT_CALL(*mock_ui(), SetSelectedTab(WebsiteSettingsUI::TAB_ID_CONNECTION));
@@ -363,15 +370,17 @@ TEST_F(WebsiteSettingsTest, HTTPSEVCert) {
EXPECT_CALL(*cert_store(), RetrieveCert(ev_cert_id, _)).WillRepeatedly(
DoAll(SetArgPointee<1>(ev_cert), Return(true)));
- ssl_.security_style = content::SECURITY_STYLE_AUTHENTICATED;
- ssl_.cert_id = ev_cert_id;
- ssl_.cert_status = net::CERT_STATUS_IS_EV;
- ssl_.security_bits = 81; // No error if > 80.
- ssl_.content_status = SSLStatus::DISPLAYED_INSECURE_CONTENT;
+ security_info_.security_level = SecurityStateModel::NONE;
+ security_info_.scheme_is_cryptographic = true;
+ security_info_.cert_id = ev_cert_id;
+ security_info_.cert_status = net::CERT_STATUS_IS_EV;
+ security_info_.security_bits = 81; // No error if > 80.
+ security_info_.mixed_content_status =
+ SecurityStateModel::DISPLAYED_MIXED_CONTENT;
int status = 0;
status = SetSSLVersion(status, net::SSL_CONNECTION_VERSION_TLS1);
status = SetSSLCipherSuite(status, CR_TLS_RSA_WITH_AES_256_CBC_SHA256);
- ssl_.connection_status = status;
+ security_info_.connection_status = status;
SetDefaultUIExpectations(mock_ui());
EXPECT_CALL(*mock_ui(), SetSelectedTab(WebsiteSettingsUI::TAB_ID_CONNECTION));
@@ -385,14 +394,15 @@ TEST_F(WebsiteSettingsTest, HTTPSEVCert) {
}
TEST_F(WebsiteSettingsTest, HTTPSRevocationError) {
- ssl_.security_style = content::SECURITY_STYLE_AUTHENTICATED;
- ssl_.cert_id = cert_id();
- ssl_.cert_status = net::CERT_STATUS_UNABLE_TO_CHECK_REVOCATION;
- ssl_.security_bits = 81; // No error if > 80.
+ security_info_.security_level = SecurityStateModel::SECURE;
+ security_info_.scheme_is_cryptographic = true;
+ security_info_.cert_id = cert_id();
+ security_info_.cert_status = net::CERT_STATUS_UNABLE_TO_CHECK_REVOCATION;
+ security_info_.security_bits = 81; // No error if > 80.
int status = 0;
status = SetSSLVersion(status, net::SSL_CONNECTION_VERSION_TLS1);
status = SetSSLCipherSuite(status, CR_TLS_RSA_WITH_AES_256_CBC_SHA256);
- ssl_.connection_status = status;
+ security_info_.connection_status = status;
SetDefaultUIExpectations(mock_ui());
EXPECT_CALL(*mock_ui(), SetSelectedTab(WebsiteSettingsUI::TAB_ID_CONNECTION));
@@ -405,14 +415,15 @@ TEST_F(WebsiteSettingsTest, HTTPSRevocationError) {
}
TEST_F(WebsiteSettingsTest, HTTPSConnectionError) {
- ssl_.security_style = content::SECURITY_STYLE_AUTHENTICATED;
- ssl_.cert_id = cert_id();
- ssl_.cert_status = 0;
- ssl_.security_bits = -1;
+ security_info_.security_level = SecurityStateModel::SECURE;
+ security_info_.scheme_is_cryptographic = true;
+ security_info_.cert_id = cert_id();
+ security_info_.cert_status = 0;
+ security_info_.security_bits = -1;
int status = 0;
status = SetSSLVersion(status, net::SSL_CONNECTION_VERSION_TLS1);
status = SetSSLCipherSuite(status, CR_TLS_RSA_WITH_AES_256_CBC_SHA256);
- ssl_.connection_status = status;
+ security_info_.connection_status = status;
SetDefaultUIExpectations(mock_ui());
EXPECT_CALL(*mock_ui(), SetSelectedTab(WebsiteSettingsUI::TAB_ID_CONNECTION));
@@ -424,6 +435,51 @@ TEST_F(WebsiteSettingsTest, HTTPSConnectionError) {
EXPECT_EQ(base::string16(), website_settings()->organization_name());
}
+TEST_F(WebsiteSettingsTest, HTTPSPolicyCertConnection) {
+ security_info_.security_level = SecurityStateModel::SECURITY_POLICY_WARNING;
+ security_info_.scheme_is_cryptographic = true;
+ security_info_.cert_id = cert_id();
+ security_info_.cert_status = 0;
+ security_info_.security_bits = 81; // No error if > 80.
+ int status = 0;
+ status = SetSSLVersion(status, net::SSL_CONNECTION_VERSION_TLS1);
+ status = SetSSLCipherSuite(status, CR_TLS_RSA_WITH_AES_256_CBC_SHA256);
+ security_info_.connection_status = status;
+
+ SetDefaultUIExpectations(mock_ui());
+ EXPECT_CALL(*mock_ui(), SetSelectedTab(WebsiteSettingsUI::TAB_ID_CONNECTION));
+
+ EXPECT_EQ(WebsiteSettings::SITE_CONNECTION_STATUS_ENCRYPTED,
+ website_settings()->site_connection_status());
+ EXPECT_EQ(WebsiteSettings::SITE_IDENTITY_STATUS_ADMIN_PROVIDED_CERT,
+ website_settings()->site_identity_status());
+ EXPECT_EQ(base::string16(), website_settings()->organization_name());
+}
+
+TEST_F(WebsiteSettingsTest, HTTPSSHA1Connection) {
+ security_info_.security_level = SecurityStateModel::NONE;
+ security_info_.scheme_is_cryptographic = true;
+ security_info_.cert_id = cert_id();
+ security_info_.cert_status = 0;
+ security_info_.security_bits = 81; // No error if > 80.
+ int status = 0;
+ status = SetSSLVersion(status, net::SSL_CONNECTION_VERSION_TLS1);
+ status = SetSSLCipherSuite(status, CR_TLS_RSA_WITH_AES_256_CBC_SHA256);
+ security_info_.connection_status = status;
+ security_info_.sha1_deprecation_status =
+ SecurityStateModel::DEPRECATED_SHA1_WARNING;
+
+ SetDefaultUIExpectations(mock_ui());
+ EXPECT_CALL(*mock_ui(), SetSelectedTab(WebsiteSettingsUI::TAB_ID_CONNECTION));
+
+ EXPECT_EQ(WebsiteSettings::SITE_CONNECTION_STATUS_ENCRYPTED,
+ website_settings()->site_connection_status());
+ EXPECT_EQ(
+ WebsiteSettings::SITE_IDENTITY_STATUS_DEPRECATED_SIGNATURE_ALGORITHM,
+ website_settings()->site_identity_status());
+ EXPECT_EQ(base::string16(), website_settings()->organization_name());
+}
+
#if !defined(OS_ANDROID)
TEST_F(WebsiteSettingsTest, NoInfoBar) {
SetDefaultUIExpectations(mock_ui());

Powered by Google App Engine
This is Rietveld 408576698