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

Side by Side Diff: components/data_reduction_proxy/browser/data_reduction_proxy_params_unittest.cc

Issue 390533003: Bypassed Bytes UMAs (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Addressed bengr comments Created 6 years, 5 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "components/data_reduction_proxy/browser/data_reduction_proxy_params.h" 5 #include "components/data_reduction_proxy/browser/data_reduction_proxy_params.h"
6 6
7 #include <map>
8
7 #include "base/command_line.h" 9 #include "base/command_line.h"
8 #include "base/logging.h" 10 #include "base/logging.h"
9 #include "components/data_reduction_proxy/browser/data_reduction_proxy_params_te st_utils.h" 11 #include "components/data_reduction_proxy/browser/data_reduction_proxy_params_te st_utils.h"
10 #include "components/data_reduction_proxy/common/data_reduction_proxy_switches.h " 12 #include "components/data_reduction_proxy/common/data_reduction_proxy_switches.h "
13 #include "net/proxy/proxy_retry_info.h"
14 #include "net/proxy/proxy_server.h"
11 #include "testing/gtest/include/gtest/gtest.h" 15 #include "testing/gtest/include/gtest/gtest.h"
12 16
13 namespace data_reduction_proxy { 17 namespace data_reduction_proxy {
14 class DataReductionProxyParamsTest : public testing::Test { 18 class DataReductionProxyParamsTest : public testing::Test {
15 public: 19 public:
16 void CheckParams(const TestDataReductionProxyParams& params, 20 void CheckParams(const TestDataReductionProxyParams& params,
17 bool expected_init_result, 21 bool expected_init_result,
18 bool expected_allowed, 22 bool expected_allowed,
19 bool expected_fallback_allowed, 23 bool expected_fallback_allowed,
20 bool expected_alternative_allowed, 24 bool expected_alternative_allowed,
(...skipping 530 matching lines...) Expand 10 before | Expand all | Expand 10 after
551 std::pair<GURL, GURL> proxy_servers; 555 std::pair<GURL, GURL> proxy_servers;
552 EXPECT_EQ(tests[i].expected_result, 556 EXPECT_EQ(tests[i].expected_result,
553 params.IsDataReductionProxy( 557 params.IsDataReductionProxy(
554 tests[i].host_port_pair, &proxy_servers)); 558 tests[i].host_port_pair, &proxy_servers));
555 EXPECT_TRUE(tests[i].expected_first.Equals( 559 EXPECT_TRUE(tests[i].expected_first.Equals(
556 net::HostPortPair::FromURL(proxy_servers.first))); 560 net::HostPortPair::FromURL(proxy_servers.first)));
557 EXPECT_TRUE(tests[i].expected_second.Equals( 561 EXPECT_TRUE(tests[i].expected_second.Equals(
558 net::HostPortPair::FromURL(proxy_servers.second))); 562 net::HostPortPair::FromURL(proxy_servers.second)));
559 } 563 }
560 } 564 }
565
566 std::string GetRetryMapKeyFromOrigin(std::string origin) {
567 // The retry map has the scheme prefix for https but not for http
568 return net::ProxyServer(GURL(origin).SchemeIs(url::kHttpsScheme) ?
569 net::ProxyServer::SCHEME_HTTPS : net::ProxyServer::SCHEME_HTTP,
570 net::HostPortPair::FromURL(GURL(origin))).ToURI();
571 }
572
573 TEST_F(DataReductionProxyParamsTest, AreProxiesBypassed) {
574 const struct {
575 // proxy rules
576 bool allowed;
577 bool fallback_allowed;
578 bool alt_allowed;
579 bool ssl;
580 // proxies in retry map
581 bool origin;
582 bool fallback_origin;
583 bool alt_origin;
584 bool alt_fallback_origin;
585 bool ssl_origin;
586
587 bool expected_result;
588 } tests[] = {
bengr 2014/07/22 16:59:44 Indentation should be only two, and you should pro
megjablon 2014/07/22 18:40:45 I think the comment makes more sense in the curren
589 { // proxy rules
590 false,
591 false,
592 false,
593 false,
594 // proxies in retry map
595 false,
596 false,
597 false,
598 false,
599 false,
600 // expected result
601 false,
602 },
603 { // proxy rules
604 true,
605 false,
606 false,
607 false,
608 // proxies in retry map
609 false,
610 false,
611 false,
612 false,
613 false,
614 // expected result
615 false,
616 },
617 { // proxy rules
618 true,
619 true,
620 false,
621 false,
622 // proxies in retry map
623 false,
624 false,
625 false,
626 false,
627 false,
628 // expected result
629 false,
630 },
631 { // proxy rules
632 true,
633 true,
634 true,
635 false,
636 // proxies in retry map
637 false,
638 false,
639 false,
640 false,
641 false,
642 // expected result
643 false,
644 },
645 { // proxy rules
646 true,
647 true,
648 true,
649 true,
650 // proxies in retry map
651 false,
652 false,
653 false,
654 false,
655 false,
656 // expected result
657 false,
658 },
659 { // proxy rules
660 false,
661 false,
662 false,
663 true,
664 // proxies in retry map
665 false,
666 false,
667 false,
668 false,
669 true,
670 // expected result
671 false,
672 },
673 { // proxy rules
674 false,
675 false,
676 true,
677 true,
678 // proxies in retry map
679 false,
680 false,
681 false,
682 false,
683 true,
684 // expected result
685 true,
686 },
687 { // proxy rules
688 true,
689 true,
690 true,
691 true,
692 // proxies in retry map
693 false,
694 false,
695 false,
696 false,
697 true,
698 // expected result
699 true,
700 },
701 { // proxy rules
702 true,
703 false,
704 false,
705 false,
706 // proxies in retry map
707 true,
708 false,
709 false,
710 false,
711 false,
712 // expected result
713 true,
714 },
715 { // proxy rules
716 true,
717 true,
718 false,
719 false,
720 // proxies in retry map
721 true,
722 false,
723 false,
724 false,
725 false,
726 // expected result
727 false,
728 },
729 { // proxy rules
730 true,
731 true,
732 false,
733 false,
734 // proxies in retry map
735 true,
736 true,
737 false,
738 false,
739 false,
740 // expected result
741 true,
742 },
743 { // proxy rules
744 true,
745 true,
746 true,
747 false,
748 // proxies in retry map
749 true,
750 true,
751 false,
752 false,
753 false,
754 // expected result
755 true,
756 },
757 { // proxy rules
758 true,
759 true,
760 true,
761 false,
762 // proxies in retry map
763 true,
764 false,
765 true,
766 false,
767 false,
768 // expected result
769 false,
770 },
771 { // proxy rules
772 true,
773 true,
774 true,
775 false,
776 // proxies in retry map
777 false,
778 false,
779 true,
780 true,
781 false,
782 // expected result
783 true,
784 },
785 { // proxy rules
786 false,
787 true,
788 true,
789 false,
790 // proxies in retry map
791 false,
792 false,
793 true,
794 true,
795 false,
796 // expected result
797 true,
798 },
799 { // proxy rules
800 false,
801 true,
802 false,
803 false,
804 // proxies in retry map
805 false,
806 false,
807 true,
808 false,
809 false,
810 // expected result
811 false,
812 },
813 { // proxy rules
814 true,
815 true,
816 true,
817 false,
818 // proxies in retry map
819 true,
820 false,
821 true,
822 true,
823 false,
824 // expected result
825 true,
826 },
827 { // proxy rules
828 true,
829 true,
830 true,
831 false,
832 // proxies in retry map
833 true,
834 true,
835 true,
836 true,
837 true,
838 // expected result
839 true,
840 },
841 { // proxy rules
842 true,
843 true,
844 true,
845 true,
846 // proxies in retry map
847 true,
848 true,
849 true,
850 true,
851 true,
852 // expected result
853 true,
854 },
855 { // proxy rules
856 true,
857 true,
858 true,
859 true,
860 // proxies in retry map
861 true,
862 true,
863 true,
864 true,
865 false,
866 // expected result
867 false,
868 },
869 };
870
871 // The retry map has the scheme prefix for https but not for http.
872 std::string origin = GetRetryMapKeyFromOrigin(
873 TestDataReductionProxyParams::DefaultOrigin());
874 std::string fallback_origin =GetRetryMapKeyFromOrigin(
875 TestDataReductionProxyParams::DefaultFallbackOrigin());
876 std::string alt_origin = GetRetryMapKeyFromOrigin(
877 TestDataReductionProxyParams::DefaultAltOrigin());
878 std::string alt_fallback_origin = GetRetryMapKeyFromOrigin(
879 TestDataReductionProxyParams::DefaultAltFallbackOrigin());
880 std::string ssl_origin = GetRetryMapKeyFromOrigin(
881 TestDataReductionProxyParams::DefaultSSLOrigin());
882
883 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(tests); ++i) {
884 int flags = 0;
885 if (tests[i].allowed)
886 flags |= DataReductionProxyParams::kAllowed;
887 if(tests[i].alt_allowed)
888 flags |= DataReductionProxyParams::kAlternativeAllowed;
889 if (tests[i].fallback_allowed)
890 flags |= DataReductionProxyParams::kFallbackAllowed;
891 TestDataReductionProxyParams params(
892 flags, TestDataReductionProxyParams::HAS_EVERYTHING &
893 ~TestDataReductionProxyParams::HAS_DEV_ORIGIN);
894
895 net::ProxyRetryInfoMap retry_map;
896 net::ProxyRetryInfo retry_info;
897
898 if (tests[i].origin)
899 retry_map[origin] = retry_info;
900 if (tests[i].fallback_origin)
901 retry_map[fallback_origin] = retry_info;
902 if (tests[i].alt_origin)
903 retry_map[alt_origin] = retry_info;
904 if (tests[i].alt_fallback_origin)
905 retry_map[alt_fallback_origin] = retry_info;
906 if (tests[i].ssl_origin)
907 retry_map[ssl_origin] = retry_info;
908
909 bool was_bypassed = params.AreProxiesBypassed(retry_map,
910 tests[i].ssl,
911 NULL);
912
913 EXPECT_EQ(tests[i].expected_result, was_bypassed);
914 }
915 }
561 } // namespace data_reduction_proxy 916 } // namespace data_reduction_proxy
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698