OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 "base/message_loop/message_loop.h" | 5 #include "base/message_loop/message_loop.h" |
6 #include "base/process/process.h" | 6 #include "base/process/process.h" |
7 #include "base/stl_util.h" | 7 #include "base/stl_util.h" |
8 #include "base/strings/string_util.h" | 8 #include "base/strings/string_util.h" |
9 #include "content/public/test/test_browser_thread.h" | 9 #include "content/public/test/test_browser_thread.h" |
10 #include "extensions/browser/extension_function.h" | 10 #include "extensions/browser/extension_function.h" |
(...skipping 269 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
280 f.get(), | 280 f.get(), |
281 &args_f, | 281 &args_f, |
282 kStartTime + TimeDelta::FromSeconds(15))); | 282 kStartTime + TimeDelta::FromSeconds(15))); |
283 EXPECT_NE("", | 283 EXPECT_NE("", |
284 service_->Assess(extension_a_, | 284 service_->Assess(extension_a_, |
285 g.get(), | 285 g.get(), |
286 &args_g, | 286 &args_g, |
287 kStartTime + TimeDelta::FromSeconds(15))); | 287 kStartTime + TimeDelta::FromSeconds(15))); |
288 } | 288 } |
289 | 289 |
290 TEST_F(QuotaServiceTest, ViolatorsWillBeViolators) { | 290 TEST_F(QuotaServiceTest, ViolatorsWillBeForgiven) { |
291 scoped_refptr<MockFunction> f(new TimedLimitMockFunction("foo")); | 291 scoped_refptr<MockFunction> f(new TimedLimitMockFunction("foo")); |
292 scoped_refptr<MockFunction> g(new TimedLimitMockFunction("bar")); | |
293 base::ListValue arg; | 292 base::ListValue arg; |
294 arg.Append(new base::FundamentalValue(1)); | 293 arg.Append(new base::FundamentalValue(1)); |
295 EXPECT_EQ("", service_->Assess(extension_a_, f.get(), &arg, kStartTime)); | 294 EXPECT_EQ("", service_->Assess(extension_a_, f.get(), &arg, kStartTime)); |
296 EXPECT_EQ("", | 295 EXPECT_EQ("", |
297 service_->Assess(extension_a_, | 296 service_->Assess(extension_a_, |
298 f.get(), | 297 f.get(), |
299 &arg, | 298 &arg, |
300 kStartTime + TimeDelta::FromSeconds(10))); | 299 kStartTime + TimeDelta::FromSeconds(10))); |
301 EXPECT_NE("", | 300 EXPECT_NE("", |
302 service_->Assess(extension_a_, | 301 service_->Assess(extension_a_, |
303 f.get(), | 302 f.get(), |
304 &arg, | 303 &arg, |
305 kStartTime + TimeDelta::FromSeconds(15))); | 304 kStartTime + TimeDelta::FromSeconds(15))); |
306 | 305 |
307 // We don't allow this extension to use quota limited functions even if they | 306 // Waiting a while will give the extension access to the function again. |
308 // wait a while. | 307 EXPECT_EQ("", service_->Assess(extension_a_, f.get(), &arg, |
309 EXPECT_NE( | 308 kStartTime + TimeDelta::FromDays(1))); |
310 "", | 309 |
311 service_->Assess( | 310 // And lose it again soon after. |
312 extension_a_, f.get(), &arg, kStartTime + TimeDelta::FromDays(1))); | 311 EXPECT_EQ("", service_->Assess(extension_a_, f.get(), &arg, |
313 EXPECT_NE( | 312 kStartTime + TimeDelta::FromDays(1) + |
314 "", | 313 TimeDelta::FromSeconds(10))); |
315 service_->Assess( | 314 EXPECT_NE("", service_->Assess(extension_a_, f.get(), &arg, |
316 extension_a_, g.get(), &arg, kStartTime + TimeDelta::FromDays(1))); | 315 kStartTime + TimeDelta::FromDays(1) + |
| 316 TimeDelta::FromSeconds(15))); |
| 317 |
| 318 // Going further over quota should continue to fail within this time period, |
| 319 // but still all restored later. |
| 320 EXPECT_NE("", service_->Assess(extension_a_, f.get(), &arg, |
| 321 kStartTime + TimeDelta::FromDays(1) + |
| 322 TimeDelta::FromSeconds(20))); |
| 323 EXPECT_NE("", service_->Assess(extension_a_, f.get(), &arg, |
| 324 kStartTime + TimeDelta::FromDays(1) + |
| 325 TimeDelta::FromSeconds(25))); |
| 326 |
| 327 // Like now. |
| 328 EXPECT_EQ("", service_->Assess(extension_a_, f.get(), &arg, |
| 329 kStartTime + TimeDelta::FromDays(2))); |
317 } | 330 } |
318 | 331 |
319 } // namespace extensions | 332 } // namespace extensions |
OLD | NEW |