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

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

Issue 2483093002: Remove Certificate Transparency information from WebsiteSettings (Closed)
Patch Set: lgarron comment Created 4 years, 1 month 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
« no previous file with comments | « chrome/browser/ui/website_settings/website_settings_ui.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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"
(...skipping 659 matching lines...) Expand 10 before | Expand all | Expand 10 after
670 website_settings()->site_connection_status()); 670 website_settings()->site_connection_status());
671 EXPECT_EQ(WebsiteSettings:: 671 EXPECT_EQ(WebsiteSettings::
672 SITE_IDENTITY_STATUS_DEPRECATED_SIGNATURE_ALGORITHM_MAJOR, 672 SITE_IDENTITY_STATUS_DEPRECATED_SIGNATURE_ALGORITHM_MAJOR,
673 website_settings()->site_identity_status()); 673 website_settings()->site_identity_status());
674 EXPECT_EQ(base::string16(), website_settings()->organization_name()); 674 EXPECT_EQ(base::string16(), website_settings()->organization_name());
675 EXPECT_EQ(IDR_PAGEINFO_BAD, 675 EXPECT_EQ(IDR_PAGEINFO_BAD,
676 WebsiteSettingsUI::GetIdentityIconID( 676 WebsiteSettingsUI::GetIdentityIconID(
677 website_settings()->site_identity_status())); 677 website_settings()->site_identity_status()));
678 } 678 }
679 679
680 // All SCTs are from unknown logs.
681 TEST_F(WebsiteSettingsTest, UnknownSCTs) {
682 security_info_.security_level = SecurityStateModel::SECURE;
683 security_info_.scheme_is_cryptographic = true;
684 security_info_.certificate = cert();
685 security_info_.cert_status = 0;
686 security_info_.security_bits = 81; // No error if > 80.
687 int status = 0;
688 status = SetSSLVersion(status, net::SSL_CONNECTION_VERSION_TLS1);
689 status = SetSSLCipherSuite(status, CR_TLS_RSA_WITH_AES_256_CBC_SHA256);
690 security_info_.connection_status = status;
691
692 security_info_.sct_verify_statuses.push_back(net::ct::SCT_STATUS_LOG_UNKNOWN);
693 security_info_.sct_verify_statuses.push_back(net::ct::SCT_STATUS_LOG_UNKNOWN);
694
695 SetDefaultUIExpectations(mock_ui());
696 EXPECT_CALL(*mock_ui(), SetSelectedTab(WebsiteSettingsUI::TAB_ID_CONNECTION));
697
698 EXPECT_EQ(WebsiteSettings::SITE_CONNECTION_STATUS_ENCRYPTED,
699 website_settings()->site_connection_status());
700 EXPECT_EQ(WebsiteSettings::SITE_IDENTITY_STATUS_CT_ERROR,
701 website_settings()->site_identity_status());
702 EXPECT_EQ(IDR_PAGEINFO_BAD, WebsiteSettingsUI::GetIdentityIconID(
703 website_settings()->site_identity_status()));
704 }
705
706 // All SCTs are invalid.
707 TEST_F(WebsiteSettingsTest, InvalidSCTs) {
708 security_info_.security_level = SecurityStateModel::SECURE;
709 security_info_.scheme_is_cryptographic = true;
710 security_info_.certificate = cert();
711 security_info_.cert_status = 0;
712 security_info_.security_bits = 81; // No error if > 80.
713 int status = 0;
714 status = SetSSLVersion(status, net::SSL_CONNECTION_VERSION_TLS1);
715 status = SetSSLCipherSuite(status, CR_TLS_RSA_WITH_AES_256_CBC_SHA256);
716 security_info_.connection_status = status;
717
718 security_info_.sct_verify_statuses.push_back(
719 net::ct::SCT_STATUS_INVALID_TIMESTAMP);
720 security_info_.sct_verify_statuses.push_back(
721 net::ct::SCT_STATUS_INVALID_SIGNATURE);
722
723 SetDefaultUIExpectations(mock_ui());
724 EXPECT_CALL(*mock_ui(), SetSelectedTab(WebsiteSettingsUI::TAB_ID_CONNECTION));
725
726 EXPECT_EQ(WebsiteSettings::SITE_CONNECTION_STATUS_ENCRYPTED,
727 website_settings()->site_connection_status());
728 EXPECT_EQ(WebsiteSettings::SITE_IDENTITY_STATUS_CT_ERROR,
729 website_settings()->site_identity_status());
730 EXPECT_EQ(IDR_PAGEINFO_BAD, WebsiteSettingsUI::GetIdentityIconID(
731 website_settings()->site_identity_status()));
732 }
733
734 // All SCTs are valid.
735 TEST_F(WebsiteSettingsTest, ValidSCTs) {
736 security_info_.security_level = SecurityStateModel::SECURE;
737 security_info_.scheme_is_cryptographic = true;
738 security_info_.certificate = cert();
739 security_info_.cert_status = 0;
740 security_info_.security_bits = 81; // No error if > 80.
741 int status = 0;
742 status = SetSSLVersion(status, net::SSL_CONNECTION_VERSION_TLS1);
743 status = SetSSLCipherSuite(status, CR_TLS_RSA_WITH_AES_256_CBC_SHA256);
744 security_info_.connection_status = status;
745
746 security_info_.sct_verify_statuses.push_back(net::ct::SCT_STATUS_OK);
747 security_info_.sct_verify_statuses.push_back(net::ct::SCT_STATUS_OK);
748
749 SetDefaultUIExpectations(mock_ui());
750 EXPECT_CALL(*mock_ui(),
751 SetSelectedTab(WebsiteSettingsUI::TAB_ID_PERMISSIONS));
752
753 EXPECT_EQ(WebsiteSettings::SITE_CONNECTION_STATUS_ENCRYPTED,
754 website_settings()->site_connection_status());
755 EXPECT_EQ(WebsiteSettings::SITE_IDENTITY_STATUS_CERT,
756 website_settings()->site_identity_status());
757 EXPECT_EQ(IDR_PAGEINFO_GOOD, WebsiteSettingsUI::GetIdentityIconID(
758 website_settings()->site_identity_status()));
759 }
760
761 // All SCTs are valid for an EV cert.
762 TEST_F(WebsiteSettingsTest, ValidSCTsEV) {
763 scoped_refptr<net::X509Certificate> ev_cert =
764 net::X509Certificate::CreateFromBytes(
765 reinterpret_cast<const char*>(google_der), sizeof(google_der));
766
767 security_info_.security_level = SecurityStateModel::SECURE;
768 security_info_.scheme_is_cryptographic = true;
769 security_info_.certificate = ev_cert;
770 security_info_.cert_status = net::CERT_STATUS_IS_EV;
771 security_info_.security_bits = 81; // No error if > 80.
772 int status = 0;
773 status = SetSSLVersion(status, net::SSL_CONNECTION_VERSION_TLS1);
774 status = SetSSLCipherSuite(status, CR_TLS_RSA_WITH_AES_256_CBC_SHA256);
775 security_info_.connection_status = status;
776
777 security_info_.sct_verify_statuses.push_back(net::ct::SCT_STATUS_OK);
778 security_info_.sct_verify_statuses.push_back(net::ct::SCT_STATUS_OK);
779
780 SetDefaultUIExpectations(mock_ui());
781 EXPECT_CALL(*mock_ui(),
782 SetSelectedTab(WebsiteSettingsUI::TAB_ID_PERMISSIONS));
783
784 EXPECT_EQ(WebsiteSettings::SITE_CONNECTION_STATUS_ENCRYPTED,
785 website_settings()->site_connection_status());
786 EXPECT_EQ(WebsiteSettings::SITE_IDENTITY_STATUS_EV_CERT,
787 website_settings()->site_identity_status());
788 EXPECT_EQ(IDR_PAGEINFO_GOOD, WebsiteSettingsUI::GetIdentityIconID(
789 website_settings()->site_identity_status()));
790 }
791
792 // A mix of unknown and invalid SCTs.
793 TEST_F(WebsiteSettingsTest, UnknownAndInvalidSCTs) {
794 security_info_.security_level = SecurityStateModel::SECURE;
795 security_info_.scheme_is_cryptographic = true;
796 security_info_.certificate = cert();
797 security_info_.cert_status = 0;
798 security_info_.security_bits = 81; // No error if > 80.
799 int status = 0;
800 status = SetSSLVersion(status, net::SSL_CONNECTION_VERSION_TLS1);
801 status = SetSSLCipherSuite(status, CR_TLS_RSA_WITH_AES_256_CBC_SHA256);
802 security_info_.connection_status = status;
803
804 security_info_.sct_verify_statuses.push_back(net::ct::SCT_STATUS_LOG_UNKNOWN);
805 security_info_.sct_verify_statuses.push_back(
806 net::ct::SCT_STATUS_INVALID_SIGNATURE);
807
808 SetDefaultUIExpectations(mock_ui());
809 EXPECT_CALL(*mock_ui(), SetSelectedTab(WebsiteSettingsUI::TAB_ID_CONNECTION));
810
811 EXPECT_EQ(WebsiteSettings::SITE_CONNECTION_STATUS_ENCRYPTED,
812 website_settings()->site_connection_status());
813 EXPECT_EQ(WebsiteSettings::SITE_IDENTITY_STATUS_CT_ERROR,
814 website_settings()->site_identity_status());
815 EXPECT_EQ(IDR_PAGEINFO_BAD, WebsiteSettingsUI::GetIdentityIconID(
816 website_settings()->site_identity_status()));
817 }
818
819 // At least one SCT is valid and one is from an unknown log.
820 TEST_F(WebsiteSettingsTest, ValidAndUnknownSCTs) {
821 security_info_.security_level = SecurityStateModel::SECURE;
822 security_info_.scheme_is_cryptographic = true;
823 security_info_.certificate = cert();
824 security_info_.cert_status = 0;
825 security_info_.security_bits = 81; // No error if > 80.
826 int status = 0;
827 status = SetSSLVersion(status, net::SSL_CONNECTION_VERSION_TLS1);
828 status = SetSSLCipherSuite(status, CR_TLS_RSA_WITH_AES_256_CBC_SHA256);
829 security_info_.connection_status = status;
830
831 security_info_.sct_verify_statuses.push_back(net::ct::SCT_STATUS_OK);
832 security_info_.sct_verify_statuses.push_back(net::ct::SCT_STATUS_LOG_UNKNOWN);
833
834 SetDefaultUIExpectations(mock_ui());
835 EXPECT_CALL(*mock_ui(),
836 SetSelectedTab(WebsiteSettingsUI::TAB_ID_PERMISSIONS));
837
838 EXPECT_EQ(WebsiteSettings::SITE_CONNECTION_STATUS_ENCRYPTED,
839 website_settings()->site_connection_status());
840 EXPECT_EQ(WebsiteSettings::SITE_IDENTITY_STATUS_CERT,
841 website_settings()->site_identity_status());
842 EXPECT_EQ(IDR_PAGEINFO_GOOD, WebsiteSettingsUI::GetIdentityIconID(
843 website_settings()->site_identity_status()));
844 }
845
846 #if !defined(OS_ANDROID) 680 #if !defined(OS_ANDROID)
847 TEST_F(WebsiteSettingsTest, NoInfoBar) { 681 TEST_F(WebsiteSettingsTest, NoInfoBar) {
848 SetDefaultUIExpectations(mock_ui()); 682 SetDefaultUIExpectations(mock_ui());
849 EXPECT_CALL(*mock_ui(), SetSelectedTab( 683 EXPECT_CALL(*mock_ui(), SetSelectedTab(
850 WebsiteSettingsUI::TAB_ID_PERMISSIONS)); 684 WebsiteSettingsUI::TAB_ID_PERMISSIONS));
851 EXPECT_EQ(0u, infobar_service()->infobar_count()); 685 EXPECT_EQ(0u, infobar_service()->infobar_count());
852 website_settings()->OnUIClosing(); 686 website_settings()->OnUIClosing();
853 EXPECT_EQ(0u, infobar_service()->infobar_count()); 687 EXPECT_EQ(0u, infobar_service()->infobar_count());
854 } 688 }
855 689
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after
952 histograms.ExpectTotalCount(test.histogram_name, 2); 786 histograms.ExpectTotalCount(test.histogram_name, 2);
953 histograms.ExpectBucketCount( 787 histograms.ExpectBucketCount(
954 test.histogram_name, 788 test.histogram_name,
955 WebsiteSettings::WebsiteSettingsAction::WEBSITE_SETTINGS_OPENED, 1); 789 WebsiteSettings::WebsiteSettingsAction::WEBSITE_SETTINGS_OPENED, 1);
956 histograms.ExpectBucketCount(test.histogram_name, 790 histograms.ExpectBucketCount(test.histogram_name,
957 WebsiteSettings::WebsiteSettingsAction:: 791 WebsiteSettings::WebsiteSettingsAction::
958 WEBSITE_SETTINGS_PERMISSIONS_TAB_SELECTED, 792 WEBSITE_SETTINGS_PERMISSIONS_TAB_SELECTED,
959 1); 793 1);
960 } 794 }
961 } 795 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/website_settings/website_settings_ui.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698