ssl_error_options_mask_unittest.cc 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. // Copyright 2019 The Chromium Authors. All rights reserved.
  2. // Use of this source code is governed by a BSD-style license that can be
  3. // found in the LICENSE file.
  4. #include "components/security_interstitials/core/ssl_error_options_mask.h"
  5. #include "net/base/net_errors.h"
  6. #include "testing/gtest/include/gtest/gtest.h"
  7. namespace security_interstitials {
  8. TEST(SSLErrorOptionsMask, CalculateSSLErrorOptionsMask) {
  9. int mask;
  10. // Non-overridable cert error.
  11. mask = CalculateSSLErrorOptionsMask(
  12. net::ERR_SSL_PINNED_KEY_NOT_IN_CERT_CHAIN, /* cert_error */
  13. false, /* hard_override_disabled */
  14. false /* should_ssl_errors_be_fatal */
  15. );
  16. EXPECT_EQ(0, mask);
  17. mask = CalculateSSLErrorOptionsMask(
  18. net::ERR_SSL_PINNED_KEY_NOT_IN_CERT_CHAIN, /* cert_error */
  19. true, /* hard_override_disabled */
  20. false /* should_ssl_errors_be_fatal */
  21. );
  22. EXPECT_EQ(SSLErrorOptionsMask::HARD_OVERRIDE_DISABLED, mask);
  23. mask = CalculateSSLErrorOptionsMask(
  24. net::ERR_SSL_PINNED_KEY_NOT_IN_CERT_CHAIN, /* cert_error */
  25. false, /* hard_override_disabled */
  26. true /* should_ssl_errors_be_fatal */
  27. );
  28. EXPECT_EQ(SSLErrorOptionsMask::STRICT_ENFORCEMENT, mask);
  29. // Overridable cert error.
  30. mask =
  31. CalculateSSLErrorOptionsMask(net::ERR_CERT_DATE_INVALID, /* cert_error */
  32. false, /* hard_override_disabled */
  33. false /* should_ssl_errors_be_fatal */
  34. );
  35. EXPECT_EQ(SSLErrorOptionsMask::SOFT_OVERRIDE_ENABLED, mask);
  36. mask =
  37. CalculateSSLErrorOptionsMask(net::ERR_CERT_DATE_INVALID, /* cert_error */
  38. true, /* hard_override_disabled */
  39. false /* should_ssl_errors_be_fatal */
  40. );
  41. EXPECT_EQ(SSLErrorOptionsMask::HARD_OVERRIDE_DISABLED, mask);
  42. mask =
  43. CalculateSSLErrorOptionsMask(net::ERR_CERT_DATE_INVALID, /* cert_error */
  44. false, /* hard_override_disabled */
  45. true /* should_ssl_errors_be_fatal */
  46. );
  47. EXPECT_EQ(SSLErrorOptionsMask::STRICT_ENFORCEMENT, mask);
  48. }
  49. } // namespace security_interstitials