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

Side by Side Diff: chrome/browser/safe_browsing/unverified_download_field_trial_unittest.cc

Issue 1420053005: Move code in components/safe_browsing_db and chrome/browser/s_b/ under the safe_browsing namespace. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@02_components_move
Patch Set: Remove '// namespace safe_browsing' for a small fwd decl block. Created 5 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
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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/safe_browsing/unverified_download_field_trial.h" 5 #include "chrome/browser/safe_browsing/unverified_download_field_trial.h"
6 6
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "base/files/file_path.h" 8 #include "base/files/file_path.h"
9 #include "base/metrics/field_trial.h" 9 #include "base/metrics/field_trial.h"
10 #include "chrome/common/chrome_switches.h" 10 #include "chrome/common/chrome_switches.h"
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
49 49
50 private: 50 private:
51 base::FieldTrialList field_trial_list_; 51 base::FieldTrialList field_trial_list_;
52 }; 52 };
53 53
54 } // namespace 54 } // namespace
55 55
56 // Verify some test assumptions. Namely, that kSafeFilename is not a supported 56 // Verify some test assumptions. Namely, that kSafeFilename is not a supported
57 // binary file and that kHandledFilename is. 57 // binary file and that kHandledFilename is.
58 TEST(UnverifiedDownloadFieldTrialTest, Assumptions) { 58 TEST(UnverifiedDownloadFieldTrialTest, Assumptions) {
59 EXPECT_TRUE(safe_browsing::download_protection_util::IsSupportedBinaryFile( 59 EXPECT_TRUE(download_protection_util::IsSupportedBinaryFile(
60 base::FilePath(kHandledFilename))); 60 base::FilePath(kHandledFilename)));
61 EXPECT_FALSE(safe_browsing::download_protection_util::IsSupportedBinaryFile( 61 EXPECT_FALSE(download_protection_util::IsSupportedBinaryFile(
62 base::FilePath(kSafeFilename))); 62 base::FilePath(kSafeFilename)));
63 } 63 }
64 64
65 // Verify that disallow-unchecked-dangerous-downloads command line switch causes 65 // Verify that disallow-unchecked-dangerous-downloads command line switch causes
66 // all dangerous file types to be blocked, and that safe files types are still 66 // all dangerous file types to be blocked, and that safe files types are still
67 // allowed. 67 // allowed.
68 TEST(UnverifiedDownloadFieldTrialTest, CommandLine_DisallowDangerous) { 68 TEST(UnverifiedDownloadFieldTrialTest, CommandLine_DisallowDangerous) {
69 base::CommandLine::ForCurrentProcess()->AppendSwitch( 69 base::CommandLine::ForCurrentProcess()->AppendSwitch(
70 switches::kDisallowUncheckedDangerousDownloads); 70 switches::kDisallowUncheckedDangerousDownloads);
71 EXPECT_TRUE(safe_browsing::IsUnverifiedDownloadAllowedByFieldTrial( 71 EXPECT_TRUE(IsUnverifiedDownloadAllowedByFieldTrial(
72 base::FilePath(kSafeFilename))); 72 base::FilePath(kSafeFilename)));
73 EXPECT_FALSE(safe_browsing::IsUnverifiedDownloadAllowedByFieldTrial( 73 EXPECT_FALSE(IsUnverifiedDownloadAllowedByFieldTrial(
74 base::FilePath(kHandledFilename))); 74 base::FilePath(kHandledFilename)));
75 } 75 }
76 76
77 // Verify that a wildcard blacklist matches all file types. 77 // Verify that a wildcard blacklist matches all file types.
78 TEST(UnverifiedDownloadFieldTrialTest, WildCardBlacklist) { 78 TEST(UnverifiedDownloadFieldTrialTest, WildCardBlacklist) {
79 FieldTrialParameters parameters; 79 FieldTrialParameters parameters;
80 parameters[kUnverifiedDownloadFieldTrialBlacklistParam] = "*"; 80 parameters[kUnverifiedDownloadFieldTrialBlacklistParam] = "*";
81 parameters[kUnverifiedDownloadFieldTrialWhitelistParam] = ".xyz"; 81 parameters[kUnverifiedDownloadFieldTrialWhitelistParam] = ".xyz";
82 ScopedFieldTrialState field_trial( 82 ScopedFieldTrialState field_trial(
83 kUnverifiedDownloadFieldTrialDisableByParameter, parameters); 83 kUnverifiedDownloadFieldTrialDisableByParameter, parameters);
84 84
85 EXPECT_FALSE(safe_browsing::IsUnverifiedDownloadAllowedByFieldTrial( 85 EXPECT_FALSE(IsUnverifiedDownloadAllowedByFieldTrial(
86 base::FilePath(kSafeFilename))); 86 base::FilePath(kSafeFilename)));
87 EXPECT_FALSE(safe_browsing::IsUnverifiedDownloadAllowedByFieldTrial( 87 EXPECT_FALSE(IsUnverifiedDownloadAllowedByFieldTrial(
88 base::FilePath(kHandledFilename))); 88 base::FilePath(kHandledFilename)));
89 EXPECT_FALSE(safe_browsing::IsUnverifiedDownloadAllowedByFieldTrial( 89 EXPECT_FALSE(IsUnverifiedDownloadAllowedByFieldTrial(
90 base::FilePath(FILE_PATH_LITERAL("foo.xyz")))); 90 base::FilePath(FILE_PATH_LITERAL("foo.xyz"))));
91 } 91 }
92 92
93 // Verify that allow-unchecked-dangerous-downloads command line option takes 93 // Verify that allow-unchecked-dangerous-downloads command line option takes
94 // precedence over a Finch trial specified blacklist. 94 // precedence over a Finch trial specified blacklist.
95 TEST(UnverifiedDownloadFieldTrialTest, BlacklistVsCommandline) { 95 TEST(UnverifiedDownloadFieldTrialTest, BlacklistVsCommandline) {
96 FieldTrialParameters parameters; 96 FieldTrialParameters parameters;
97 parameters[kUnverifiedDownloadFieldTrialBlacklistParam] = "*"; 97 parameters[kUnverifiedDownloadFieldTrialBlacklistParam] = "*";
98 parameters[kUnverifiedDownloadFieldTrialWhitelistParam] = ".xyz"; 98 parameters[kUnverifiedDownloadFieldTrialWhitelistParam] = ".xyz";
99 ScopedFieldTrialState field_trial( 99 ScopedFieldTrialState field_trial(
100 kUnverifiedDownloadFieldTrialDisableByParameter, parameters); 100 kUnverifiedDownloadFieldTrialDisableByParameter, parameters);
101 base::CommandLine::ForCurrentProcess()->AppendSwitch( 101 base::CommandLine::ForCurrentProcess()->AppendSwitch(
102 switches::kAllowUncheckedDangerousDownloads); 102 switches::kAllowUncheckedDangerousDownloads);
103 103
104 EXPECT_TRUE(safe_browsing::IsUnverifiedDownloadAllowedByFieldTrial( 104 EXPECT_TRUE(IsUnverifiedDownloadAllowedByFieldTrial(
105 base::FilePath(kSafeFilename))); 105 base::FilePath(kSafeFilename)));
106 EXPECT_TRUE(safe_browsing::IsUnverifiedDownloadAllowedByFieldTrial( 106 EXPECT_TRUE(IsUnverifiedDownloadAllowedByFieldTrial(
107 base::FilePath(kHandledFilename))); 107 base::FilePath(kHandledFilename)));
108 } 108 }
109 109
110 // Verify that disallow-unchecked-dangerous-downloads command line option takes 110 // Verify that disallow-unchecked-dangerous-downloads command line option takes
111 // precedence over a Finch trial specified whitelist. 111 // precedence over a Finch trial specified whitelist.
112 TEST(UnverifiedDownloadFieldTrialTest, WhitelistVsCommandline) { 112 TEST(UnverifiedDownloadFieldTrialTest, WhitelistVsCommandline) {
113 FieldTrialParameters parameters; 113 FieldTrialParameters parameters;
114 parameters[kUnverifiedDownloadFieldTrialBlacklistParam] = ".foo"; 114 parameters[kUnverifiedDownloadFieldTrialBlacklistParam] = ".foo";
115 parameters[kUnverifiedDownloadFieldTrialWhitelistParam] = ".exe"; 115 parameters[kUnverifiedDownloadFieldTrialWhitelistParam] = ".exe";
116 ScopedFieldTrialState field_trial( 116 ScopedFieldTrialState field_trial(
117 kUnverifiedDownloadFieldTrialDisableByParameter, parameters); 117 kUnverifiedDownloadFieldTrialDisableByParameter, parameters);
118 base::CommandLine::ForCurrentProcess()->AppendSwitch( 118 base::CommandLine::ForCurrentProcess()->AppendSwitch(
119 switches::kDisallowUncheckedDangerousDownloads); 119 switches::kDisallowUncheckedDangerousDownloads);
120 120
121 EXPECT_FALSE(safe_browsing::IsUnverifiedDownloadAllowedByFieldTrial( 121 EXPECT_FALSE(IsUnverifiedDownloadAllowedByFieldTrial(
122 base::FilePath(FILE_PATH_LITERAL("foo.foo")))); 122 base::FilePath(FILE_PATH_LITERAL("foo.foo"))));
123 EXPECT_FALSE(safe_browsing::IsUnverifiedDownloadAllowedByFieldTrial( 123 EXPECT_FALSE(IsUnverifiedDownloadAllowedByFieldTrial(
124 base::FilePath(FILE_PATH_LITERAL("foo.exe")))); 124 base::FilePath(FILE_PATH_LITERAL("foo.exe"))));
125 EXPECT_TRUE(safe_browsing::IsUnverifiedDownloadAllowedByFieldTrial( 125 EXPECT_TRUE(IsUnverifiedDownloadAllowedByFieldTrial(
126 base::FilePath(FILE_PATH_LITERAL("foo.txt")))); 126 base::FilePath(FILE_PATH_LITERAL("foo.txt"))));
127 } 127 }
128 128
129 // Verify that wildcards only work if they are specified by themselves. 129 // Verify that wildcards only work if they are specified by themselves.
130 TEST(UnverifiedDownloadFieldTrialTest, WildcardOnlyByItself) { 130 TEST(UnverifiedDownloadFieldTrialTest, WildcardOnlyByItself) {
131 FieldTrialParameters parameters; 131 FieldTrialParameters parameters;
132 parameters[kUnverifiedDownloadFieldTrialBlacklistParam] = ".foo,*"; 132 parameters[kUnverifiedDownloadFieldTrialBlacklistParam] = ".foo,*";
133 parameters[kUnverifiedDownloadFieldTrialWhitelistParam] = ".xyz"; 133 parameters[kUnverifiedDownloadFieldTrialWhitelistParam] = ".xyz";
134 ScopedFieldTrialState field_trial( 134 ScopedFieldTrialState field_trial(
135 kUnverifiedDownloadFieldTrialDisableByParameter, parameters); 135 kUnverifiedDownloadFieldTrialDisableByParameter, parameters);
136 136
137 EXPECT_FALSE(safe_browsing::IsUnverifiedDownloadAllowedByFieldTrial( 137 EXPECT_FALSE(IsUnverifiedDownloadAllowedByFieldTrial(
138 base::FilePath(FILE_PATH_LITERAL("foo.foo")))); 138 base::FilePath(FILE_PATH_LITERAL("foo.foo"))));
139 EXPECT_TRUE(safe_browsing::IsUnverifiedDownloadAllowedByFieldTrial( 139 EXPECT_TRUE(IsUnverifiedDownloadAllowedByFieldTrial(
140 base::FilePath(FILE_PATH_LITERAL("foo.xyz")))); 140 base::FilePath(FILE_PATH_LITERAL("foo.xyz"))));
141 EXPECT_TRUE(safe_browsing::IsUnverifiedDownloadAllowedByFieldTrial( 141 EXPECT_TRUE(IsUnverifiedDownloadAllowedByFieldTrial(
142 base::FilePath(FILE_PATH_LITERAL("foo.txt")))); 142 base::FilePath(FILE_PATH_LITERAL("foo.txt"))));
143 } 143 }
144 144
145 // Verify that the blacklist takes precedence over whitelist. 145 // Verify that the blacklist takes precedence over whitelist.
146 TEST(UnverifiedDownloadFieldTrialTest, WhitelistVsBlacklist) { 146 TEST(UnverifiedDownloadFieldTrialTest, WhitelistVsBlacklist) {
147 FieldTrialParameters parameters; 147 FieldTrialParameters parameters;
148 parameters[kUnverifiedDownloadFieldTrialBlacklistParam] = ".abc,.def"; 148 parameters[kUnverifiedDownloadFieldTrialBlacklistParam] = ".abc,.def";
149 parameters[kUnverifiedDownloadFieldTrialWhitelistParam] = ".xyz"; 149 parameters[kUnverifiedDownloadFieldTrialWhitelistParam] = ".xyz";
150 ScopedFieldTrialState field_trial( 150 ScopedFieldTrialState field_trial(
151 kUnverifiedDownloadFieldTrialDisableByParameter, parameters); 151 kUnverifiedDownloadFieldTrialDisableByParameter, parameters);
152 152
153 EXPECT_TRUE(safe_browsing::IsUnverifiedDownloadAllowedByFieldTrial( 153 EXPECT_TRUE(IsUnverifiedDownloadAllowedByFieldTrial(
154 base::FilePath(kSafeFilename))); 154 base::FilePath(kSafeFilename)));
155 EXPECT_TRUE(safe_browsing::IsUnverifiedDownloadAllowedByFieldTrial( 155 EXPECT_TRUE(IsUnverifiedDownloadAllowedByFieldTrial(
156 base::FilePath(kHandledFilename))); 156 base::FilePath(kHandledFilename)));
157 EXPECT_TRUE(safe_browsing::IsUnverifiedDownloadAllowedByFieldTrial( 157 EXPECT_TRUE(IsUnverifiedDownloadAllowedByFieldTrial(
158 base::FilePath(FILE_PATH_LITERAL("foo.xyz")))); 158 base::FilePath(FILE_PATH_LITERAL("foo.xyz"))));
159 EXPECT_FALSE(safe_browsing::IsUnverifiedDownloadAllowedByFieldTrial( 159 EXPECT_FALSE(IsUnverifiedDownloadAllowedByFieldTrial(
160 base::FilePath(FILE_PATH_LITERAL("foo.abc")))); 160 base::FilePath(FILE_PATH_LITERAL("foo.abc"))));
161 EXPECT_FALSE(safe_browsing::IsUnverifiedDownloadAllowedByFieldTrial( 161 EXPECT_FALSE(IsUnverifiedDownloadAllowedByFieldTrial(
162 base::FilePath(FILE_PATH_LITERAL("foo.def")))); 162 base::FilePath(FILE_PATH_LITERAL("foo.def"))));
163 } 163 }
164 164
165 // Verify that nothing terrible happens if no parameters are specified. 165 // Verify that nothing terrible happens if no parameters are specified.
166 TEST(UnverifiedDownloadFieldTrialTest, MissingParameters) { 166 TEST(UnverifiedDownloadFieldTrialTest, MissingParameters) {
167 ScopedFieldTrialState field_trial( 167 ScopedFieldTrialState field_trial(
168 kUnverifiedDownloadFieldTrialDisableByParameter); 168 kUnverifiedDownloadFieldTrialDisableByParameter);
169 169
170 EXPECT_TRUE(safe_browsing::IsUnverifiedDownloadAllowedByFieldTrial( 170 EXPECT_TRUE(IsUnverifiedDownloadAllowedByFieldTrial(
171 base::FilePath(kSafeFilename))); 171 base::FilePath(kSafeFilename)));
172 EXPECT_TRUE(safe_browsing::IsUnverifiedDownloadAllowedByFieldTrial( 172 EXPECT_TRUE(IsUnverifiedDownloadAllowedByFieldTrial(
173 base::FilePath(kHandledFilename))); 173 base::FilePath(kHandledFilename)));
174 } 174 }
175 175
176 // Verify that nothing terrible happens if the parameters set for a field trial 176 // Verify that nothing terrible happens if the parameters set for a field trial
177 // are malformed. 177 // are malformed.
178 TEST(UnverifiedDownloadFieldTrialTest, MalformedParameters) { 178 TEST(UnverifiedDownloadFieldTrialTest, MalformedParameters) {
179 FieldTrialParameters parameters; 179 FieldTrialParameters parameters;
180 parameters[kUnverifiedDownloadFieldTrialBlacklistParam] = "abcasdfa#??# ~def"; 180 parameters[kUnverifiedDownloadFieldTrialBlacklistParam] = "abcasdfa#??# ~def";
181 parameters[kUnverifiedDownloadFieldTrialWhitelistParam] = 181 parameters[kUnverifiedDownloadFieldTrialWhitelistParam] =
182 "Robert'); DROP TABLE FinchTrials;--"; 182 "Robert'); DROP TABLE FinchTrials;--";
183 ScopedFieldTrialState field_trial( 183 ScopedFieldTrialState field_trial(
184 kUnverifiedDownloadFieldTrialDisableByParameter, parameters); 184 kUnverifiedDownloadFieldTrialDisableByParameter, parameters);
185 185
186 EXPECT_TRUE(safe_browsing::IsUnverifiedDownloadAllowedByFieldTrial( 186 EXPECT_TRUE(IsUnverifiedDownloadAllowedByFieldTrial(
187 base::FilePath(kSafeFilename))); 187 base::FilePath(kSafeFilename)));
188 EXPECT_TRUE(safe_browsing::IsUnverifiedDownloadAllowedByFieldTrial( 188 EXPECT_TRUE(IsUnverifiedDownloadAllowedByFieldTrial(
189 base::FilePath(kHandledFilename))); 189 base::FilePath(kHandledFilename)));
190 } 190 }
191 191
192 // Verify that nothing terrible happens if the parameters set for a field trial 192 // Verify that nothing terrible happens if the parameters set for a field trial
193 // are empty. 193 // are empty.
194 TEST(UnverifiedDownloadFieldTrialTest, DisableByParam_Empty) { 194 TEST(UnverifiedDownloadFieldTrialTest, DisableByParam_Empty) {
195 FieldTrialParameters parameters; 195 FieldTrialParameters parameters;
196 parameters[kUnverifiedDownloadFieldTrialBlacklistParam] = ""; 196 parameters[kUnverifiedDownloadFieldTrialBlacklistParam] = "";
197 parameters[kUnverifiedDownloadFieldTrialWhitelistParam] = ""; 197 parameters[kUnverifiedDownloadFieldTrialWhitelistParam] = "";
198 parameters[kUnverifiedDownloadFieldTrialBlockSBTypesParam] = ""; 198 parameters[kUnverifiedDownloadFieldTrialBlockSBTypesParam] = "";
199 ScopedFieldTrialState field_trial( 199 ScopedFieldTrialState field_trial(
200 kUnverifiedDownloadFieldTrialDisableByParameter, parameters); 200 kUnverifiedDownloadFieldTrialDisableByParameter, parameters);
201 201
202 EXPECT_TRUE(safe_browsing::IsUnverifiedDownloadAllowedByFieldTrial( 202 EXPECT_TRUE(IsUnverifiedDownloadAllowedByFieldTrial(
203 base::FilePath(kSafeFilename))); 203 base::FilePath(kSafeFilename)));
204 EXPECT_TRUE(safe_browsing::IsUnverifiedDownloadAllowedByFieldTrial( 204 EXPECT_TRUE(IsUnverifiedDownloadAllowedByFieldTrial(
205 base::FilePath(kHandledFilename))); 205 base::FilePath(kHandledFilename)));
206 } 206 }
207 207
208 // Verified that file types specified via white/blacklists are case insensitive. 208 // Verified that file types specified via white/blacklists are case insensitive.
209 TEST(UnverifiedDownloadFieldTrialTest, CaseInsensitive) { 209 TEST(UnverifiedDownloadFieldTrialTest, CaseInsensitive) {
210 FieldTrialParameters parameters; 210 FieldTrialParameters parameters;
211 parameters[kUnverifiedDownloadFieldTrialBlacklistParam] = ".ABC,.xyz"; 211 parameters[kUnverifiedDownloadFieldTrialBlacklistParam] = ".ABC,.xyz";
212 ScopedFieldTrialState field_trial( 212 ScopedFieldTrialState field_trial(
213 kUnverifiedDownloadFieldTrialDisableByParameter, parameters); 213 kUnverifiedDownloadFieldTrialDisableByParameter, parameters);
214 214
215 EXPECT_FALSE(safe_browsing::IsUnverifiedDownloadAllowedByFieldTrial( 215 EXPECT_FALSE(IsUnverifiedDownloadAllowedByFieldTrial(
216 base::FilePath(FILE_PATH_LITERAL("foo.abc")))); 216 base::FilePath(FILE_PATH_LITERAL("foo.abc"))));
217 EXPECT_FALSE(safe_browsing::IsUnverifiedDownloadAllowedByFieldTrial( 217 EXPECT_FALSE(IsUnverifiedDownloadAllowedByFieldTrial(
218 base::FilePath(FILE_PATH_LITERAL("FOO.ABC")))); 218 base::FilePath(FILE_PATH_LITERAL("FOO.ABC"))));
219 EXPECT_FALSE(safe_browsing::IsUnverifiedDownloadAllowedByFieldTrial( 219 EXPECT_FALSE(IsUnverifiedDownloadAllowedByFieldTrial(
220 base::FilePath(FILE_PATH_LITERAL("FOO.XYZ")))); 220 base::FilePath(FILE_PATH_LITERAL("FOO.XYZ"))));
221 EXPECT_TRUE(safe_browsing::IsUnverifiedDownloadAllowedByFieldTrial( 221 EXPECT_TRUE(IsUnverifiedDownloadAllowedByFieldTrial(
222 base::FilePath(FILE_PATH_LITERAL("FOO.txt")))); 222 base::FilePath(FILE_PATH_LITERAL("FOO.txt"))));
223 } 223 }
224 224
225 // Verify functionality when all parameters are specified. 225 // Verify functionality when all parameters are specified.
226 TEST(UnverifiedDownloadFieldTrialTest, WhitelistVsBlacklistVsSBTypes) { 226 TEST(UnverifiedDownloadFieldTrialTest, WhitelistVsBlacklistVsSBTypes) {
227 FieldTrialParameters parameters; 227 FieldTrialParameters parameters;
228 parameters[kUnverifiedDownloadFieldTrialBlacklistParam] = ".abc,.def"; 228 parameters[kUnverifiedDownloadFieldTrialBlacklistParam] = ".abc,.def";
229 parameters[kUnverifiedDownloadFieldTrialWhitelistParam] = ".xyz"; 229 parameters[kUnverifiedDownloadFieldTrialWhitelistParam] = ".xyz";
230 parameters[kUnverifiedDownloadFieldTrialBlockSBTypesParam] = "*"; 230 parameters[kUnverifiedDownloadFieldTrialBlockSBTypesParam] = "*";
231 ScopedFieldTrialState field_trial( 231 ScopedFieldTrialState field_trial(
232 kUnverifiedDownloadFieldTrialDisableByParameter, parameters); 232 kUnverifiedDownloadFieldTrialDisableByParameter, parameters);
233 233
234 EXPECT_TRUE(safe_browsing::IsUnverifiedDownloadAllowedByFieldTrial( 234 EXPECT_TRUE(IsUnverifiedDownloadAllowedByFieldTrial(
235 base::FilePath(kSafeFilename))); 235 base::FilePath(kSafeFilename)));
236 EXPECT_FALSE(safe_browsing::IsUnverifiedDownloadAllowedByFieldTrial( 236 EXPECT_FALSE(IsUnverifiedDownloadAllowedByFieldTrial(
237 base::FilePath(kHandledFilename))); 237 base::FilePath(kHandledFilename)));
238 EXPECT_TRUE(safe_browsing::IsUnverifiedDownloadAllowedByFieldTrial( 238 EXPECT_TRUE(IsUnverifiedDownloadAllowedByFieldTrial(
239 base::FilePath(FILE_PATH_LITERAL("foo.xyz")))); 239 base::FilePath(FILE_PATH_LITERAL("foo.xyz"))));
240 EXPECT_FALSE(safe_browsing::IsUnverifiedDownloadAllowedByFieldTrial( 240 EXPECT_FALSE(IsUnverifiedDownloadAllowedByFieldTrial(
241 base::FilePath(FILE_PATH_LITERAL("foo.abc")))); 241 base::FilePath(FILE_PATH_LITERAL("foo.abc"))));
242 EXPECT_FALSE(safe_browsing::IsUnverifiedDownloadAllowedByFieldTrial( 242 EXPECT_FALSE(IsUnverifiedDownloadAllowedByFieldTrial(
243 base::FilePath(FILE_PATH_LITERAL("foo.def")))); 243 base::FilePath(FILE_PATH_LITERAL("foo.def"))));
244 } 244 }
245 245
246 // Verify that block_sb_types parameter being empty is equivalent to it not 246 // Verify that block_sb_types parameter being empty is equivalent to it not
247 // being specified. 247 // being specified.
248 TEST(UnverifiedDownloadFieldTrialTest, DisableSBTypesEmpty) { 248 TEST(UnverifiedDownloadFieldTrialTest, DisableSBTypesEmpty) {
249 FieldTrialParameters parameters; 249 FieldTrialParameters parameters;
250 parameters[kUnverifiedDownloadFieldTrialBlockSBTypesParam] = ""; 250 parameters[kUnverifiedDownloadFieldTrialBlockSBTypesParam] = "";
251 ScopedFieldTrialState field_trial( 251 ScopedFieldTrialState field_trial(
252 kUnverifiedDownloadFieldTrialDisableByParameter, parameters); 252 kUnverifiedDownloadFieldTrialDisableByParameter, parameters);
253 253
254 EXPECT_TRUE(safe_browsing::IsUnverifiedDownloadAllowedByFieldTrial( 254 EXPECT_TRUE(IsUnverifiedDownloadAllowedByFieldTrial(
255 base::FilePath(kSafeFilename))); 255 base::FilePath(kSafeFilename)));
256 EXPECT_TRUE(safe_browsing::IsUnverifiedDownloadAllowedByFieldTrial( 256 EXPECT_TRUE(IsUnverifiedDownloadAllowedByFieldTrial(
257 base::FilePath(kHandledFilename))); 257 base::FilePath(kHandledFilename)));
258 } 258 }
259 259
260 // Verify that a whitelist is able to override the SafeBrowsing file type list. 260 // Verify that a whitelist is able to override the SafeBrowsing file type list.
261 TEST(UnverifiedDownloadFieldTrialTest, ListsOverrideSBTypes) { 261 TEST(UnverifiedDownloadFieldTrialTest, ListsOverrideSBTypes) {
262 FieldTrialParameters parameters; 262 FieldTrialParameters parameters;
263 parameters[kUnverifiedDownloadFieldTrialBlacklistParam] = ".abc,.def"; 263 parameters[kUnverifiedDownloadFieldTrialBlacklistParam] = ".abc,.def";
264 parameters[kUnverifiedDownloadFieldTrialWhitelistParam] = ".exe"; 264 parameters[kUnverifiedDownloadFieldTrialWhitelistParam] = ".exe";
265 parameters[kUnverifiedDownloadFieldTrialBlockSBTypesParam] = "*"; 265 parameters[kUnverifiedDownloadFieldTrialBlockSBTypesParam] = "*";
266 ScopedFieldTrialState field_trial( 266 ScopedFieldTrialState field_trial(
267 kUnverifiedDownloadFieldTrialDisableByParameter, parameters); 267 kUnverifiedDownloadFieldTrialDisableByParameter, parameters);
268 268
269 EXPECT_TRUE(safe_browsing::IsUnverifiedDownloadAllowedByFieldTrial( 269 EXPECT_TRUE(IsUnverifiedDownloadAllowedByFieldTrial(
270 base::FilePath(kSafeFilename))); 270 base::FilePath(kSafeFilename)));
271 EXPECT_TRUE(safe_browsing::IsUnverifiedDownloadAllowedByFieldTrial( 271 EXPECT_TRUE(IsUnverifiedDownloadAllowedByFieldTrial(
272 base::FilePath(kHandledFilename))); 272 base::FilePath(kHandledFilename)));
273 EXPECT_FALSE(safe_browsing::IsUnverifiedDownloadAllowedByFieldTrial( 273 EXPECT_FALSE(IsUnverifiedDownloadAllowedByFieldTrial(
274 base::FilePath(FILE_PATH_LITERAL("foo.abc")))); 274 base::FilePath(FILE_PATH_LITERAL("foo.abc"))));
275 } 275 }
276 276
277 // Verify that the field trial is only sensitive to the prefix of the group 277 // Verify that the field trial is only sensitive to the prefix of the group
278 // name. 278 // name.
279 TEST(UnverifiedDownloadFieldTrialTest, FieldTrialGroupPrefix) { 279 TEST(UnverifiedDownloadFieldTrialTest, FieldTrialGroupPrefix) {
280 FieldTrialParameters parameters; 280 FieldTrialParameters parameters;
281 parameters[kUnverifiedDownloadFieldTrialBlacklistParam] = ".abc,.def"; 281 parameters[kUnverifiedDownloadFieldTrialBlacklistParam] = ".abc,.def";
282 parameters[kUnverifiedDownloadFieldTrialBlockSBTypesParam] = "*"; 282 parameters[kUnverifiedDownloadFieldTrialBlockSBTypesParam] = "*";
283 ScopedFieldTrialState field_trial( 283 ScopedFieldTrialState field_trial(
284 std::string(kUnverifiedDownloadFieldTrialDisableByParameter) + "FooBar", 284 std::string(kUnverifiedDownloadFieldTrialDisableByParameter) + "FooBar",
285 parameters); 285 parameters);
286 286
287 EXPECT_TRUE(safe_browsing::IsUnverifiedDownloadAllowedByFieldTrial( 287 EXPECT_TRUE(IsUnverifiedDownloadAllowedByFieldTrial(
288 base::FilePath(kSafeFilename))); 288 base::FilePath(kSafeFilename)));
289 EXPECT_FALSE(safe_browsing::IsUnverifiedDownloadAllowedByFieldTrial( 289 EXPECT_FALSE(IsUnverifiedDownloadAllowedByFieldTrial(
290 base::FilePath(kHandledFilename))); 290 base::FilePath(kHandledFilename)));
291 EXPECT_FALSE(safe_browsing::IsUnverifiedDownloadAllowedByFieldTrial( 291 EXPECT_FALSE(IsUnverifiedDownloadAllowedByFieldTrial(
292 base::FilePath(FILE_PATH_LITERAL("foo.abc")))); 292 base::FilePath(FILE_PATH_LITERAL("foo.abc"))));
293 } 293 }
294 294
295 } // namespace safe_browsing 295 } // namespace safe_browsing
OLDNEW
« no previous file with comments | « chrome/browser/safe_browsing/ui_manager_unittest.cc ('k') | chrome/browser/ssl/certificate_reporting_test_utils.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698