OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 <string> | 5 #include <string> |
6 #include "base/command_line.h" | 6 #include "base/command_line.h" |
7 #include "base/file_util.h" | 7 #include "base/file_util.h" |
8 #include "base/files/file_path.h" | 8 #include "base/files/file_path.h" |
9 #include "base/files/scoped_temp_dir.h" | 9 #include "base/files/scoped_temp_dir.h" |
10 #include "base/run_loop.h" | 10 #include "base/run_loop.h" |
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
70 // Check that the database is initialized properly. | 70 // Check that the database is initialized properly. |
71 TEST_F(ActivityDatabaseTest, Init) { | 71 TEST_F(ActivityDatabaseTest, Init) { |
72 base::ScopedTempDir temp_dir; | 72 base::ScopedTempDir temp_dir; |
73 base::FilePath db_file; | 73 base::FilePath db_file; |
74 ASSERT_TRUE(temp_dir.CreateUniqueTempDir()); | 74 ASSERT_TRUE(temp_dir.CreateUniqueTempDir()); |
75 db_file = temp_dir.path().AppendASCII("ActivityInit.db"); | 75 db_file = temp_dir.path().AppendASCII("ActivityInit.db"); |
76 file_util::Delete(db_file, false); | 76 file_util::Delete(db_file, false); |
77 | 77 |
78 ActivityDatabase* activity_db = new ActivityDatabase(); | 78 ActivityDatabase* activity_db = new ActivityDatabase(); |
79 activity_db->Init(db_file); | 79 activity_db->Init(db_file); |
80 ASSERT_TRUE(activity_db->initialized()); | 80 ASSERT_TRUE(activity_db->is_db_valid()); |
81 activity_db->Close(); | 81 activity_db->Close(); |
82 | 82 |
83 sql::Connection db; | 83 sql::Connection db; |
84 ASSERT_TRUE(db.Open(db_file)); | 84 ASSERT_TRUE(db.Open(db_file)); |
85 ASSERT_TRUE(db.DoesTableExist(DOMAction::kTableName)); | 85 ASSERT_TRUE(db.DoesTableExist(DOMAction::kTableName)); |
86 ASSERT_TRUE(db.DoesTableExist(APIAction::kTableName)); | 86 ASSERT_TRUE(db.DoesTableExist(APIAction::kTableName)); |
87 ASSERT_TRUE(db.DoesTableExist(BlockedAction::kTableName)); | 87 ASSERT_TRUE(db.DoesTableExist(BlockedAction::kTableName)); |
88 db.Close(); | 88 db.Close(); |
89 } | 89 } |
90 | 90 |
91 // Check that API actions are recorded in the db. | 91 // Check that API actions are recorded in the db. |
92 TEST_F(ActivityDatabaseTest, RecordAPIAction) { | 92 TEST_F(ActivityDatabaseTest, RecordAPIAction) { |
93 base::ScopedTempDir temp_dir; | 93 base::ScopedTempDir temp_dir; |
94 base::FilePath db_file; | 94 base::FilePath db_file; |
95 ASSERT_TRUE(temp_dir.CreateUniqueTempDir()); | 95 ASSERT_TRUE(temp_dir.CreateUniqueTempDir()); |
96 db_file = temp_dir.path().AppendASCII("ActivityRecord.db"); | 96 db_file = temp_dir.path().AppendASCII("ActivityRecord.db"); |
97 file_util::Delete(db_file, false); | 97 file_util::Delete(db_file, false); |
98 | 98 |
99 ActivityDatabase* activity_db = new ActivityDatabase(); | 99 ActivityDatabase* activity_db = new ActivityDatabase(); |
100 activity_db->Init(db_file); | 100 activity_db->Init(db_file); |
101 activity_db->SetBatchModeForTesting(false); | 101 activity_db->SetBatchModeForTesting(false); |
102 ASSERT_TRUE(activity_db->initialized()); | 102 ASSERT_TRUE(activity_db->is_db_valid()); |
103 scoped_refptr<APIAction> action = new APIAction( | 103 scoped_refptr<APIAction> action = new APIAction( |
104 "punky", | 104 "punky", |
105 base::Time::Now(), | 105 base::Time::Now(), |
106 APIAction::CALL, | 106 APIAction::CALL, |
107 "brewster", | 107 "brewster", |
108 "woof", | 108 "woof", |
109 "extra"); | 109 "extra"); |
110 activity_db->RecordAction(action); | 110 activity_db->RecordAction(action); |
111 activity_db->Close(); | 111 activity_db->Close(); |
112 | 112 |
(...skipping 14 matching lines...) Expand all Loading... |
127 // Check that blocked actions are recorded in the db. | 127 // Check that blocked actions are recorded in the db. |
128 TEST_F(ActivityDatabaseTest, RecordBlockedAction) { | 128 TEST_F(ActivityDatabaseTest, RecordBlockedAction) { |
129 base::ScopedTempDir temp_dir; | 129 base::ScopedTempDir temp_dir; |
130 base::FilePath db_file; | 130 base::FilePath db_file; |
131 ASSERT_TRUE(temp_dir.CreateUniqueTempDir()); | 131 ASSERT_TRUE(temp_dir.CreateUniqueTempDir()); |
132 db_file = temp_dir.path().AppendASCII("ActivityRecord.db"); | 132 db_file = temp_dir.path().AppendASCII("ActivityRecord.db"); |
133 file_util::Delete(db_file, false); | 133 file_util::Delete(db_file, false); |
134 | 134 |
135 ActivityDatabase* activity_db = new ActivityDatabase(); | 135 ActivityDatabase* activity_db = new ActivityDatabase(); |
136 activity_db->Init(db_file); | 136 activity_db->Init(db_file); |
137 ASSERT_TRUE(activity_db->initialized()); | 137 ASSERT_TRUE(activity_db->is_db_valid()); |
138 scoped_refptr<BlockedAction> action = new BlockedAction( | 138 scoped_refptr<BlockedAction> action = new BlockedAction( |
139 "punky", | 139 "punky", |
140 base::Time::Now(), | 140 base::Time::Now(), |
141 "do.evilThings", | 141 "do.evilThings", |
142 "1, 2", | 142 "1, 2", |
143 BlockedAction::ACCESS_DENIED, | 143 BlockedAction::ACCESS_DENIED, |
144 "extra"); | 144 "extra"); |
145 activity_db->RecordAction(action); | 145 activity_db->RecordAction(action); |
146 activity_db->Close(); | 146 activity_db->Close(); |
147 | 147 |
(...skipping 22 matching lines...) Expand all Loading... |
170 | 170 |
171 // Use a mock clock to ensure that events are not recorded on the wrong day | 171 // Use a mock clock to ensure that events are not recorded on the wrong day |
172 // when the test is run close to local midnight. | 172 // when the test is run close to local midnight. |
173 base::SimpleTestClock mock_clock; | 173 base::SimpleTestClock mock_clock; |
174 mock_clock.SetNow(base::Time::Now().LocalMidnight() + | 174 mock_clock.SetNow(base::Time::Now().LocalMidnight() + |
175 base::TimeDelta::FromHours(12)); | 175 base::TimeDelta::FromHours(12)); |
176 | 176 |
177 // Record some actions | 177 // Record some actions |
178 ActivityDatabase* activity_db = new ActivityDatabase(); | 178 ActivityDatabase* activity_db = new ActivityDatabase(); |
179 activity_db->Init(db_file); | 179 activity_db->Init(db_file); |
180 ASSERT_TRUE(activity_db->initialized()); | 180 ASSERT_TRUE(activity_db->is_db_valid()); |
181 scoped_refptr<APIAction> api_action = new APIAction( | 181 scoped_refptr<APIAction> api_action = new APIAction( |
182 "punky", | 182 "punky", |
183 mock_clock.Now() - base::TimeDelta::FromMinutes(40), | 183 mock_clock.Now() - base::TimeDelta::FromMinutes(40), |
184 APIAction::CALL, | 184 APIAction::CALL, |
185 "brewster", | 185 "brewster", |
186 "woof", | 186 "woof", |
187 "extra"); | 187 "extra"); |
188 scoped_refptr<DOMAction> dom_action = new DOMAction( | 188 scoped_refptr<DOMAction> dom_action = new DOMAction( |
189 "punky", | 189 "punky", |
190 mock_clock.Now(), | 190 mock_clock.Now(), |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
230 | 230 |
231 // Use a mock clock to ensure that events are not recorded on the wrong day | 231 // Use a mock clock to ensure that events are not recorded on the wrong day |
232 // when the test is run close to local midnight. | 232 // when the test is run close to local midnight. |
233 base::SimpleTestClock mock_clock; | 233 base::SimpleTestClock mock_clock; |
234 mock_clock.SetNow(base::Time::Now().LocalMidnight() + | 234 mock_clock.SetNow(base::Time::Now().LocalMidnight() + |
235 base::TimeDelta::FromHours(12)); | 235 base::TimeDelta::FromHours(12)); |
236 | 236 |
237 // Record some actions | 237 // Record some actions |
238 ActivityDatabase* activity_db = new ActivityDatabase(); | 238 ActivityDatabase* activity_db = new ActivityDatabase(); |
239 activity_db->Init(db_file); | 239 activity_db->Init(db_file); |
240 ASSERT_TRUE(activity_db->initialized()); | 240 ASSERT_TRUE(activity_db->is_db_valid()); |
241 scoped_refptr<APIAction> api_action = new APIAction( | 241 scoped_refptr<APIAction> api_action = new APIAction( |
242 "punky", | 242 "punky", |
243 mock_clock.Now() - base::TimeDelta::FromDays(3) | 243 mock_clock.Now() - base::TimeDelta::FromDays(3) |
244 - base::TimeDelta::FromMinutes(40), | 244 - base::TimeDelta::FromMinutes(40), |
245 APIAction::CALL, | 245 APIAction::CALL, |
246 "brewster", | 246 "brewster", |
247 "woof", | 247 "woof", |
248 "extra"); | 248 "extra"); |
249 scoped_refptr<DOMAction> dom_action = new DOMAction( | 249 scoped_refptr<DOMAction> dom_action = new DOMAction( |
250 "punky", | 250 "punky", |
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
302 // when the test is run close to local midnight. | 302 // when the test is run close to local midnight. |
303 base::SimpleTestClock mock_clock; | 303 base::SimpleTestClock mock_clock; |
304 mock_clock.SetNow(base::Time::Now().LocalMidnight() + | 304 mock_clock.SetNow(base::Time::Now().LocalMidnight() + |
305 base::TimeDelta::FromHours(12)); | 305 base::TimeDelta::FromHours(12)); |
306 | 306 |
307 // Record some actions | 307 // Record some actions |
308 ActivityDatabase* activity_db = new ActivityDatabase(); | 308 ActivityDatabase* activity_db = new ActivityDatabase(); |
309 activity_db->Init(db_file); | 309 activity_db->Init(db_file); |
310 activity_db->SetBatchModeForTesting(false); | 310 activity_db->SetBatchModeForTesting(false); |
311 activity_db->SetClockForTesting(&mock_clock); | 311 activity_db->SetClockForTesting(&mock_clock); |
312 ASSERT_TRUE(activity_db->initialized()); | 312 ASSERT_TRUE(activity_db->is_db_valid()); |
313 scoped_refptr<APIAction> api_action = new APIAction( | 313 scoped_refptr<APIAction> api_action = new APIAction( |
314 "punky", | 314 "punky", |
315 mock_clock.Now() - base::TimeDelta::FromMinutes(40), | 315 mock_clock.Now() - base::TimeDelta::FromMinutes(40), |
316 APIAction::CALL, | 316 APIAction::CALL, |
317 "brewster", | 317 "brewster", |
318 "woof", | 318 "woof", |
319 "extra"); | 319 "extra"); |
320 activity_db->RecordAction(api_action); | 320 activity_db->RecordAction(api_action); |
321 | 321 |
322 scoped_ptr<std::vector<scoped_refptr<Action> > > actions = | 322 scoped_ptr<std::vector<scoped_refptr<Action> > > actions = |
(...skipping 13 matching lines...) Expand all Loading... |
336 // timing and skip ahead in time. | 336 // timing and skip ahead in time. |
337 base::SimpleTestClock mock_clock; | 337 base::SimpleTestClock mock_clock; |
338 mock_clock.SetNow(base::Time::Now().LocalMidnight() + | 338 mock_clock.SetNow(base::Time::Now().LocalMidnight() + |
339 base::TimeDelta::FromHours(11)); | 339 base::TimeDelta::FromHours(11)); |
340 | 340 |
341 // Record some actions | 341 // Record some actions |
342 ActivityDatabase* activity_db = new ActivityDatabase(); | 342 ActivityDatabase* activity_db = new ActivityDatabase(); |
343 activity_db->Init(db_file); | 343 activity_db->Init(db_file); |
344 activity_db->SetBatchModeForTesting(true); | 344 activity_db->SetBatchModeForTesting(true); |
345 activity_db->SetClockForTesting(&mock_clock); | 345 activity_db->SetClockForTesting(&mock_clock); |
346 ASSERT_TRUE(activity_db->initialized()); | 346 ASSERT_TRUE(activity_db->is_db_valid()); |
347 scoped_refptr<APIAction> api_action = new APIAction( | 347 scoped_refptr<APIAction> api_action = new APIAction( |
348 "punky", | 348 "punky", |
349 mock_clock.Now() - base::TimeDelta::FromMinutes(40), | 349 mock_clock.Now() - base::TimeDelta::FromMinutes(40), |
350 APIAction::CALL, | 350 APIAction::CALL, |
351 "brewster", | 351 "brewster", |
352 "woof", | 352 "woof", |
353 "extra"); | 353 "extra"); |
354 activity_db->RecordAction(api_action); | 354 activity_db->RecordAction(api_action); |
355 | 355 |
356 scoped_ptr<std::vector<scoped_refptr<Action> > > actions_before = | 356 scoped_ptr<std::vector<scoped_refptr<Action> > > actions_before = |
(...skipping 24 matching lines...) Expand all Loading... |
381 "punky", | 381 "punky", |
382 base::Time::Now(), | 382 base::Time::Now(), |
383 APIAction::CALL, | 383 APIAction::CALL, |
384 "brewster", | 384 "brewster", |
385 "woooof", | 385 "woooof", |
386 "extra"); | 386 "extra"); |
387 activity_db->RecordAction(action); | 387 activity_db->RecordAction(action); |
388 activity_db->Close(); | 388 activity_db->Close(); |
389 } | 389 } |
390 | 390 |
391 } // namespace | 391 } // namespace extensions |
392 | 392 |
OLD | NEW |