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/cancelable_callback.h" | 5 #include "base/cancelable_callback.h" |
6 #include "base/command_line.h" | 6 #include "base/command_line.h" |
7 #include "base/memory/scoped_ptr.h" | 7 #include "base/memory/scoped_ptr.h" |
8 #include "base/run_loop.h" | 8 #include "base/run_loop.h" |
9 #include "base/strings/stringprintf.h" | 9 #include "base/strings/stringprintf.h" |
10 #include "base/synchronization/waitable_event.h" | 10 #include "base/synchronization/waitable_event.h" |
(...skipping 211 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
222 } | 222 } |
223 | 223 |
224 // A helper function initializes the policy with a number of actions, calls | 224 // A helper function initializes the policy with a number of actions, calls |
225 // RemoveActions on a policy object and then checks the result of the | 225 // RemoveActions on a policy object and then checks the result of the |
226 // deletion. | 226 // deletion. |
227 void CheckRemoveActions( | 227 void CheckRemoveActions( |
228 ActivityLogDatabasePolicy* policy, | 228 ActivityLogDatabasePolicy* policy, |
229 const std::vector<int64>& action_ids, | 229 const std::vector<int64>& action_ids, |
230 const base::Callback<void(scoped_ptr<Action::ActionVector>)>& checker) { | 230 const base::Callback<void(scoped_ptr<Action::ActionVector>)>& checker) { |
231 | 231 |
| 232 // Use a mock clock to ensure that events are not recorded on the wrong day |
| 233 // when the test is run close to local midnight. |
| 234 base::SimpleTestClock* mock_clock = new base::SimpleTestClock(); |
| 235 mock_clock->SetNow(base::Time::Now().LocalMidnight() + |
| 236 base::TimeDelta::FromHours(12)); |
| 237 policy->SetClockForTesting(scoped_ptr<base::Clock>(mock_clock)); |
| 238 |
232 // Record some actions | 239 // Record some actions |
233 scoped_refptr<Action> action = new Action( | 240 scoped_refptr<Action> action = |
234 "punky1", base::Time::Now(), Action::ACTION_DOM_ACCESS, "lets1"); | 241 new Action("punky1", |
| 242 mock_clock->Now() - base::TimeDelta::FromMinutes(40), |
| 243 Action::ACTION_DOM_ACCESS, |
| 244 "lets1"); |
235 action->mutable_args()->AppendString("vamoose1"); | 245 action->mutable_args()->AppendString("vamoose1"); |
236 action->set_page_url(GURL("http://www.google1.com")); | 246 action->set_page_url(GURL("http://www.google1.com")); |
237 action->set_page_title("Google1"); | 247 action->set_page_title("Google1"); |
238 action->set_arg_url(GURL("http://www.args-url1.com")); | 248 action->set_arg_url(GURL("http://www.args-url1.com")); |
239 policy->ProcessAction(action); | 249 policy->ProcessAction(action); |
240 // Record the same action twice, so there are multiple entries in the | 250 // Record the same action twice, so there are multiple entries in the |
241 // database. | 251 // database. |
242 policy->ProcessAction(action); | 252 policy->ProcessAction(action); |
243 | 253 |
244 action = new Action( | 254 action = new Action("punky2", |
245 "punky2", base::Time::Now(), Action::ACTION_API_CALL, "lets2"); | 255 mock_clock->Now() - base::TimeDelta::FromMinutes(30), |
| 256 Action::ACTION_API_CALL, |
| 257 "lets2"); |
246 action->mutable_args()->AppendString("vamoose2"); | 258 action->mutable_args()->AppendString("vamoose2"); |
247 action->set_page_url(GURL("http://www.google2.com")); | 259 action->set_page_url(GURL("http://www.google2.com")); |
248 action->set_page_title("Google2"); | 260 action->set_page_title("Google2"); |
249 action->set_arg_url(GURL("http://www.args-url2.com")); | 261 action->set_arg_url(GURL("http://www.args-url2.com")); |
250 policy->ProcessAction(action); | 262 policy->ProcessAction(action); |
251 // Record the same action twice, so there are multiple entries in the | 263 // Record the same action twice, so there are multiple entries in the |
252 // database. | 264 // database. |
253 policy->ProcessAction(action); | 265 policy->ProcessAction(action); |
254 | 266 |
255 // Submit a request to delete actions. | 267 // Submit a request to delete actions. |
(...skipping 715 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
971 action_ids.push_back(3); | 983 action_ids.push_back(3); |
972 action_ids.push_back(4); | 984 action_ids.push_back(4); |
973 CheckRemoveActions( | 985 CheckRemoveActions( |
974 policy, action_ids, base::Bind(&FullStreamUIPolicyTest::Action2Deleted)); | 986 policy, action_ids, base::Bind(&FullStreamUIPolicyTest::Action2Deleted)); |
975 action_ids.clear(); | 987 action_ids.clear(); |
976 | 988 |
977 policy->Close(); | 989 policy->Close(); |
978 } | 990 } |
979 | 991 |
980 } // namespace extensions | 992 } // namespace extensions |
OLD | NEW |