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

Side by Side Diff: chrome/renderer/origin_trials/origin_trial_key_manager_unittest.cc

Issue 1741783002: Add disabled origin trial feature list (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@ef-finch
Patch Set: Rebase; style fixes Created 4 years, 10 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) 2016 The Chromium Authors. All rights reserved. 1 // Copyright (c) 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/renderer/origin_trials/origin_trial_key_manager.h" 5 #include "chrome/renderer/origin_trials/origin_trial_key_manager.h"
6 6
7 #include "base/macros.h" 7 #include "base/macros.h"
8 #include "base/memory/scoped_ptr.h" 8 #include "base/memory/scoped_ptr.h"
9 #include "base/strings/string_piece.h" 9 #include "base/strings/string_piece.h"
10 #include "testing/gtest/include/gtest/gtest.h" 10 #include "testing/gtest/include/gtest/gtest.h"
11 11
12 const uint8_t kTestPublicKey[] = { 12 const uint8_t kTestPublicKey[] = {
13 0x75, 0x10, 0xac, 0xf9, 0x3a, 0x1c, 0xb8, 0xa9, 0x28, 0x70, 0xd2, 13 0x75, 0x10, 0xac, 0xf9, 0x3a, 0x1c, 0xb8, 0xa9, 0x28, 0x70, 0xd2,
14 0x9a, 0xd0, 0x0b, 0x59, 0xe1, 0xac, 0x2b, 0xb7, 0xd5, 0xca, 0x1f, 14 0x9a, 0xd0, 0x0b, 0x59, 0xe1, 0xac, 0x2b, 0xb7, 0xd5, 0xca, 0x1f,
15 0x64, 0x90, 0x08, 0x8e, 0xa8, 0xe0, 0x56, 0x3a, 0x04, 0xd0, 15 0x64, 0x90, 0x08, 0x8e, 0xa8, 0xe0, 0x56, 0x3a, 0x04, 0xd0,
16 }; 16 };
17 17
18 // Base64 encoding of the above sample public key 18 // Base64 encoding of the above sample public key
19 const char kTestPublicKeyString[] = 19 const char kTestPublicKeyString[] =
20 "dRCs+TocuKkocNKa0AtZ4awrt9XKH2SQCI6o4FY6BNA="; 20 "dRCs+TocuKkocNKa0AtZ4awrt9XKH2SQCI6o4FY6BNA=";
21 const char kBadEncodingPublicKeyString[] = "Not even base64!"; 21 const char kBadEncodingPublicKeyString[] = "Not even base64!";
22 // Base64-encoded, 31 bytes long 22 // Base64-encoded, 31 bytes long
23 const char kTooShortPublicKeyString[] = 23 const char kTooShortPublicKeyString[] =
24 "dRCs+TocuKkocNKa0AtZ4awrt9XKH2SQCI6o4FY6BN=="; 24 "dRCs+TocuKkocNKa0AtZ4awrt9XKH2SQCI6o4FY6BN==";
25 // Base64-encoded, 33 bytes long 25 // Base64-encoded, 33 bytes long
26 const char kTooLongPublicKeyString[] = 26 const char kTooLongPublicKeyString[] =
27 "dRCs+TocuKkocNKa0AtZ4awrt9XKH2SQCI6o4FY6BNAA"; 27 "dRCs+TocuKkocNKa0AtZ4awrt9XKH2SQCI6o4FY6BNAA";
28 28
29 const char kOneDisabledFeature[] = "A";
30 const char kTwoDisabledFeatures[] = "A|B";
31 const char kThreeDisabledFeatures[] = "A|B|C";
32 const char kSpacesInDisabledFeatures[] = "A|B C";
33
29 class OriginTrialKeyManagerTest : public testing::Test { 34 class OriginTrialKeyManagerTest : public testing::Test {
30 protected: 35 protected:
31 OriginTrialKeyManagerTest() 36 OriginTrialKeyManagerTest()
32 : manager_(make_scoped_ptr(new OriginTrialKeyManager())), 37 : manager_(make_scoped_ptr(new OriginTrialKeyManager())),
33 default_key_(manager_->GetPublicKey().as_string()), 38 default_key_(manager_->GetPublicKey().as_string()),
34 test_key_(std::string(reinterpret_cast<const char*>(kTestPublicKey), 39 test_key_(std::string(reinterpret_cast<const char*>(kTestPublicKey),
35 arraysize(kTestPublicKey))) {} 40 arraysize(kTestPublicKey))) {}
36 OriginTrialKeyManager* manager() { return manager_.get(); } 41 OriginTrialKeyManager* manager() { return manager_.get(); }
37 base::StringPiece default_key() { return default_key_; } 42 base::StringPiece default_key() { return default_key_; }
38 base::StringPiece test_key() { return test_key_; } 43 base::StringPiece test_key() { return test_key_; }
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
71 TEST_F(OriginTrialKeyManagerTest, OverrideKeyTooShort) { 76 TEST_F(OriginTrialKeyManagerTest, OverrideKeyTooShort) {
72 EXPECT_FALSE( 77 EXPECT_FALSE(
73 manager()->SetPublicKeyFromASCIIString(kTooShortPublicKeyString)); 78 manager()->SetPublicKeyFromASCIIString(kTooShortPublicKeyString));
74 EXPECT_EQ(default_key(), manager()->GetPublicKey()); 79 EXPECT_EQ(default_key(), manager()->GetPublicKey());
75 } 80 }
76 81
77 TEST_F(OriginTrialKeyManagerTest, OverrideKeyTooLong) { 82 TEST_F(OriginTrialKeyManagerTest, OverrideKeyTooLong) {
78 EXPECT_FALSE(manager()->SetPublicKeyFromASCIIString(kTooLongPublicKeyString)); 83 EXPECT_FALSE(manager()->SetPublicKeyFromASCIIString(kTooLongPublicKeyString));
79 EXPECT_EQ(default_key(), manager()->GetPublicKey()); 84 EXPECT_EQ(default_key(), manager()->GetPublicKey());
80 } 85 }
86
87 TEST_F(OriginTrialKeyManagerTest, NoDisabledFeatures) {
88 EXPECT_FALSE(manager()->IsFeatureDisabled("A"));
89 EXPECT_FALSE(manager()->IsFeatureDisabled("B"));
90 EXPECT_FALSE(manager()->IsFeatureDisabled("C"));
91 }
92
93 TEST_F(OriginTrialKeyManagerTest, DisableOneFeature) {
94 EXPECT_TRUE(manager()->SetDisabledFeatures(kOneDisabledFeature));
95 EXPECT_TRUE(manager()->IsFeatureDisabled("A"));
96 EXPECT_FALSE(manager()->IsFeatureDisabled("B"));
97 }
98
99 TEST_F(OriginTrialKeyManagerTest, DisableTwoFeatures) {
100 EXPECT_TRUE(manager()->SetDisabledFeatures(kTwoDisabledFeatures));
101 EXPECT_TRUE(manager()->IsFeatureDisabled("A"));
102 EXPECT_TRUE(manager()->IsFeatureDisabled("B"));
103 EXPECT_FALSE(manager()->IsFeatureDisabled("C"));
104 }
105
106 TEST_F(OriginTrialKeyManagerTest, DisableThreeFeatures) {
107 EXPECT_TRUE(manager()->SetDisabledFeatures(kThreeDisabledFeatures));
108 EXPECT_TRUE(manager()->IsFeatureDisabled("A"));
109 EXPECT_TRUE(manager()->IsFeatureDisabled("B"));
110 EXPECT_TRUE(manager()->IsFeatureDisabled("C"));
111 }
112
113 TEST_F(OriginTrialKeyManagerTest, DisableFeatureWithSpace) {
114 EXPECT_TRUE(manager()->SetDisabledFeatures(kSpacesInDisabledFeatures));
115 EXPECT_TRUE(manager()->IsFeatureDisabled("A"));
116 EXPECT_TRUE(manager()->IsFeatureDisabled("B C"));
117 EXPECT_FALSE(manager()->IsFeatureDisabled("B"));
118 EXPECT_FALSE(manager()->IsFeatureDisabled("C"));
119 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698