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

Side by Side Diff: chrome/browser/ui/website_settings/website_settings_unittest.cc

Issue 2327433002: Stop using CertStore which is not compatible with PlzNavigate. (Closed)
Patch Set: remove cert_store on ios Created 4 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/ui/website_settings/website_settings.h" 5 #include "chrome/browser/ui/website_settings/website_settings.h"
6 6
7 #include <string> 7 #include <string>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/at_exit.h" 10 #include "base/at_exit.h"
11 #include "base/memory/ptr_util.h" 11 #include "base/memory/ptr_util.h"
12 #include "base/message_loop/message_loop.h" 12 #include "base/message_loop/message_loop.h"
13 #include "base/strings/string16.h" 13 #include "base/strings/string16.h"
14 #include "base/strings/utf_string_conversions.h" 14 #include "base/strings/utf_string_conversions.h"
15 #include "build/build_config.h" 15 #include "build/build_config.h"
16 #include "chrome/browser/content_settings/host_content_settings_map_factory.h" 16 #include "chrome/browser/content_settings/host_content_settings_map_factory.h"
17 #include "chrome/browser/infobars/infobar_service.h" 17 #include "chrome/browser/infobars/infobar_service.h"
18 #include "chrome/browser/ui/website_settings/website_settings_ui.h" 18 #include "chrome/browser/ui/website_settings/website_settings_ui.h"
19 #include "chrome/browser/usb/usb_chooser_context.h" 19 #include "chrome/browser/usb/usb_chooser_context.h"
20 #include "chrome/browser/usb/usb_chooser_context_factory.h" 20 #include "chrome/browser/usb/usb_chooser_context_factory.h"
21 #include "chrome/grit/theme_resources.h" 21 #include "chrome/grit/theme_resources.h"
22 #include "chrome/test/base/chrome_render_view_host_test_harness.h" 22 #include "chrome/test/base/chrome_render_view_host_test_harness.h"
23 #include "chrome/test/base/testing_profile.h" 23 #include "chrome/test/base/testing_profile.h"
24 #include "components/content_settings/core/browser/host_content_settings_map.h" 24 #include "components/content_settings/core/browser/host_content_settings_map.h"
25 #include "components/content_settings/core/common/content_settings.h" 25 #include "components/content_settings/core/common/content_settings.h"
26 #include "components/content_settings/core/common/content_settings_types.h" 26 #include "components/content_settings/core/common/content_settings_types.h"
27 #include "components/infobars/core/infobar.h" 27 #include "components/infobars/core/infobar.h"
28 #include "content/public/browser/cert_store.h"
29 #include "content/public/common/ssl_status.h" 28 #include "content/public/common/ssl_status.h"
30 #include "device/core/mock_device_client.h" 29 #include "device/core/mock_device_client.h"
31 #include "device/usb/mock_usb_device.h" 30 #include "device/usb/mock_usb_device.h"
32 #include "device/usb/mock_usb_service.h" 31 #include "device/usb/mock_usb_service.h"
33 #include "net/cert/cert_status_flags.h" 32 #include "net/cert/cert_status_flags.h"
34 #include "net/cert/x509_certificate.h" 33 #include "net/cert/x509_certificate.h"
35 #include "net/ssl/ssl_connection_status_flags.h" 34 #include "net/ssl/ssl_connection_status_flags.h"
36 #include "net/test/cert_test_util.h" 35 #include "net/test/cert_test_util.h"
37 #include "net/test/test_certificate_data.h" 36 #include "net/test/test_certificate_data.h"
38 #include "net/test/test_data_directory.h" 37 #include "net/test/test_data_directory.h"
(...skipping 21 matching lines...) Expand all
60 int bitmask = version << net::SSL_CONNECTION_VERSION_SHIFT; 59 int bitmask = version << net::SSL_CONNECTION_VERSION_SHIFT;
61 return bitmask | connection_status; 60 return bitmask | connection_status;
62 } 61 }
63 62
64 int SetSSLCipherSuite(int connection_status, int cipher_suite) { 63 int SetSSLCipherSuite(int connection_status, int cipher_suite) {
65 // Clear cipher suite bits (the 16 lowest bits). 64 // Clear cipher suite bits (the 16 lowest bits).
66 connection_status &= ~net::SSL_CONNECTION_CIPHERSUITE_MASK; 65 connection_status &= ~net::SSL_CONNECTION_CIPHERSUITE_MASK;
67 return cipher_suite | connection_status; 66 return cipher_suite | connection_status;
68 } 67 }
69 68
70 class MockCertStore : public content::CertStore {
71 public:
72 virtual ~MockCertStore() {}
73 MOCK_METHOD2(StoreCert, int(net::X509Certificate*, int));
74 MOCK_METHOD2(RetrieveCert, bool(int, scoped_refptr<net::X509Certificate>*));
75 };
76
77 class MockWebsiteSettingsUI : public WebsiteSettingsUI { 69 class MockWebsiteSettingsUI : public WebsiteSettingsUI {
78 public: 70 public:
79 virtual ~MockWebsiteSettingsUI() {} 71 virtual ~MockWebsiteSettingsUI() {}
80 MOCK_METHOD1(SetCookieInfo, void(const CookieInfoList& cookie_info_list)); 72 MOCK_METHOD1(SetCookieInfo, void(const CookieInfoList& cookie_info_list));
81 MOCK_METHOD2(SetPermissionInfo, 73 MOCK_METHOD2(SetPermissionInfo,
82 void(const PermissionInfoList& permission_info_list, 74 void(const PermissionInfoList& permission_info_list,
83 const ChosenObjectInfoList& chosen_object_info_list)); 75 const ChosenObjectInfoList& chosen_object_info_list));
84 MOCK_METHOD1(SetIdentityInfo, void(const IdentityInfo& identity_info)); 76 MOCK_METHOD1(SetIdentityInfo, void(const IdentityInfo& identity_info));
85 MOCK_METHOD1(SetSelectedTab, void(TabId tab_id)); 77 MOCK_METHOD1(SetSelectedTab, void(TabId tab_id));
86 }; 78 };
87 79
88 class WebsiteSettingsTest : public ChromeRenderViewHostTestHarness { 80 class WebsiteSettingsTest : public ChromeRenderViewHostTestHarness {
89 public: 81 public:
90 WebsiteSettingsTest() : cert_id_(0), url_("http://www.example.com") {} 82 WebsiteSettingsTest() : url_("http://www.example.com") {}
91 83
92 ~WebsiteSettingsTest() override {} 84 ~WebsiteSettingsTest() override {}
93 85
94 void SetUp() override { 86 void SetUp() override {
95 ChromeRenderViewHostTestHarness::SetUp(); 87 ChromeRenderViewHostTestHarness::SetUp();
96 88
97 // Setup stub SSLStatus. 89 // Setup stub SSLStatus.
98 security_info_.security_level = SecurityStateModel::NONE; 90 security_info_.security_level = SecurityStateModel::NONE;
99 91
100 // Create the certificate. 92 // Create the certificate.
101 cert_id_ = 1;
102 cert_ = 93 cert_ =
103 net::ImportCertFromFile(net::GetTestCertsDirectory(), "ok_cert.pem"); 94 net::ImportCertFromFile(net::GetTestCertsDirectory(), "ok_cert.pem");
104 ASSERT_TRUE(cert_); 95 ASSERT_TRUE(cert_);
105 96
106 TabSpecificContentSettings::CreateForWebContents(web_contents()); 97 TabSpecificContentSettings::CreateForWebContents(web_contents());
107 InfoBarService::CreateForWebContents(web_contents()); 98 InfoBarService::CreateForWebContents(web_contents());
108 99
109 // Setup the mock cert store.
110 EXPECT_CALL(cert_store_, RetrieveCert(cert_id_, _) )
111 .Times(AnyNumber())
112 .WillRepeatedly(DoAll(SetArgPointee<1>(cert_), Return(true)));
113
114 // Setup mock ui. 100 // Setup mock ui.
115 mock_ui_.reset(new MockWebsiteSettingsUI()); 101 mock_ui_.reset(new MockWebsiteSettingsUI());
116 ON_CALL(*mock_ui_, SetPermissionInfo(_, _)) 102 ON_CALL(*mock_ui_, SetPermissionInfo(_, _))
117 .WillByDefault(Invoke(this, &WebsiteSettingsTest::SetPermissionInfo)); 103 .WillByDefault(Invoke(this, &WebsiteSettingsTest::SetPermissionInfo));
118 } 104 }
119 105
120 void TearDown() override { 106 void TearDown() override {
121 ASSERT_TRUE(website_settings_.get()) 107 ASSERT_TRUE(website_settings_.get())
122 << "No WebsiteSettings instance created."; 108 << "No WebsiteSettings instance created.";
123 RenderViewHostTestHarness::TearDown(); 109 RenderViewHostTestHarness::TearDown();
(...skipping 15 matching lines...) Expand all
139 for (WebsiteSettingsUI::ChosenObjectInfo* chosen_object_info : 125 for (WebsiteSettingsUI::ChosenObjectInfo* chosen_object_info :
140 chosen_object_info_list) 126 chosen_object_info_list)
141 last_chosen_object_info_.push_back(base::WrapUnique(chosen_object_info)); 127 last_chosen_object_info_.push_back(base::WrapUnique(chosen_object_info));
142 } 128 }
143 129
144 void ResetMockUI() { mock_ui_.reset(new MockWebsiteSettingsUI()); } 130 void ResetMockUI() { mock_ui_.reset(new MockWebsiteSettingsUI()); }
145 131
146 void ClearWebsiteSettings() { website_settings_.reset(nullptr); } 132 void ClearWebsiteSettings() { website_settings_.reset(nullptr); }
147 133
148 const GURL& url() const { return url_; } 134 const GURL& url() const { return url_; }
149 MockCertStore* cert_store() { return &cert_store_; } 135 scoped_refptr<net::X509Certificate> cert() { return cert_; }
150 int cert_id() { return cert_id_; }
151 MockWebsiteSettingsUI* mock_ui() { return mock_ui_.get(); } 136 MockWebsiteSettingsUI* mock_ui() { return mock_ui_.get(); }
152 const SecurityStateModel::SecurityInfo& security_info() { 137 const SecurityStateModel::SecurityInfo& security_info() {
153 return security_info_; 138 return security_info_;
154 } 139 }
155 const std::vector<std::unique_ptr<WebsiteSettingsUI::ChosenObjectInfo>>& 140 const std::vector<std::unique_ptr<WebsiteSettingsUI::ChosenObjectInfo>>&
156 last_chosen_object_info() { 141 last_chosen_object_info() {
157 return last_chosen_object_info_; 142 return last_chosen_object_info_;
158 } 143 }
159 TabSpecificContentSettings* tab_specific_content_settings() { 144 TabSpecificContentSettings* tab_specific_content_settings() {
160 return TabSpecificContentSettings::FromWebContents(web_contents()); 145 return TabSpecificContentSettings::FromWebContents(web_contents());
161 } 146 }
162 InfoBarService* infobar_service() { 147 InfoBarService* infobar_service() {
163 return InfoBarService::FromWebContents(web_contents()); 148 return InfoBarService::FromWebContents(web_contents());
164 } 149 }
165 150
166 WebsiteSettings* website_settings() { 151 WebsiteSettings* website_settings() {
167 if (!website_settings_.get()) { 152 if (!website_settings_.get()) {
168 website_settings_.reset(new WebsiteSettings( 153 website_settings_.reset(new WebsiteSettings(
169 mock_ui(), profile(), tab_specific_content_settings(), web_contents(), 154 mock_ui(), profile(), tab_specific_content_settings(), web_contents(),
170 url(), security_info(), cert_store())); 155 url(), security_info()));
171 } 156 }
172 return website_settings_.get(); 157 return website_settings_.get();
173 } 158 }
174 159
175 device::MockUsbService& usb_service() { 160 device::MockUsbService& usb_service() {
176 return *device_client_.usb_service(); 161 return *device_client_.usb_service();
177 } 162 }
178 163
179 SecurityStateModel::SecurityInfo security_info_; 164 SecurityStateModel::SecurityInfo security_info_;
180 165
181 private: 166 private:
182 device::MockDeviceClient device_client_; 167 device::MockDeviceClient device_client_;
183 std::unique_ptr<WebsiteSettings> website_settings_; 168 std::unique_ptr<WebsiteSettings> website_settings_;
184 std::unique_ptr<MockWebsiteSettingsUI> mock_ui_; 169 std::unique_ptr<MockWebsiteSettingsUI> mock_ui_;
185 int cert_id_;
186 scoped_refptr<net::X509Certificate> cert_; 170 scoped_refptr<net::X509Certificate> cert_;
187 MockCertStore cert_store_;
188 GURL url_; 171 GURL url_;
189 std::vector<std::unique_ptr<WebsiteSettingsUI::ChosenObjectInfo>> 172 std::vector<std::unique_ptr<WebsiteSettingsUI::ChosenObjectInfo>>
190 last_chosen_object_info_; 173 last_chosen_object_info_;
191 }; 174 };
192 175
193 } // namespace 176 } // namespace
194 177
195 TEST_F(WebsiteSettingsTest, OnPermissionsChanged) { 178 TEST_F(WebsiteSettingsTest, OnPermissionsChanged) {
196 // Setup site permissions. 179 // Setup site permissions.
197 HostContentSettingsMap* content_settings = 180 HostContentSettingsMap* content_settings =
(...skipping 158 matching lines...) Expand 10 before | Expand all | Expand 10 after
356 EXPECT_EQ(WebsiteSettings::SITE_CONNECTION_STATUS_UNENCRYPTED, 339 EXPECT_EQ(WebsiteSettings::SITE_CONNECTION_STATUS_UNENCRYPTED,
357 website_settings()->site_connection_status()); 340 website_settings()->site_connection_status());
358 EXPECT_EQ(WebsiteSettings::SITE_IDENTITY_STATUS_NO_CERT, 341 EXPECT_EQ(WebsiteSettings::SITE_IDENTITY_STATUS_NO_CERT,
359 website_settings()->site_identity_status()); 342 website_settings()->site_identity_status());
360 EXPECT_EQ(base::string16(), website_settings()->organization_name()); 343 EXPECT_EQ(base::string16(), website_settings()->organization_name());
361 } 344 }
362 345
363 TEST_F(WebsiteSettingsTest, HTTPSConnection) { 346 TEST_F(WebsiteSettingsTest, HTTPSConnection) {
364 security_info_.security_level = SecurityStateModel::SECURE; 347 security_info_.security_level = SecurityStateModel::SECURE;
365 security_info_.scheme_is_cryptographic = true; 348 security_info_.scheme_is_cryptographic = true;
366 security_info_.cert_id = cert_id(); 349 security_info_.certificate = cert();
367 security_info_.cert_status = 0; 350 security_info_.cert_status = 0;
368 security_info_.security_bits = 81; // No error if > 80. 351 security_info_.security_bits = 81; // No error if > 80.
369 int status = 0; 352 int status = 0;
370 status = SetSSLVersion(status, net::SSL_CONNECTION_VERSION_TLS1); 353 status = SetSSLVersion(status, net::SSL_CONNECTION_VERSION_TLS1);
371 status = SetSSLCipherSuite(status, CR_TLS_RSA_WITH_AES_256_CBC_SHA256); 354 status = SetSSLCipherSuite(status, CR_TLS_RSA_WITH_AES_256_CBC_SHA256);
372 security_info_.connection_status = status; 355 security_info_.connection_status = status;
373 356
374 SetDefaultUIExpectations(mock_ui()); 357 SetDefaultUIExpectations(mock_ui());
375 EXPECT_CALL(*mock_ui(), SetSelectedTab( 358 EXPECT_CALL(*mock_ui(), SetSelectedTab(
376 WebsiteSettingsUI::TAB_ID_PERMISSIONS)); 359 WebsiteSettingsUI::TAB_ID_PERMISSIONS));
(...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after
500 WebsiteSettings::SITE_CONNECTION_STATUS_INSECURE_PASSIVE_SUBRESOURCE, 483 WebsiteSettings::SITE_CONNECTION_STATUS_INSECURE_PASSIVE_SUBRESOURCE,
501 WebsiteSettings::SITE_IDENTITY_STATUS_ERROR, IDR_PAGEINFO_WARNING_MINOR}, 484 WebsiteSettings::SITE_IDENTITY_STATUS_ERROR, IDR_PAGEINFO_WARNING_MINOR},
502 }; 485 };
503 486
504 for (const auto& test : kTestCases) { 487 for (const auto& test : kTestCases) {
505 ResetMockUI(); 488 ResetMockUI();
506 ClearWebsiteSettings(); 489 ClearWebsiteSettings();
507 security_info_ = SecurityStateModel::SecurityInfo(); 490 security_info_ = SecurityStateModel::SecurityInfo();
508 security_info_.security_level = test.security_level; 491 security_info_.security_level = test.security_level;
509 security_info_.scheme_is_cryptographic = true; 492 security_info_.scheme_is_cryptographic = true;
510 security_info_.cert_id = cert_id(); 493 security_info_.certificate = cert();
511 security_info_.cert_status = test.cert_status; 494 security_info_.cert_status = test.cert_status;
512 security_info_.security_bits = 81; // No error if > 80. 495 security_info_.security_bits = 81; // No error if > 80.
513 security_info_.mixed_content_status = test.mixed_content_status; 496 security_info_.mixed_content_status = test.mixed_content_status;
514 security_info_.content_with_cert_errors_status = 497 security_info_.content_with_cert_errors_status =
515 test.content_with_cert_errors_status; 498 test.content_with_cert_errors_status;
516 int status = 0; 499 int status = 0;
517 status = SetSSLVersion(status, net::SSL_CONNECTION_VERSION_TLS1); 500 status = SetSSLVersion(status, net::SSL_CONNECTION_VERSION_TLS1);
518 status = SetSSLCipherSuite(status, CR_TLS_RSA_WITH_AES_256_CBC_SHA256); 501 status = SetSSLCipherSuite(status, CR_TLS_RSA_WITH_AES_256_CBC_SHA256);
519 security_info_.connection_status = status; 502 security_info_.connection_status = status;
520 503
(...skipping 10 matching lines...) Expand all
531 website_settings()->site_connection_status())); 514 website_settings()->site_connection_status()));
532 EXPECT_EQ(base::string16(), website_settings()->organization_name()); 515 EXPECT_EQ(base::string16(), website_settings()->organization_name());
533 } 516 }
534 } 517 }
535 518
536 TEST_F(WebsiteSettingsTest, HTTPSEVCert) { 519 TEST_F(WebsiteSettingsTest, HTTPSEVCert) {
537 scoped_refptr<net::X509Certificate> ev_cert = 520 scoped_refptr<net::X509Certificate> ev_cert =
538 net::X509Certificate::CreateFromBytes( 521 net::X509Certificate::CreateFromBytes(
539 reinterpret_cast<const char*>(google_der), 522 reinterpret_cast<const char*>(google_der),
540 sizeof(google_der)); 523 sizeof(google_der));
541 int ev_cert_id = 1;
542 EXPECT_CALL(*cert_store(), RetrieveCert(ev_cert_id, _)).WillRepeatedly(
543 DoAll(SetArgPointee<1>(ev_cert), Return(true)));
544 524
545 security_info_.security_level = SecurityStateModel::NONE; 525 security_info_.security_level = SecurityStateModel::NONE;
546 security_info_.scheme_is_cryptographic = true; 526 security_info_.scheme_is_cryptographic = true;
547 security_info_.cert_id = ev_cert_id; 527 security_info_.certificate = ev_cert;
548 security_info_.cert_status = net::CERT_STATUS_IS_EV; 528 security_info_.cert_status = net::CERT_STATUS_IS_EV;
549 security_info_.security_bits = 81; // No error if > 80. 529 security_info_.security_bits = 81; // No error if > 80.
550 security_info_.mixed_content_status = 530 security_info_.mixed_content_status =
551 SecurityStateModel::CONTENT_STATUS_DISPLAYED; 531 SecurityStateModel::CONTENT_STATUS_DISPLAYED;
552 int status = 0; 532 int status = 0;
553 status = SetSSLVersion(status, net::SSL_CONNECTION_VERSION_TLS1); 533 status = SetSSLVersion(status, net::SSL_CONNECTION_VERSION_TLS1);
554 status = SetSSLCipherSuite(status, CR_TLS_RSA_WITH_AES_256_CBC_SHA256); 534 status = SetSSLCipherSuite(status, CR_TLS_RSA_WITH_AES_256_CBC_SHA256);
555 security_info_.connection_status = status; 535 security_info_.connection_status = status;
556 536
557 SetDefaultUIExpectations(mock_ui()); 537 SetDefaultUIExpectations(mock_ui());
558 EXPECT_CALL(*mock_ui(), SetSelectedTab(WebsiteSettingsUI::TAB_ID_CONNECTION)); 538 EXPECT_CALL(*mock_ui(), SetSelectedTab(WebsiteSettingsUI::TAB_ID_CONNECTION));
559 539
560 EXPECT_EQ( 540 EXPECT_EQ(
561 WebsiteSettings::SITE_CONNECTION_STATUS_INSECURE_PASSIVE_SUBRESOURCE, 541 WebsiteSettings::SITE_CONNECTION_STATUS_INSECURE_PASSIVE_SUBRESOURCE,
562 website_settings()->site_connection_status()); 542 website_settings()->site_connection_status());
563 EXPECT_EQ(WebsiteSettings::SITE_IDENTITY_STATUS_EV_CERT, 543 EXPECT_EQ(WebsiteSettings::SITE_IDENTITY_STATUS_EV_CERT,
564 website_settings()->site_identity_status()); 544 website_settings()->site_identity_status());
565 EXPECT_EQ(base::UTF8ToUTF16("Google Inc"), 545 EXPECT_EQ(base::UTF8ToUTF16("Google Inc"),
566 website_settings()->organization_name()); 546 website_settings()->organization_name());
567 } 547 }
568 548
569 TEST_F(WebsiteSettingsTest, HTTPSRevocationError) { 549 TEST_F(WebsiteSettingsTest, HTTPSRevocationError) {
570 security_info_.security_level = SecurityStateModel::SECURE; 550 security_info_.security_level = SecurityStateModel::SECURE;
571 security_info_.scheme_is_cryptographic = true; 551 security_info_.scheme_is_cryptographic = true;
572 security_info_.cert_id = cert_id(); 552 security_info_.certificate = cert();
573 security_info_.cert_status = net::CERT_STATUS_UNABLE_TO_CHECK_REVOCATION; 553 security_info_.cert_status = net::CERT_STATUS_UNABLE_TO_CHECK_REVOCATION;
574 security_info_.security_bits = 81; // No error if > 80. 554 security_info_.security_bits = 81; // No error if > 80.
575 int status = 0; 555 int status = 0;
576 status = SetSSLVersion(status, net::SSL_CONNECTION_VERSION_TLS1); 556 status = SetSSLVersion(status, net::SSL_CONNECTION_VERSION_TLS1);
577 status = SetSSLCipherSuite(status, CR_TLS_RSA_WITH_AES_256_CBC_SHA256); 557 status = SetSSLCipherSuite(status, CR_TLS_RSA_WITH_AES_256_CBC_SHA256);
578 security_info_.connection_status = status; 558 security_info_.connection_status = status;
579 559
580 SetDefaultUIExpectations(mock_ui()); 560 SetDefaultUIExpectations(mock_ui());
581 EXPECT_CALL(*mock_ui(), SetSelectedTab(WebsiteSettingsUI::TAB_ID_CONNECTION)); 561 EXPECT_CALL(*mock_ui(), SetSelectedTab(WebsiteSettingsUI::TAB_ID_CONNECTION));
582 562
583 EXPECT_EQ(WebsiteSettings::SITE_CONNECTION_STATUS_ENCRYPTED, 563 EXPECT_EQ(WebsiteSettings::SITE_CONNECTION_STATUS_ENCRYPTED,
584 website_settings()->site_connection_status()); 564 website_settings()->site_connection_status());
585 EXPECT_EQ(WebsiteSettings::SITE_IDENTITY_STATUS_CERT_REVOCATION_UNKNOWN, 565 EXPECT_EQ(WebsiteSettings::SITE_IDENTITY_STATUS_CERT_REVOCATION_UNKNOWN,
586 website_settings()->site_identity_status()); 566 website_settings()->site_identity_status());
587 EXPECT_EQ(base::string16(), website_settings()->organization_name()); 567 EXPECT_EQ(base::string16(), website_settings()->organization_name());
588 } 568 }
589 569
590 TEST_F(WebsiteSettingsTest, HTTPSConnectionError) { 570 TEST_F(WebsiteSettingsTest, HTTPSConnectionError) {
591 security_info_.security_level = SecurityStateModel::SECURE; 571 security_info_.security_level = SecurityStateModel::SECURE;
592 security_info_.scheme_is_cryptographic = true; 572 security_info_.scheme_is_cryptographic = true;
593 security_info_.cert_id = cert_id(); 573 security_info_.certificate = cert();
594 security_info_.cert_status = 0; 574 security_info_.cert_status = 0;
595 security_info_.security_bits = -1; 575 security_info_.security_bits = -1;
596 int status = 0; 576 int status = 0;
597 status = SetSSLVersion(status, net::SSL_CONNECTION_VERSION_TLS1); 577 status = SetSSLVersion(status, net::SSL_CONNECTION_VERSION_TLS1);
598 status = SetSSLCipherSuite(status, CR_TLS_RSA_WITH_AES_256_CBC_SHA256); 578 status = SetSSLCipherSuite(status, CR_TLS_RSA_WITH_AES_256_CBC_SHA256);
599 security_info_.connection_status = status; 579 security_info_.connection_status = status;
600 580
601 SetDefaultUIExpectations(mock_ui()); 581 SetDefaultUIExpectations(mock_ui());
602 EXPECT_CALL(*mock_ui(), SetSelectedTab(WebsiteSettingsUI::TAB_ID_CONNECTION)); 582 EXPECT_CALL(*mock_ui(), SetSelectedTab(WebsiteSettingsUI::TAB_ID_CONNECTION));
603 583
604 EXPECT_EQ(WebsiteSettings::SITE_CONNECTION_STATUS_ENCRYPTED_ERROR, 584 EXPECT_EQ(WebsiteSettings::SITE_CONNECTION_STATUS_ENCRYPTED_ERROR,
605 website_settings()->site_connection_status()); 585 website_settings()->site_connection_status());
606 EXPECT_EQ(WebsiteSettings::SITE_IDENTITY_STATUS_CERT, 586 EXPECT_EQ(WebsiteSettings::SITE_IDENTITY_STATUS_CERT,
607 website_settings()->site_identity_status()); 587 website_settings()->site_identity_status());
608 EXPECT_EQ(base::string16(), website_settings()->organization_name()); 588 EXPECT_EQ(base::string16(), website_settings()->organization_name());
609 } 589 }
610 590
611 TEST_F(WebsiteSettingsTest, HTTPSPolicyCertConnection) { 591 TEST_F(WebsiteSettingsTest, HTTPSPolicyCertConnection) {
612 security_info_.security_level = SecurityStateModel::SECURITY_POLICY_WARNING; 592 security_info_.security_level = SecurityStateModel::SECURITY_POLICY_WARNING;
613 security_info_.scheme_is_cryptographic = true; 593 security_info_.scheme_is_cryptographic = true;
614 security_info_.cert_id = cert_id(); 594 security_info_.certificate = cert();
615 security_info_.cert_status = 0; 595 security_info_.cert_status = 0;
616 security_info_.security_bits = 81; // No error if > 80. 596 security_info_.security_bits = 81; // No error if > 80.
617 int status = 0; 597 int status = 0;
618 status = SetSSLVersion(status, net::SSL_CONNECTION_VERSION_TLS1); 598 status = SetSSLVersion(status, net::SSL_CONNECTION_VERSION_TLS1);
619 status = SetSSLCipherSuite(status, CR_TLS_RSA_WITH_AES_256_CBC_SHA256); 599 status = SetSSLCipherSuite(status, CR_TLS_RSA_WITH_AES_256_CBC_SHA256);
620 security_info_.connection_status = status; 600 security_info_.connection_status = status;
621 601
622 SetDefaultUIExpectations(mock_ui()); 602 SetDefaultUIExpectations(mock_ui());
623 EXPECT_CALL(*mock_ui(), SetSelectedTab(WebsiteSettingsUI::TAB_ID_CONNECTION)); 603 EXPECT_CALL(*mock_ui(), SetSelectedTab(WebsiteSettingsUI::TAB_ID_CONNECTION));
624 604
625 EXPECT_EQ(WebsiteSettings::SITE_CONNECTION_STATUS_ENCRYPTED, 605 EXPECT_EQ(WebsiteSettings::SITE_CONNECTION_STATUS_ENCRYPTED,
626 website_settings()->site_connection_status()); 606 website_settings()->site_connection_status());
627 EXPECT_EQ(WebsiteSettings::SITE_IDENTITY_STATUS_ADMIN_PROVIDED_CERT, 607 EXPECT_EQ(WebsiteSettings::SITE_IDENTITY_STATUS_ADMIN_PROVIDED_CERT,
628 website_settings()->site_identity_status()); 608 website_settings()->site_identity_status());
629 EXPECT_EQ(base::string16(), website_settings()->organization_name()); 609 EXPECT_EQ(base::string16(), website_settings()->organization_name());
630 } 610 }
631 611
632 TEST_F(WebsiteSettingsTest, HTTPSSHA1Minor) { 612 TEST_F(WebsiteSettingsTest, HTTPSSHA1Minor) {
633 security_info_.security_level = SecurityStateModel::NONE; 613 security_info_.security_level = SecurityStateModel::NONE;
634 security_info_.scheme_is_cryptographic = true; 614 security_info_.scheme_is_cryptographic = true;
635 security_info_.cert_id = cert_id(); 615 security_info_.certificate = cert();
636 security_info_.cert_status = 0; 616 security_info_.cert_status = 0;
637 security_info_.security_bits = 81; // No error if > 80. 617 security_info_.security_bits = 81; // No error if > 80.
638 int status = 0; 618 int status = 0;
639 status = SetSSLVersion(status, net::SSL_CONNECTION_VERSION_TLS1); 619 status = SetSSLVersion(status, net::SSL_CONNECTION_VERSION_TLS1);
640 status = SetSSLCipherSuite(status, CR_TLS_RSA_WITH_AES_256_CBC_SHA256); 620 status = SetSSLCipherSuite(status, CR_TLS_RSA_WITH_AES_256_CBC_SHA256);
641 security_info_.connection_status = status; 621 security_info_.connection_status = status;
642 security_info_.sha1_deprecation_status = 622 security_info_.sha1_deprecation_status =
643 SecurityStateModel::DEPRECATED_SHA1_MINOR; 623 SecurityStateModel::DEPRECATED_SHA1_MINOR;
644 624
645 SetDefaultUIExpectations(mock_ui()); 625 SetDefaultUIExpectations(mock_ui());
646 EXPECT_CALL(*mock_ui(), SetSelectedTab(WebsiteSettingsUI::TAB_ID_CONNECTION)); 626 EXPECT_CALL(*mock_ui(), SetSelectedTab(WebsiteSettingsUI::TAB_ID_CONNECTION));
647 627
648 EXPECT_EQ(WebsiteSettings::SITE_CONNECTION_STATUS_ENCRYPTED, 628 EXPECT_EQ(WebsiteSettings::SITE_CONNECTION_STATUS_ENCRYPTED,
649 website_settings()->site_connection_status()); 629 website_settings()->site_connection_status());
650 EXPECT_EQ(WebsiteSettings:: 630 EXPECT_EQ(WebsiteSettings::
651 SITE_IDENTITY_STATUS_DEPRECATED_SIGNATURE_ALGORITHM_MINOR, 631 SITE_IDENTITY_STATUS_DEPRECATED_SIGNATURE_ALGORITHM_MINOR,
652 website_settings()->site_identity_status()); 632 website_settings()->site_identity_status());
653 EXPECT_EQ(base::string16(), website_settings()->organization_name()); 633 EXPECT_EQ(base::string16(), website_settings()->organization_name());
654 EXPECT_EQ(IDR_PAGEINFO_WARNING_MINOR, 634 EXPECT_EQ(IDR_PAGEINFO_WARNING_MINOR,
655 WebsiteSettingsUI::GetIdentityIconID( 635 WebsiteSettingsUI::GetIdentityIconID(
656 website_settings()->site_identity_status())); 636 website_settings()->site_identity_status()));
657 } 637 }
658 638
659 TEST_F(WebsiteSettingsTest, HTTPSSHA1Major) { 639 TEST_F(WebsiteSettingsTest, HTTPSSHA1Major) {
660 security_info_.security_level = SecurityStateModel::NONE; 640 security_info_.security_level = SecurityStateModel::NONE;
661 security_info_.scheme_is_cryptographic = true; 641 security_info_.scheme_is_cryptographic = true;
662 security_info_.cert_id = cert_id(); 642 security_info_.certificate = cert();
663 security_info_.cert_status = 0; 643 security_info_.cert_status = 0;
664 security_info_.security_bits = 81; // No error if > 80. 644 security_info_.security_bits = 81; // No error if > 80.
665 int status = 0; 645 int status = 0;
666 status = SetSSLVersion(status, net::SSL_CONNECTION_VERSION_TLS1); 646 status = SetSSLVersion(status, net::SSL_CONNECTION_VERSION_TLS1);
667 status = SetSSLCipherSuite(status, CR_TLS_RSA_WITH_AES_256_CBC_SHA256); 647 status = SetSSLCipherSuite(status, CR_TLS_RSA_WITH_AES_256_CBC_SHA256);
668 security_info_.connection_status = status; 648 security_info_.connection_status = status;
669 security_info_.sha1_deprecation_status = 649 security_info_.sha1_deprecation_status =
670 SecurityStateModel::DEPRECATED_SHA1_MAJOR; 650 SecurityStateModel::DEPRECATED_SHA1_MAJOR;
671 651
672 SetDefaultUIExpectations(mock_ui()); 652 SetDefaultUIExpectations(mock_ui());
673 EXPECT_CALL(*mock_ui(), SetSelectedTab(WebsiteSettingsUI::TAB_ID_CONNECTION)); 653 EXPECT_CALL(*mock_ui(), SetSelectedTab(WebsiteSettingsUI::TAB_ID_CONNECTION));
674 654
675 EXPECT_EQ(WebsiteSettings::SITE_CONNECTION_STATUS_ENCRYPTED, 655 EXPECT_EQ(WebsiteSettings::SITE_CONNECTION_STATUS_ENCRYPTED,
676 website_settings()->site_connection_status()); 656 website_settings()->site_connection_status());
677 EXPECT_EQ(WebsiteSettings:: 657 EXPECT_EQ(WebsiteSettings::
678 SITE_IDENTITY_STATUS_DEPRECATED_SIGNATURE_ALGORITHM_MAJOR, 658 SITE_IDENTITY_STATUS_DEPRECATED_SIGNATURE_ALGORITHM_MAJOR,
679 website_settings()->site_identity_status()); 659 website_settings()->site_identity_status());
680 EXPECT_EQ(base::string16(), website_settings()->organization_name()); 660 EXPECT_EQ(base::string16(), website_settings()->organization_name());
681 EXPECT_EQ(IDR_PAGEINFO_BAD, 661 EXPECT_EQ(IDR_PAGEINFO_BAD,
682 WebsiteSettingsUI::GetIdentityIconID( 662 WebsiteSettingsUI::GetIdentityIconID(
683 website_settings()->site_identity_status())); 663 website_settings()->site_identity_status()));
684 } 664 }
685 665
686 // All SCTs are from unknown logs. 666 // All SCTs are from unknown logs.
687 TEST_F(WebsiteSettingsTest, UnknownSCTs) { 667 TEST_F(WebsiteSettingsTest, UnknownSCTs) {
688 security_info_.security_level = SecurityStateModel::SECURE; 668 security_info_.security_level = SecurityStateModel::SECURE;
689 security_info_.scheme_is_cryptographic = true; 669 security_info_.scheme_is_cryptographic = true;
690 security_info_.cert_id = cert_id(); 670 security_info_.certificate = cert();
691 security_info_.cert_status = 0; 671 security_info_.cert_status = 0;
692 security_info_.security_bits = 81; // No error if > 80. 672 security_info_.security_bits = 81; // No error if > 80.
693 int status = 0; 673 int status = 0;
694 status = SetSSLVersion(status, net::SSL_CONNECTION_VERSION_TLS1); 674 status = SetSSLVersion(status, net::SSL_CONNECTION_VERSION_TLS1);
695 status = SetSSLCipherSuite(status, CR_TLS_RSA_WITH_AES_256_CBC_SHA256); 675 status = SetSSLCipherSuite(status, CR_TLS_RSA_WITH_AES_256_CBC_SHA256);
696 security_info_.connection_status = status; 676 security_info_.connection_status = status;
697 677
698 security_info_.sct_verify_statuses.push_back(net::ct::SCT_STATUS_LOG_UNKNOWN); 678 security_info_.sct_verify_statuses.push_back(net::ct::SCT_STATUS_LOG_UNKNOWN);
699 security_info_.sct_verify_statuses.push_back(net::ct::SCT_STATUS_LOG_UNKNOWN); 679 security_info_.sct_verify_statuses.push_back(net::ct::SCT_STATUS_LOG_UNKNOWN);
700 680
701 SetDefaultUIExpectations(mock_ui()); 681 SetDefaultUIExpectations(mock_ui());
702 EXPECT_CALL(*mock_ui(), SetSelectedTab(WebsiteSettingsUI::TAB_ID_CONNECTION)); 682 EXPECT_CALL(*mock_ui(), SetSelectedTab(WebsiteSettingsUI::TAB_ID_CONNECTION));
703 683
704 EXPECT_EQ(WebsiteSettings::SITE_CONNECTION_STATUS_ENCRYPTED, 684 EXPECT_EQ(WebsiteSettings::SITE_CONNECTION_STATUS_ENCRYPTED,
705 website_settings()->site_connection_status()); 685 website_settings()->site_connection_status());
706 EXPECT_EQ(WebsiteSettings::SITE_IDENTITY_STATUS_CT_ERROR, 686 EXPECT_EQ(WebsiteSettings::SITE_IDENTITY_STATUS_CT_ERROR,
707 website_settings()->site_identity_status()); 687 website_settings()->site_identity_status());
708 EXPECT_EQ(IDR_PAGEINFO_BAD, WebsiteSettingsUI::GetIdentityIconID( 688 EXPECT_EQ(IDR_PAGEINFO_BAD, WebsiteSettingsUI::GetIdentityIconID(
709 website_settings()->site_identity_status())); 689 website_settings()->site_identity_status()));
710 } 690 }
711 691
712 // All SCTs are invalid. 692 // All SCTs are invalid.
713 TEST_F(WebsiteSettingsTest, InvalidSCTs) { 693 TEST_F(WebsiteSettingsTest, InvalidSCTs) {
714 security_info_.security_level = SecurityStateModel::SECURE; 694 security_info_.security_level = SecurityStateModel::SECURE;
715 security_info_.scheme_is_cryptographic = true; 695 security_info_.scheme_is_cryptographic = true;
716 security_info_.cert_id = cert_id(); 696 security_info_.certificate = cert();
717 security_info_.cert_status = 0; 697 security_info_.cert_status = 0;
718 security_info_.security_bits = 81; // No error if > 80. 698 security_info_.security_bits = 81; // No error if > 80.
719 int status = 0; 699 int status = 0;
720 status = SetSSLVersion(status, net::SSL_CONNECTION_VERSION_TLS1); 700 status = SetSSLVersion(status, net::SSL_CONNECTION_VERSION_TLS1);
721 status = SetSSLCipherSuite(status, CR_TLS_RSA_WITH_AES_256_CBC_SHA256); 701 status = SetSSLCipherSuite(status, CR_TLS_RSA_WITH_AES_256_CBC_SHA256);
722 security_info_.connection_status = status; 702 security_info_.connection_status = status;
723 703
724 security_info_.sct_verify_statuses.push_back( 704 security_info_.sct_verify_statuses.push_back(
725 net::ct::SCT_STATUS_INVALID_TIMESTAMP); 705 net::ct::SCT_STATUS_INVALID_TIMESTAMP);
726 security_info_.sct_verify_statuses.push_back( 706 security_info_.sct_verify_statuses.push_back(
727 net::ct::SCT_STATUS_INVALID_SIGNATURE); 707 net::ct::SCT_STATUS_INVALID_SIGNATURE);
728 708
729 SetDefaultUIExpectations(mock_ui()); 709 SetDefaultUIExpectations(mock_ui());
730 EXPECT_CALL(*mock_ui(), SetSelectedTab(WebsiteSettingsUI::TAB_ID_CONNECTION)); 710 EXPECT_CALL(*mock_ui(), SetSelectedTab(WebsiteSettingsUI::TAB_ID_CONNECTION));
731 711
732 EXPECT_EQ(WebsiteSettings::SITE_CONNECTION_STATUS_ENCRYPTED, 712 EXPECT_EQ(WebsiteSettings::SITE_CONNECTION_STATUS_ENCRYPTED,
733 website_settings()->site_connection_status()); 713 website_settings()->site_connection_status());
734 EXPECT_EQ(WebsiteSettings::SITE_IDENTITY_STATUS_CT_ERROR, 714 EXPECT_EQ(WebsiteSettings::SITE_IDENTITY_STATUS_CT_ERROR,
735 website_settings()->site_identity_status()); 715 website_settings()->site_identity_status());
736 EXPECT_EQ(IDR_PAGEINFO_BAD, WebsiteSettingsUI::GetIdentityIconID( 716 EXPECT_EQ(IDR_PAGEINFO_BAD, WebsiteSettingsUI::GetIdentityIconID(
737 website_settings()->site_identity_status())); 717 website_settings()->site_identity_status()));
738 } 718 }
739 719
740 // All SCTs are valid. 720 // All SCTs are valid.
741 TEST_F(WebsiteSettingsTest, ValidSCTs) { 721 TEST_F(WebsiteSettingsTest, ValidSCTs) {
742 security_info_.security_level = SecurityStateModel::SECURE; 722 security_info_.security_level = SecurityStateModel::SECURE;
743 security_info_.scheme_is_cryptographic = true; 723 security_info_.scheme_is_cryptographic = true;
744 security_info_.cert_id = cert_id(); 724 security_info_.certificate = cert();
745 security_info_.cert_status = 0; 725 security_info_.cert_status = 0;
746 security_info_.security_bits = 81; // No error if > 80. 726 security_info_.security_bits = 81; // No error if > 80.
747 int status = 0; 727 int status = 0;
748 status = SetSSLVersion(status, net::SSL_CONNECTION_VERSION_TLS1); 728 status = SetSSLVersion(status, net::SSL_CONNECTION_VERSION_TLS1);
749 status = SetSSLCipherSuite(status, CR_TLS_RSA_WITH_AES_256_CBC_SHA256); 729 status = SetSSLCipherSuite(status, CR_TLS_RSA_WITH_AES_256_CBC_SHA256);
750 security_info_.connection_status = status; 730 security_info_.connection_status = status;
751 731
752 security_info_.sct_verify_statuses.push_back(net::ct::SCT_STATUS_OK); 732 security_info_.sct_verify_statuses.push_back(net::ct::SCT_STATUS_OK);
753 security_info_.sct_verify_statuses.push_back(net::ct::SCT_STATUS_OK); 733 security_info_.sct_verify_statuses.push_back(net::ct::SCT_STATUS_OK);
754 734
755 SetDefaultUIExpectations(mock_ui()); 735 SetDefaultUIExpectations(mock_ui());
756 EXPECT_CALL(*mock_ui(), 736 EXPECT_CALL(*mock_ui(),
757 SetSelectedTab(WebsiteSettingsUI::TAB_ID_PERMISSIONS)); 737 SetSelectedTab(WebsiteSettingsUI::TAB_ID_PERMISSIONS));
758 738
759 EXPECT_EQ(WebsiteSettings::SITE_CONNECTION_STATUS_ENCRYPTED, 739 EXPECT_EQ(WebsiteSettings::SITE_CONNECTION_STATUS_ENCRYPTED,
760 website_settings()->site_connection_status()); 740 website_settings()->site_connection_status());
761 EXPECT_EQ(WebsiteSettings::SITE_IDENTITY_STATUS_CERT, 741 EXPECT_EQ(WebsiteSettings::SITE_IDENTITY_STATUS_CERT,
762 website_settings()->site_identity_status()); 742 website_settings()->site_identity_status());
763 EXPECT_EQ(IDR_PAGEINFO_GOOD, WebsiteSettingsUI::GetIdentityIconID( 743 EXPECT_EQ(IDR_PAGEINFO_GOOD, WebsiteSettingsUI::GetIdentityIconID(
764 website_settings()->site_identity_status())); 744 website_settings()->site_identity_status()));
765 } 745 }
766 746
767 // All SCTs are valid for an EV cert. 747 // All SCTs are valid for an EV cert.
768 TEST_F(WebsiteSettingsTest, ValidSCTsEV) { 748 TEST_F(WebsiteSettingsTest, ValidSCTsEV) {
769 scoped_refptr<net::X509Certificate> ev_cert = 749 scoped_refptr<net::X509Certificate> ev_cert =
770 net::X509Certificate::CreateFromBytes( 750 net::X509Certificate::CreateFromBytes(
771 reinterpret_cast<const char*>(google_der), sizeof(google_der)); 751 reinterpret_cast<const char*>(google_der), sizeof(google_der));
772 int ev_cert_id = 1;
773 EXPECT_CALL(*cert_store(), RetrieveCert(ev_cert_id, _))
774 .WillRepeatedly(DoAll(SetArgPointee<1>(ev_cert), Return(true)));
775 752
776 security_info_.security_level = SecurityStateModel::SECURE; 753 security_info_.security_level = SecurityStateModel::SECURE;
777 security_info_.scheme_is_cryptographic = true; 754 security_info_.scheme_is_cryptographic = true;
778 security_info_.cert_id = ev_cert_id; 755 security_info_.certificate = ev_cert;
779 security_info_.cert_status = net::CERT_STATUS_IS_EV; 756 security_info_.cert_status = net::CERT_STATUS_IS_EV;
780 security_info_.security_bits = 81; // No error if > 80. 757 security_info_.security_bits = 81; // No error if > 80.
781 int status = 0; 758 int status = 0;
782 status = SetSSLVersion(status, net::SSL_CONNECTION_VERSION_TLS1); 759 status = SetSSLVersion(status, net::SSL_CONNECTION_VERSION_TLS1);
783 status = SetSSLCipherSuite(status, CR_TLS_RSA_WITH_AES_256_CBC_SHA256); 760 status = SetSSLCipherSuite(status, CR_TLS_RSA_WITH_AES_256_CBC_SHA256);
784 security_info_.connection_status = status; 761 security_info_.connection_status = status;
785 762
786 security_info_.sct_verify_statuses.push_back(net::ct::SCT_STATUS_OK); 763 security_info_.sct_verify_statuses.push_back(net::ct::SCT_STATUS_OK);
787 security_info_.sct_verify_statuses.push_back(net::ct::SCT_STATUS_OK); 764 security_info_.sct_verify_statuses.push_back(net::ct::SCT_STATUS_OK);
788 765
789 SetDefaultUIExpectations(mock_ui()); 766 SetDefaultUIExpectations(mock_ui());
790 EXPECT_CALL(*mock_ui(), 767 EXPECT_CALL(*mock_ui(),
791 SetSelectedTab(WebsiteSettingsUI::TAB_ID_PERMISSIONS)); 768 SetSelectedTab(WebsiteSettingsUI::TAB_ID_PERMISSIONS));
792 769
793 EXPECT_EQ(WebsiteSettings::SITE_CONNECTION_STATUS_ENCRYPTED, 770 EXPECT_EQ(WebsiteSettings::SITE_CONNECTION_STATUS_ENCRYPTED,
794 website_settings()->site_connection_status()); 771 website_settings()->site_connection_status());
795 EXPECT_EQ(WebsiteSettings::SITE_IDENTITY_STATUS_EV_CERT, 772 EXPECT_EQ(WebsiteSettings::SITE_IDENTITY_STATUS_EV_CERT,
796 website_settings()->site_identity_status()); 773 website_settings()->site_identity_status());
797 EXPECT_EQ(IDR_PAGEINFO_GOOD, WebsiteSettingsUI::GetIdentityIconID( 774 EXPECT_EQ(IDR_PAGEINFO_GOOD, WebsiteSettingsUI::GetIdentityIconID(
798 website_settings()->site_identity_status())); 775 website_settings()->site_identity_status()));
799 } 776 }
800 777
801 // A mix of unknown and invalid SCTs. 778 // A mix of unknown and invalid SCTs.
802 TEST_F(WebsiteSettingsTest, UnknownAndInvalidSCTs) { 779 TEST_F(WebsiteSettingsTest, UnknownAndInvalidSCTs) {
803 security_info_.security_level = SecurityStateModel::SECURE; 780 security_info_.security_level = SecurityStateModel::SECURE;
804 security_info_.scheme_is_cryptographic = true; 781 security_info_.scheme_is_cryptographic = true;
805 security_info_.cert_id = cert_id(); 782 security_info_.certificate = cert();
806 security_info_.cert_status = 0; 783 security_info_.cert_status = 0;
807 security_info_.security_bits = 81; // No error if > 80. 784 security_info_.security_bits = 81; // No error if > 80.
808 int status = 0; 785 int status = 0;
809 status = SetSSLVersion(status, net::SSL_CONNECTION_VERSION_TLS1); 786 status = SetSSLVersion(status, net::SSL_CONNECTION_VERSION_TLS1);
810 status = SetSSLCipherSuite(status, CR_TLS_RSA_WITH_AES_256_CBC_SHA256); 787 status = SetSSLCipherSuite(status, CR_TLS_RSA_WITH_AES_256_CBC_SHA256);
811 security_info_.connection_status = status; 788 security_info_.connection_status = status;
812 789
813 security_info_.sct_verify_statuses.push_back(net::ct::SCT_STATUS_LOG_UNKNOWN); 790 security_info_.sct_verify_statuses.push_back(net::ct::SCT_STATUS_LOG_UNKNOWN);
814 security_info_.sct_verify_statuses.push_back( 791 security_info_.sct_verify_statuses.push_back(
815 net::ct::SCT_STATUS_INVALID_SIGNATURE); 792 net::ct::SCT_STATUS_INVALID_SIGNATURE);
816 793
817 SetDefaultUIExpectations(mock_ui()); 794 SetDefaultUIExpectations(mock_ui());
818 EXPECT_CALL(*mock_ui(), SetSelectedTab(WebsiteSettingsUI::TAB_ID_CONNECTION)); 795 EXPECT_CALL(*mock_ui(), SetSelectedTab(WebsiteSettingsUI::TAB_ID_CONNECTION));
819 796
820 EXPECT_EQ(WebsiteSettings::SITE_CONNECTION_STATUS_ENCRYPTED, 797 EXPECT_EQ(WebsiteSettings::SITE_CONNECTION_STATUS_ENCRYPTED,
821 website_settings()->site_connection_status()); 798 website_settings()->site_connection_status());
822 EXPECT_EQ(WebsiteSettings::SITE_IDENTITY_STATUS_CT_ERROR, 799 EXPECT_EQ(WebsiteSettings::SITE_IDENTITY_STATUS_CT_ERROR,
823 website_settings()->site_identity_status()); 800 website_settings()->site_identity_status());
824 EXPECT_EQ(IDR_PAGEINFO_BAD, WebsiteSettingsUI::GetIdentityIconID( 801 EXPECT_EQ(IDR_PAGEINFO_BAD, WebsiteSettingsUI::GetIdentityIconID(
825 website_settings()->site_identity_status())); 802 website_settings()->site_identity_status()));
826 } 803 }
827 804
828 // At least one SCT is valid and one is from an unknown log. 805 // At least one SCT is valid and one is from an unknown log.
829 TEST_F(WebsiteSettingsTest, ValidAndUnknownSCTs) { 806 TEST_F(WebsiteSettingsTest, ValidAndUnknownSCTs) {
830 security_info_.security_level = SecurityStateModel::SECURE; 807 security_info_.security_level = SecurityStateModel::SECURE;
831 security_info_.scheme_is_cryptographic = true; 808 security_info_.scheme_is_cryptographic = true;
832 security_info_.cert_id = cert_id(); 809 security_info_.certificate = cert();
833 security_info_.cert_status = 0; 810 security_info_.cert_status = 0;
834 security_info_.security_bits = 81; // No error if > 80. 811 security_info_.security_bits = 81; // No error if > 80.
835 int status = 0; 812 int status = 0;
836 status = SetSSLVersion(status, net::SSL_CONNECTION_VERSION_TLS1); 813 status = SetSSLVersion(status, net::SSL_CONNECTION_VERSION_TLS1);
837 status = SetSSLCipherSuite(status, CR_TLS_RSA_WITH_AES_256_CBC_SHA256); 814 status = SetSSLCipherSuite(status, CR_TLS_RSA_WITH_AES_256_CBC_SHA256);
838 security_info_.connection_status = status; 815 security_info_.connection_status = status;
839 816
840 security_info_.sct_verify_statuses.push_back(net::ct::SCT_STATUS_OK); 817 security_info_.sct_verify_statuses.push_back(net::ct::SCT_STATUS_OK);
841 security_info_.sct_verify_statuses.push_back(net::ct::SCT_STATUS_LOG_UNKNOWN); 818 security_info_.sct_verify_statuses.push_back(net::ct::SCT_STATUS_LOG_UNKNOWN);
842 819
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
892 869
893 TEST_F(WebsiteSettingsTest, InternalPage) { 870 TEST_F(WebsiteSettingsTest, InternalPage) {
894 SetURL("chrome://bookmarks"); 871 SetURL("chrome://bookmarks");
895 SetDefaultUIExpectations(mock_ui()); 872 SetDefaultUIExpectations(mock_ui());
896 EXPECT_EQ(WebsiteSettings::SITE_CONNECTION_STATUS_INTERNAL_PAGE, 873 EXPECT_EQ(WebsiteSettings::SITE_CONNECTION_STATUS_INTERNAL_PAGE,
897 website_settings()->site_connection_status()); 874 website_settings()->site_connection_status());
898 EXPECT_EQ(WebsiteSettings::SITE_IDENTITY_STATUS_INTERNAL_PAGE, 875 EXPECT_EQ(WebsiteSettings::SITE_IDENTITY_STATUS_INTERNAL_PAGE,
899 website_settings()->site_identity_status()); 876 website_settings()->site_identity_status());
900 EXPECT_EQ(base::string16(), website_settings()->organization_name()); 877 EXPECT_EQ(base::string16(), website_settings()->organization_name());
901 } 878 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/website_settings/website_settings_ui.cc ('k') | components/security_state/security_state_model.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698