| OLD | NEW |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 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 "base/macros.h" | 5 #include "base/macros.h" |
| 6 #include "components/filesystem/public/interfaces/directory.mojom.h" | 6 #include "components/filesystem/public/interfaces/directory.mojom.h" |
| 7 #include "components/filesystem/public/interfaces/file_system.mojom.h" | 7 #include "components/filesystem/public/interfaces/file_system.mojom.h" |
| 8 #include "components/filesystem/public/interfaces/types.mojom.h" | 8 #include "components/filesystem/public/interfaces/types.mojom.h" |
| 9 #include "components/leveldb/public/interfaces/leveldb.mojom.h" | 9 #include "components/leveldb/public/interfaces/leveldb.mojom.h" |
| 10 #include "mojo/common/common_type_converters.h" | 10 #include "mojo/common/common_type_converters.h" |
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 51 filesystem::FileSystemPtr& files() { return files_; } | 51 filesystem::FileSystemPtr& files() { return files_; } |
| 52 LevelDBServicePtr& leveldb() { return leveldb_; } | 52 LevelDBServicePtr& leveldb() { return leveldb_; } |
| 53 | 53 |
| 54 private: | 54 private: |
| 55 filesystem::FileSystemPtr files_; | 55 filesystem::FileSystemPtr files_; |
| 56 LevelDBServicePtr leveldb_; | 56 LevelDBServicePtr leveldb_; |
| 57 | 57 |
| 58 DISALLOW_COPY_AND_ASSIGN(LevelDBServiceTest); | 58 DISALLOW_COPY_AND_ASSIGN(LevelDBServiceTest); |
| 59 }; | 59 }; |
| 60 | 60 |
| 61 // TODO(crbug.com/602820) Test is flaky. | 61 TEST_F(LevelDBServiceTest, Basic) { |
| 62 #if defined(OS_LINUX) || defined(OS_WIN) | |
| 63 #define MAYBE_Basic DISABLED_Basic | |
| 64 #else | |
| 65 #define MAYBE_Basic Basic | |
| 66 #endif | |
| 67 TEST_F(LevelDBServiceTest, MAYBE_Basic) { | |
| 68 filesystem::DirectoryPtr directory; | |
| 69 GetUserDataDir(&directory); | |
| 70 | |
| 71 DatabaseError error; | 62 DatabaseError error; |
| 72 LevelDBDatabasePtr database; | 63 LevelDBDatabasePtr database; |
| 73 leveldb()->Open(std::move(directory), "test", GetProxy(&database), | 64 leveldb()->OpenInMemory(GetProxy(&database), Capture(&error)); |
| 74 Capture(&error)); | |
| 75 ASSERT_TRUE(leveldb().WaitForIncomingResponse()); | 65 ASSERT_TRUE(leveldb().WaitForIncomingResponse()); |
| 76 EXPECT_EQ(DatabaseError::OK, error); | 66 EXPECT_EQ(DatabaseError::OK, error); |
| 77 | 67 |
| 78 // Write a key to the database. | 68 // Write a key to the database. |
| 79 error = DatabaseError::INVALID_ARGUMENT; | 69 error = DatabaseError::INVALID_ARGUMENT; |
| 80 database->Put(mojo::Array<uint8_t>::From(std::string("key")), | 70 database->Put(mojo::Array<uint8_t>::From(std::string("key")), |
| 81 mojo::Array<uint8_t>::From(std::string("value")), | 71 mojo::Array<uint8_t>::From(std::string("value")), |
| 82 Capture(&error)); | 72 Capture(&error)); |
| 83 ASSERT_TRUE(database.WaitForIncomingResponse()); | 73 ASSERT_TRUE(database.WaitForIncomingResponse()); |
| 84 EXPECT_EQ(DatabaseError::OK, error); | 74 EXPECT_EQ(DatabaseError::OK, error); |
| (...skipping 17 matching lines...) Expand all Loading... |
| 102 // Read the key back from the database. | 92 // Read the key back from the database. |
| 103 error = DatabaseError::INVALID_ARGUMENT; | 93 error = DatabaseError::INVALID_ARGUMENT; |
| 104 value.SetToEmpty(); | 94 value.SetToEmpty(); |
| 105 database->Get(mojo::Array<uint8_t>::From(std::string("key")), | 95 database->Get(mojo::Array<uint8_t>::From(std::string("key")), |
| 106 Capture(&error, &value)); | 96 Capture(&error, &value)); |
| 107 ASSERT_TRUE(database.WaitForIncomingResponse()); | 97 ASSERT_TRUE(database.WaitForIncomingResponse()); |
| 108 EXPECT_EQ(DatabaseError::NOT_FOUND, error); | 98 EXPECT_EQ(DatabaseError::NOT_FOUND, error); |
| 109 EXPECT_EQ("", value.To<std::string>()); | 99 EXPECT_EQ("", value.To<std::string>()); |
| 110 } | 100 } |
| 111 | 101 |
| 112 // TODO(crbug.com/602820) Test is flaky. | 102 TEST_F(LevelDBServiceTest, WriteBatch) { |
| 113 #if defined(OS_LINUX) || defined(OS_WIN) | |
| 114 #define MAYBE_WriteBatch DISABLED_WriteBatch | |
| 115 #else | |
| 116 #define MAYBE_WriteBatch WriteBatch | |
| 117 #endif | |
| 118 TEST_F(LevelDBServiceTest, MAYBE_WriteBatch) { | |
| 119 DatabaseError error; | 103 DatabaseError error; |
| 120 LevelDBDatabasePtr database; | 104 LevelDBDatabasePtr database; |
| 121 leveldb()->OpenInMemory(GetProxy(&database), Capture(&error)); | 105 leveldb()->OpenInMemory(GetProxy(&database), Capture(&error)); |
| 122 ASSERT_TRUE(leveldb().WaitForIncomingResponse()); | 106 ASSERT_TRUE(leveldb().WaitForIncomingResponse()); |
| 123 EXPECT_EQ(DatabaseError::OK, error); | 107 EXPECT_EQ(DatabaseError::OK, error); |
| 124 | 108 |
| 125 // Write a key to the database. | 109 // Write a key to the database. |
| 126 database->Put(mojo::Array<uint8_t>::From(std::string("key")), | 110 database->Put(mojo::Array<uint8_t>::From(std::string("key")), |
| 127 mojo::Array<uint8_t>::From(std::string("value")), | 111 mojo::Array<uint8_t>::From(std::string("value")), |
| 128 Capture(&error)); | 112 Capture(&error)); |
| (...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 248 error = DatabaseError::INVALID_ARGUMENT; | 232 error = DatabaseError::INVALID_ARGUMENT; |
| 249 mojo::Array<uint8_t> value; | 233 mojo::Array<uint8_t> value; |
| 250 database->Get(mojo::Array<uint8_t>::From(std::string("key")), | 234 database->Get(mojo::Array<uint8_t>::From(std::string("key")), |
| 251 Capture(&error, &value)); | 235 Capture(&error, &value)); |
| 252 ASSERT_TRUE(database.WaitForIncomingResponse()); | 236 ASSERT_TRUE(database.WaitForIncomingResponse()); |
| 253 EXPECT_EQ(DatabaseError::OK, error); | 237 EXPECT_EQ(DatabaseError::OK, error); |
| 254 EXPECT_EQ("value", value.To<std::string>()); | 238 EXPECT_EQ("value", value.To<std::string>()); |
| 255 } | 239 } |
| 256 } | 240 } |
| 257 | 241 |
| 258 // TODO(crbug.com/602820) Test is flaky. | 242 TEST_F(LevelDBServiceTest, GetSnapshotSimple) { |
| 259 #if defined(OS_LINUX) || defined(OS_WIN) | |
| 260 #define MAYBE_GetSnapshotSimple DISABLED_GetSnapshotSimple | |
| 261 #else | |
| 262 #define MAYBE_GetSnapshotSimple GetSnapshotSimple | |
| 263 #endif | |
| 264 TEST_F(LevelDBServiceTest, MAYBE_GetSnapshotSimple) { | |
| 265 DatabaseError error; | 243 DatabaseError error; |
| 266 | |
| 267 filesystem::DirectoryPtr directory; | |
| 268 GetUserDataDir(&directory); | |
| 269 | |
| 270 LevelDBDatabasePtr database; | 244 LevelDBDatabasePtr database; |
| 271 leveldb()->Open(std::move(directory), "test", GetProxy(&database), | 245 leveldb()->OpenInMemory(GetProxy(&database), Capture(&error)); |
| 272 Capture(&error)); | |
| 273 ASSERT_TRUE(leveldb().WaitForIncomingResponse()); | 246 ASSERT_TRUE(leveldb().WaitForIncomingResponse()); |
| 274 EXPECT_EQ(DatabaseError::OK, error); | 247 EXPECT_EQ(DatabaseError::OK, error); |
| 275 | 248 |
| 276 uint64_t snapshot_id = 0; | 249 uint64_t snapshot_id = 0; |
| 277 database->GetSnapshot(Capture(&snapshot_id)); | 250 database->GetSnapshot(Capture(&snapshot_id)); |
| 278 ASSERT_TRUE(database.WaitForIncomingResponse()); | 251 ASSERT_TRUE(database.WaitForIncomingResponse()); |
| 279 EXPECT_NE(static_cast<uint64_t>(0), snapshot_id); | 252 EXPECT_NE(static_cast<uint64_t>(0), snapshot_id); |
| 280 } | 253 } |
| 281 | 254 |
| 282 // TODO(crbug.com/602820) Test is flaky. | 255 TEST_F(LevelDBServiceTest, GetFromSnapshots) { |
| 283 #if defined(OS_LINUX) || defined(OS_WIN) | |
| 284 #define MAYBE_GetFromSnapshots DISABLED_GetFromSnapshots | |
| 285 #else | |
| 286 #define MAYBE_GetFromSnapshots GetFromSnapshots | |
| 287 #endif | |
| 288 TEST_F(LevelDBServiceTest, MAYBE_GetFromSnapshots) { | |
| 289 DatabaseError error; | 256 DatabaseError error; |
| 290 | |
| 291 filesystem::DirectoryPtr directory; | |
| 292 GetUserDataDir(&directory); | |
| 293 | |
| 294 LevelDBDatabasePtr database; | 257 LevelDBDatabasePtr database; |
| 295 leveldb()->Open(std::move(directory), "test", GetProxy(&database), | 258 leveldb()->OpenInMemory(GetProxy(&database), Capture(&error)); |
| 296 Capture(&error)); | |
| 297 ASSERT_TRUE(leveldb().WaitForIncomingResponse()); | 259 ASSERT_TRUE(leveldb().WaitForIncomingResponse()); |
| 298 EXPECT_EQ(DatabaseError::OK, error); | 260 EXPECT_EQ(DatabaseError::OK, error); |
| 299 | 261 |
| 300 // Write a key to the database. | 262 // Write a key to the database. |
| 301 error = DatabaseError::INVALID_ARGUMENT; | 263 error = DatabaseError::INVALID_ARGUMENT; |
| 302 database->Put(mojo::Array<uint8_t>::From(std::string("key")), | 264 database->Put(mojo::Array<uint8_t>::From(std::string("key")), |
| 303 mojo::Array<uint8_t>::From(std::string("value")), | 265 mojo::Array<uint8_t>::From(std::string("value")), |
| 304 Capture(&error)); | 266 Capture(&error)); |
| 305 ASSERT_TRUE(database.WaitForIncomingResponse()); | 267 ASSERT_TRUE(database.WaitForIncomingResponse()); |
| 306 EXPECT_EQ(DatabaseError::OK, error); | 268 EXPECT_EQ(DatabaseError::OK, error); |
| (...skipping 25 matching lines...) Expand all Loading... |
| 332 value.SetToEmpty(); | 294 value.SetToEmpty(); |
| 333 database->GetFromSnapshot( | 295 database->GetFromSnapshot( |
| 334 key_value_snapshot, | 296 key_value_snapshot, |
| 335 mojo::Array<uint8_t>::From(std::string("key")), | 297 mojo::Array<uint8_t>::From(std::string("key")), |
| 336 Capture(&error, &value)); | 298 Capture(&error, &value)); |
| 337 ASSERT_TRUE(database.WaitForIncomingResponse()); | 299 ASSERT_TRUE(database.WaitForIncomingResponse()); |
| 338 EXPECT_EQ(DatabaseError::OK, error); | 300 EXPECT_EQ(DatabaseError::OK, error); |
| 339 EXPECT_EQ("value", value.To<std::string>()); | 301 EXPECT_EQ("value", value.To<std::string>()); |
| 340 } | 302 } |
| 341 | 303 |
| 342 // TODO(crbug.com/602820) Test is flaky. | 304 TEST_F(LevelDBServiceTest, InvalidArgumentOnInvalidSnapshot) { |
| 343 #if defined(OS_LINUX) || defined(OS_WIN) | |
| 344 #define MAYBE_InvalidArgumentOnInvalidSnapshot DISABLED_InvalidArgumentOnInvalid
Snapshot | |
| 345 #else | |
| 346 #define MAYBE_InvalidArgumentOnInvalidSnapshot InvalidArgumentOnInvalidSnapshot | |
| 347 #endif | |
| 348 TEST_F(LevelDBServiceTest, MAYBE_InvalidArgumentOnInvalidSnapshot) { | |
| 349 filesystem::DirectoryPtr directory; | |
| 350 GetUserDataDir(&directory); | |
| 351 | |
| 352 LevelDBDatabasePtr database; | 305 LevelDBDatabasePtr database; |
| 353 DatabaseError error = DatabaseError::INVALID_ARGUMENT; | 306 DatabaseError error = DatabaseError::INVALID_ARGUMENT; |
| 354 leveldb()->Open(std::move(directory), "test", GetProxy(&database), | 307 leveldb()->OpenInMemory(GetProxy(&database), Capture(&error)); |
| 355 Capture(&error)); | |
| 356 ASSERT_TRUE(leveldb().WaitForIncomingResponse()); | 308 ASSERT_TRUE(leveldb().WaitForIncomingResponse()); |
| 357 EXPECT_EQ(DatabaseError::OK, error); | 309 EXPECT_EQ(DatabaseError::OK, error); |
| 358 | 310 |
| 359 uint64_t invalid_snapshot = 8; | 311 uint64_t invalid_snapshot = 8; |
| 360 | 312 |
| 361 error = DatabaseError::OK; | 313 error = DatabaseError::OK; |
| 362 mojo::Array<uint8_t> value; | 314 mojo::Array<uint8_t> value; |
| 363 database->GetFromSnapshot( | 315 database->GetFromSnapshot( |
| 364 invalid_snapshot, | 316 invalid_snapshot, |
| 365 mojo::Array<uint8_t>::From(std::string("key")), | 317 mojo::Array<uint8_t>::From(std::string("key")), |
| (...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 538 key_values.SetToEmpty(); | 490 key_values.SetToEmpty(); |
| 539 database->GetPrefixed(mojo::Array<uint8_t>::From(prefix), | 491 database->GetPrefixed(mojo::Array<uint8_t>::From(prefix), |
| 540 Capture(&error, &key_values)); | 492 Capture(&error, &key_values)); |
| 541 ASSERT_TRUE(database.WaitForIncomingResponse()); | 493 ASSERT_TRUE(database.WaitForIncomingResponse()); |
| 542 EXPECT_EQ(DatabaseError::OK, error); | 494 EXPECT_EQ(DatabaseError::OK, error); |
| 543 EXPECT_TRUE(key_values.empty()); | 495 EXPECT_TRUE(key_values.empty()); |
| 544 } | 496 } |
| 545 | 497 |
| 546 } // namespace | 498 } // namespace |
| 547 } // namespace leveldb | 499 } // namespace leveldb |
| OLD | NEW |