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

Side by Side Diff: chrome/common/origin_trials/chrome_origin_trial_policy_unittest.cc

Issue 2049783002: Refactor OriginTrialPolicy to be an abstract interface in content/public/common (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@ef-add-revoked-feature-list
Patch Set: Created 4 years, 6 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 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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/common/origin_trials/origin_trial_key_manager.h" 5 #include "chrome/common/origin_trials/chrome_origin_trial_policy.h"
6 6
7 #include <memory> 7 #include <memory>
8 8
9 #include "base/macros.h" 9 #include "base/macros.h"
10 #include "base/memory/ptr_util.h" 10 #include "base/memory/ptr_util.h"
11 #include "base/strings/string_piece.h" 11 #include "base/strings/string_piece.h"
12 #include "testing/gtest/include/gtest/gtest.h" 12 #include "testing/gtest/include/gtest/gtest.h"
13 13
14 const uint8_t kTestPublicKey[] = { 14 const uint8_t kTestPublicKey[] = {
15 0x75, 0x10, 0xac, 0xf9, 0x3a, 0x1c, 0xb8, 0xa9, 0x28, 0x70, 0xd2, 15 0x75, 0x10, 0xac, 0xf9, 0x3a, 0x1c, 0xb8, 0xa9, 0x28, 0x70, 0xd2,
(...skipping 10 matching lines...) Expand all
26 "dRCs+TocuKkocNKa0AtZ4awrt9XKH2SQCI6o4FY6BN=="; 26 "dRCs+TocuKkocNKa0AtZ4awrt9XKH2SQCI6o4FY6BN==";
27 // Base64-encoded, 33 bytes long 27 // Base64-encoded, 33 bytes long
28 const char kTooLongPublicKeyString[] = 28 const char kTooLongPublicKeyString[] =
29 "dRCs+TocuKkocNKa0AtZ4awrt9XKH2SQCI6o4FY6BNAA"; 29 "dRCs+TocuKkocNKa0AtZ4awrt9XKH2SQCI6o4FY6BNAA";
30 30
31 const char kOneDisabledFeature[] = "A"; 31 const char kOneDisabledFeature[] = "A";
32 const char kTwoDisabledFeatures[] = "A|B"; 32 const char kTwoDisabledFeatures[] = "A|B";
33 const char kThreeDisabledFeatures[] = "A|B|C"; 33 const char kThreeDisabledFeatures[] = "A|B|C";
34 const char kSpacesInDisabledFeatures[] = "A|B C"; 34 const char kSpacesInDisabledFeatures[] = "A|B C";
35 35
36 class OriginTrialKeyManagerTest : public testing::Test { 36 class ChromeOriginTrialPolicyTest : public testing::Test {
37 protected: 37 protected:
38 OriginTrialKeyManagerTest() 38 ChromeOriginTrialPolicyTest()
39 : manager_(base::WrapUnique(new OriginTrialKeyManager())), 39 : manager_(base::WrapUnique(new ChromeOriginTrialPolicy())),
40 default_key_(manager_->GetPublicKey().as_string()), 40 default_key_(manager_->GetPublicKey().as_string()),
41 test_key_(std::string(reinterpret_cast<const char*>(kTestPublicKey), 41 test_key_(std::string(reinterpret_cast<const char*>(kTestPublicKey),
42 arraysize(kTestPublicKey))) {} 42 arraysize(kTestPublicKey))) {}
43 OriginTrialKeyManager* manager() { return manager_.get(); } 43 ChromeOriginTrialPolicy* manager() { return manager_.get(); }
44 base::StringPiece default_key() { return default_key_; } 44 base::StringPiece default_key() { return default_key_; }
45 base::StringPiece test_key() { return test_key_; } 45 base::StringPiece test_key() { return test_key_; }
46 46
47 private: 47 private:
48 std::unique_ptr<OriginTrialKeyManager> manager_; 48 std::unique_ptr<ChromeOriginTrialPolicy> manager_;
49 std::string default_key_; 49 std::string default_key_;
50 std::string test_key_; 50 std::string test_key_;
51 }; 51 };
52 52
53 TEST_F(OriginTrialKeyManagerTest, DefaultConstructor) { 53 TEST_F(ChromeOriginTrialPolicyTest, DefaultConstructor) {
54 // We don't specify here what the key should be, but make sure that it is 54 // We don't specify here what the key should be, but make sure that it is
55 // returned, is valid, and is consistent. 55 // returned, is valid, and is consistent.
56 base::StringPiece key = manager()->GetPublicKey(); 56 base::StringPiece key = manager()->GetPublicKey();
57 EXPECT_EQ(32UL, key.size()); 57 EXPECT_EQ(32UL, key.size());
58 EXPECT_EQ(default_key(), key); 58 EXPECT_EQ(default_key(), key);
59 } 59 }
60 60
61 TEST_F(OriginTrialKeyManagerTest, DefaultKeyIsConsistent) { 61 TEST_F(ChromeOriginTrialPolicyTest, DefaultKeyIsConsistent) {
62 OriginTrialKeyManager manager2; 62 ChromeOriginTrialPolicy manager2;
63 EXPECT_EQ(manager()->GetPublicKey(), manager2.GetPublicKey()); 63 EXPECT_EQ(manager()->GetPublicKey(), manager2.GetPublicKey());
64 } 64 }
65 65
66 TEST_F(OriginTrialKeyManagerTest, OverridePublicKey) { 66 TEST_F(ChromeOriginTrialPolicyTest, OverridePublicKey) {
67 EXPECT_TRUE(manager()->SetPublicKeyFromASCIIString(kTestPublicKeyString)); 67 EXPECT_TRUE(manager()->SetPublicKeyFromASCIIString(kTestPublicKeyString));
68 EXPECT_NE(default_key(), manager()->GetPublicKey()); 68 EXPECT_NE(default_key(), manager()->GetPublicKey());
69 EXPECT_EQ(test_key(), manager()->GetPublicKey()); 69 EXPECT_EQ(test_key(), manager()->GetPublicKey());
70 } 70 }
71 71
72 TEST_F(OriginTrialKeyManagerTest, OverrideKeyNotBase64) { 72 TEST_F(ChromeOriginTrialPolicyTest, OverrideKeyNotBase64) {
73 EXPECT_FALSE( 73 EXPECT_FALSE(
74 manager()->SetPublicKeyFromASCIIString(kBadEncodingPublicKeyString)); 74 manager()->SetPublicKeyFromASCIIString(kBadEncodingPublicKeyString));
75 EXPECT_EQ(default_key(), manager()->GetPublicKey()); 75 EXPECT_EQ(default_key(), manager()->GetPublicKey());
76 } 76 }
77 77
78 TEST_F(OriginTrialKeyManagerTest, OverrideKeyTooShort) { 78 TEST_F(ChromeOriginTrialPolicyTest, OverrideKeyTooShort) {
79 EXPECT_FALSE( 79 EXPECT_FALSE(
80 manager()->SetPublicKeyFromASCIIString(kTooShortPublicKeyString)); 80 manager()->SetPublicKeyFromASCIIString(kTooShortPublicKeyString));
81 EXPECT_EQ(default_key(), manager()->GetPublicKey()); 81 EXPECT_EQ(default_key(), manager()->GetPublicKey());
82 } 82 }
83 83
84 TEST_F(OriginTrialKeyManagerTest, OverrideKeyTooLong) { 84 TEST_F(ChromeOriginTrialPolicyTest, OverrideKeyTooLong) {
85 EXPECT_FALSE(manager()->SetPublicKeyFromASCIIString(kTooLongPublicKeyString)); 85 EXPECT_FALSE(manager()->SetPublicKeyFromASCIIString(kTooLongPublicKeyString));
86 EXPECT_EQ(default_key(), manager()->GetPublicKey()); 86 EXPECT_EQ(default_key(), manager()->GetPublicKey());
87 } 87 }
88 88
89 TEST_F(OriginTrialKeyManagerTest, NoDisabledFeatures) { 89 TEST_F(ChromeOriginTrialPolicyTest, NoDisabledFeatures) {
90 EXPECT_FALSE(manager()->IsFeatureDisabled("A")); 90 EXPECT_FALSE(manager()->IsFeatureDisabled("A"));
91 EXPECT_FALSE(manager()->IsFeatureDisabled("B")); 91 EXPECT_FALSE(manager()->IsFeatureDisabled("B"));
92 EXPECT_FALSE(manager()->IsFeatureDisabled("C")); 92 EXPECT_FALSE(manager()->IsFeatureDisabled("C"));
93 } 93 }
94 94
95 TEST_F(OriginTrialKeyManagerTest, DisableOneFeature) { 95 TEST_F(ChromeOriginTrialPolicyTest, DisableOneFeature) {
96 EXPECT_TRUE(manager()->SetDisabledFeatures(kOneDisabledFeature)); 96 EXPECT_TRUE(manager()->SetDisabledFeatures(kOneDisabledFeature));
97 EXPECT_TRUE(manager()->IsFeatureDisabled("A")); 97 EXPECT_TRUE(manager()->IsFeatureDisabled("A"));
98 EXPECT_FALSE(manager()->IsFeatureDisabled("B")); 98 EXPECT_FALSE(manager()->IsFeatureDisabled("B"));
99 } 99 }
100 100
101 TEST_F(OriginTrialKeyManagerTest, DisableTwoFeatures) { 101 TEST_F(ChromeOriginTrialPolicyTest, DisableTwoFeatures) {
102 EXPECT_TRUE(manager()->SetDisabledFeatures(kTwoDisabledFeatures)); 102 EXPECT_TRUE(manager()->SetDisabledFeatures(kTwoDisabledFeatures));
103 EXPECT_TRUE(manager()->IsFeatureDisabled("A")); 103 EXPECT_TRUE(manager()->IsFeatureDisabled("A"));
104 EXPECT_TRUE(manager()->IsFeatureDisabled("B")); 104 EXPECT_TRUE(manager()->IsFeatureDisabled("B"));
105 EXPECT_FALSE(manager()->IsFeatureDisabled("C")); 105 EXPECT_FALSE(manager()->IsFeatureDisabled("C"));
106 } 106 }
107 107
108 TEST_F(OriginTrialKeyManagerTest, DisableThreeFeatures) { 108 TEST_F(ChromeOriginTrialPolicyTest, DisableThreeFeatures) {
109 EXPECT_TRUE(manager()->SetDisabledFeatures(kThreeDisabledFeatures)); 109 EXPECT_TRUE(manager()->SetDisabledFeatures(kThreeDisabledFeatures));
110 EXPECT_TRUE(manager()->IsFeatureDisabled("A")); 110 EXPECT_TRUE(manager()->IsFeatureDisabled("A"));
111 EXPECT_TRUE(manager()->IsFeatureDisabled("B")); 111 EXPECT_TRUE(manager()->IsFeatureDisabled("B"));
112 EXPECT_TRUE(manager()->IsFeatureDisabled("C")); 112 EXPECT_TRUE(manager()->IsFeatureDisabled("C"));
113 } 113 }
114 114
115 TEST_F(OriginTrialKeyManagerTest, DisableFeatureWithSpace) { 115 TEST_F(ChromeOriginTrialPolicyTest, DisableFeatureWithSpace) {
116 EXPECT_TRUE(manager()->SetDisabledFeatures(kSpacesInDisabledFeatures)); 116 EXPECT_TRUE(manager()->SetDisabledFeatures(kSpacesInDisabledFeatures));
117 EXPECT_TRUE(manager()->IsFeatureDisabled("A")); 117 EXPECT_TRUE(manager()->IsFeatureDisabled("A"));
118 EXPECT_TRUE(manager()->IsFeatureDisabled("B C")); 118 EXPECT_TRUE(manager()->IsFeatureDisabled("B C"));
119 EXPECT_FALSE(manager()->IsFeatureDisabled("B")); 119 EXPECT_FALSE(manager()->IsFeatureDisabled("B"));
120 EXPECT_FALSE(manager()->IsFeatureDisabled("C")); 120 EXPECT_FALSE(manager()->IsFeatureDisabled("C"));
121 } 121 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698