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

Side by Side Diff: components/leveldb/leveldb_service_unittest.cc

Issue 1962503002: Add mojom module suffix in .mojom files for components/filesystem. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 7 months 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 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/bind.h" 5 #include "base/bind.h"
6 #include "base/macros.h" 6 #include "base/macros.h"
7 #include "components/filesystem/public/interfaces/directory.mojom.h" 7 #include "components/filesystem/public/interfaces/directory.mojom.h"
8 #include "components/filesystem/public/interfaces/file_system.mojom.h" 8 #include "components/filesystem/public/interfaces/file_system.mojom.h"
9 #include "components/filesystem/public/interfaces/types.mojom.h" 9 #include "components/filesystem/public/interfaces/types.mojom.h"
10 #include "components/leveldb/public/interfaces/leveldb.mojom.h" 10 #include "components/leveldb/public/interfaces/leveldb.mojom.h"
11 #include "mojo/common/common_type_converters.h" 11 #include "mojo/common/common_type_converters.h"
12 #include "mojo/public/cpp/bindings/binding_set.h" 12 #include "mojo/public/cpp/bindings/binding_set.h"
13 #include "mojo/util/capture_util.h" 13 #include "mojo/util/capture_util.h"
14 #include "services/shell/public/cpp/shell_connection.h" 14 #include "services/shell/public/cpp/shell_connection.h"
15 #include "services/shell/public/cpp/shell_test.h" 15 #include "services/shell/public/cpp/shell_test.h"
16 16
17 using filesystem::FileError; 17 using filesystem::mojom::FileError;
18 using mojo::Capture; 18 using mojo::Capture;
19 19
20 namespace leveldb { 20 namespace leveldb {
21 namespace { 21 namespace {
22 22
23 class LevelDBServiceTest : public shell::test::ShellTest { 23 class LevelDBServiceTest : public shell::test::ShellTest {
24 public: 24 public:
25 LevelDBServiceTest() : ShellTest("exe:leveldb_service_unittests") {} 25 LevelDBServiceTest() : ShellTest("exe:leveldb_service_unittests") {}
26 ~LevelDBServiceTest() override {} 26 ~LevelDBServiceTest() override {}
27 27
28 protected: 28 protected:
29 // Overridden from mojo::test::ApplicationTestBase: 29 // Overridden from mojo::test::ApplicationTestBase:
30 void SetUp() override { 30 void SetUp() override {
31 ShellTest::SetUp(); 31 ShellTest::SetUp();
32 connector()->ConnectToInterface("mojo:filesystem", &files_); 32 connector()->ConnectToInterface("mojo:filesystem", &files_);
33 connector()->ConnectToInterface("mojo:leveldb", &leveldb_); 33 connector()->ConnectToInterface("mojo:leveldb", &leveldb_);
34 } 34 }
35 35
36 void TearDown() override { 36 void TearDown() override {
37 leveldb_.reset(); 37 leveldb_.reset();
38 files_.reset(); 38 files_.reset();
39 ShellTest::TearDown(); 39 ShellTest::TearDown();
40 } 40 }
41 41
42 // Note: This has an out parameter rather than returning the |DirectoryPtr|, 42 // Note: This has an out parameter rather than returning the |DirectoryPtr|,
43 // since |ASSERT_...()| doesn't work with return values. 43 // since |ASSERT_...()| doesn't work with return values.
44 void GetTempDirectory(filesystem::DirectoryPtr* directory) { 44 void GetTempDirectory(filesystem::mojom::DirectoryPtr* directory) {
45 FileError error = FileError::FAILED; 45 FileError error = FileError::FAILED;
46 files()->OpenTempDirectory(GetProxy(directory), mojo::Capture(&error)); 46 files()->OpenTempDirectory(GetProxy(directory), mojo::Capture(&error));
47 ASSERT_TRUE(files().WaitForIncomingResponse()); 47 ASSERT_TRUE(files().WaitForIncomingResponse());
48 ASSERT_EQ(FileError::OK, error); 48 ASSERT_EQ(FileError::OK, error);
49 } 49 }
50 50
51 filesystem::FileSystemPtr& files() { return files_; } 51 filesystem::mojom::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::mojom::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 TEST_F(LevelDBServiceTest, Basic) { 61 TEST_F(LevelDBServiceTest, Basic) {
62 DatabaseError error; 62 DatabaseError error;
63 LevelDBDatabasePtr database; 63 LevelDBDatabasePtr database;
64 leveldb()->OpenInMemory(GetProxy(&database), Capture(&error)); 64 leveldb()->OpenInMemory(GetProxy(&database), Capture(&error));
65 ASSERT_TRUE(leveldb().WaitForIncomingResponse()); 65 ASSERT_TRUE(leveldb().WaitForIncomingResponse());
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after
183 database->Get(mojo::Array<uint8_t>::From(std::string("prefix-key2")), 183 database->Get(mojo::Array<uint8_t>::From(std::string("prefix-key2")),
184 Capture(&error, &value)); 184 Capture(&error, &value));
185 ASSERT_TRUE(database.WaitForIncomingResponse()); 185 ASSERT_TRUE(database.WaitForIncomingResponse());
186 EXPECT_EQ(DatabaseError::NOT_FOUND, error); 186 EXPECT_EQ(DatabaseError::NOT_FOUND, error);
187 EXPECT_EQ("", value.To<std::string>()); 187 EXPECT_EQ("", value.To<std::string>());
188 } 188 }
189 189
190 TEST_F(LevelDBServiceTest, Reconnect) { 190 TEST_F(LevelDBServiceTest, Reconnect) {
191 DatabaseError error; 191 DatabaseError error;
192 192
193 filesystem::DirectoryPtr temp_directory; 193 filesystem::mojom::DirectoryPtr temp_directory;
194 GetTempDirectory(&temp_directory); 194 GetTempDirectory(&temp_directory);
195 195
196 { 196 {
197 filesystem::DirectoryPtr directory; 197 filesystem::mojom::DirectoryPtr directory;
198 temp_directory->Clone(GetProxy(&directory)); 198 temp_directory->Clone(GetProxy(&directory));
199 199
200 LevelDBDatabasePtr database; 200 LevelDBDatabasePtr database;
201 leveldb::OpenOptionsPtr options = leveldb::OpenOptions::New(); 201 leveldb::OpenOptionsPtr options = leveldb::OpenOptions::New();
202 options->error_if_exists = true; 202 options->error_if_exists = true;
203 options->create_if_missing = true; 203 options->create_if_missing = true;
204 leveldb()->OpenWithOptions(std::move(options), 204 leveldb()->OpenWithOptions(std::move(options),
205 std::move(directory), "test", 205 std::move(directory), "test",
206 GetProxy(&database), 206 GetProxy(&database),
207 Capture(&error)); 207 Capture(&error));
208 ASSERT_TRUE(leveldb().WaitForIncomingResponse()); 208 ASSERT_TRUE(leveldb().WaitForIncomingResponse());
209 EXPECT_EQ(DatabaseError::OK, error); 209 EXPECT_EQ(DatabaseError::OK, error);
210 210
211 // Write a key to the database. 211 // Write a key to the database.
212 error = DatabaseError::INVALID_ARGUMENT; 212 error = DatabaseError::INVALID_ARGUMENT;
213 database->Put(mojo::Array<uint8_t>::From(std::string("key")), 213 database->Put(mojo::Array<uint8_t>::From(std::string("key")),
214 mojo::Array<uint8_t>::From(std::string("value")), 214 mojo::Array<uint8_t>::From(std::string("value")),
215 Capture(&error)); 215 Capture(&error));
216 ASSERT_TRUE(database.WaitForIncomingResponse()); 216 ASSERT_TRUE(database.WaitForIncomingResponse());
217 EXPECT_EQ(DatabaseError::OK, error); 217 EXPECT_EQ(DatabaseError::OK, error);
218 218
219 // The database should go out of scope here. 219 // The database should go out of scope here.
220 } 220 }
221 221
222 { 222 {
223 filesystem::DirectoryPtr directory; 223 filesystem::mojom::DirectoryPtr directory;
224 temp_directory->Clone(GetProxy(&directory)); 224 temp_directory->Clone(GetProxy(&directory));
225 225
226 // Reconnect to the database. 226 // Reconnect to the database.
227 LevelDBDatabasePtr database; 227 LevelDBDatabasePtr database;
228 leveldb()->Open(std::move(directory), "test", GetProxy(&database), 228 leveldb()->Open(std::move(directory), "test", GetProxy(&database),
229 Capture(&error)); 229 Capture(&error));
230 ASSERT_TRUE(leveldb().WaitForIncomingResponse()); 230 ASSERT_TRUE(leveldb().WaitForIncomingResponse());
231 EXPECT_EQ(DatabaseError::OK, error); 231 EXPECT_EQ(DatabaseError::OK, error);
232 232
233 // We should still be able to read the key back from the database. 233 // We should still be able to read the key back from the database.
(...skipping 258 matching lines...) Expand 10 before | Expand all | Expand 10 after
492 key_values.SetToEmpty(); 492 key_values.SetToEmpty();
493 database->GetPrefixed(mojo::Array<uint8_t>::From(prefix), 493 database->GetPrefixed(mojo::Array<uint8_t>::From(prefix),
494 Capture(&error, &key_values)); 494 Capture(&error, &key_values));
495 ASSERT_TRUE(database.WaitForIncomingResponse()); 495 ASSERT_TRUE(database.WaitForIncomingResponse());
496 EXPECT_EQ(DatabaseError::OK, error); 496 EXPECT_EQ(DatabaseError::OK, error);
497 EXPECT_TRUE(key_values.empty()); 497 EXPECT_TRUE(key_values.empty());
498 } 498 }
499 499
500 } // namespace 500 } // namespace
501 } // namespace leveldb 501 } // namespace leveldb
OLDNEW
« no previous file with comments | « components/leveldb/leveldb_service_impl.cc ('k') | components/leveldb/public/interfaces/leveldb.mojom » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698