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

Side by Side Diff: chrome/browser/chromeos/gdata/gdata_db_unittest.cc

Issue 10168025: GDataDB support with leveldb. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 8 years, 8 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 | Annotate | Revision Log
Property Changes:
Added: svn:eol-style
+ LF
OLDNEW
(Empty)
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
3 // found in the LICENSE file.
4
5 #include "chrome/browser/chromeos/gdata/gdata_db.h"
6
7 #include "chrome/browser/chromeos/gdata/gdata_files.h"
8 #include "testing/gtest/include/gtest/gtest.h"
9 #include "chrome/test/base/testing_profile.h"
10
11 namespace gdata {
12 namespace {
13
14 class GDataDBTest : public testing::Test {
15 public:
16 GDataDBTest() {
17 }
18
19 virtual ~GDataDBTest() {
20 }
21
22 protected:
23 virtual void SetUp() OVERRIDE;
24
25 void TestGetNotFound(const std::string& file_name,
26 const std::string& resource_id);
27
28 void TestGetFound(const std::string& file_name,
29 const std::string& resource_id,
30 const GURL& content_url);
31
32 scoped_ptr<TestingProfile> profile_;
33 scoped_ptr<GDataDB> gdata_db_;
34 };
35
36 void GDataDBTest::SetUp() {
37 profile_.reset(new TestingProfile());
38 gdata_db_ = GDataDB::Create(profile_->GetPath().Append("testdb"));
39 }
40
41 void GDataDBTest::TestGetNotFound(const std::string& file_name,
42 const std::string& resource_id) {
43 scoped_ptr<GDataEntry> entry;
44 GDataDB::Status status = gdata_db_->GetByPath(file_name, &entry);
45 EXPECT_EQ(GDataDB::DB_NOT_FOUND, status);
46 EXPECT_FALSE(entry.get());
47
48 status = gdata_db_->GetByResourceId(resource_id, &entry);
49 EXPECT_EQ(GDataDB::DB_NOT_FOUND, status);
50 EXPECT_FALSE(entry.get());
51 }
52
53 void GDataDBTest::TestGetFound(const std::string& file_name,
54 const std::string& resource_id,
55 const GURL& content_url) {
56 scoped_ptr<GDataEntry> entry;
57 GDataDB::Status status = gdata_db_->GetByPath(file_name, &entry);
58 EXPECT_EQ(GDataDB::DB_OK, status);
59 ASSERT_TRUE(entry.get());
60 EXPECT_EQ(file_name, entry->file_name());
61 EXPECT_EQ(resource_id, entry->resource_id());
62 EXPECT_EQ(content_url, entry->content_url());
63 entry.reset();
64
65 status = gdata_db_->GetByResourceId(resource_id, &entry);
66 EXPECT_EQ(GDataDB::DB_OK, status);
67 ASSERT_TRUE(entry.get());
68 EXPECT_EQ(file_name, entry->file_name());
69 EXPECT_EQ(resource_id, entry->resource_id());
70 EXPECT_EQ(content_url, entry->content_url());
71 }
72
73 } // namespace
74
75 TEST_F(GDataDBTest, FileTest) {
76 GDataFile file1(NULL, NULL);
77 const std::string file_name1("/gdata/dir1/file1");
78 const std::string resource_id1("abcd");
79 const GURL content_url1("http://content/dir1/file1");
80 const std::string file_md51("ijkl");
81 base::PlatformFileInfo file_info;
82 file_info.is_directory = false;
83 file1.set_file_name(file_name1);
84 file1.set_file_info(file_info);
85 file1.set_resource_id(resource_id1);
86 file1.set_content_url(content_url1);
87 file1.set_file_md5(file_md51);
88
89 TestGetNotFound(file_name1, resource_id1);
90
91 GDataDB::Status status = gdata_db_->Put(file1);
92 EXPECT_EQ(GDataDB::DB_OK, status);
93
94 TestGetFound(file_name1, resource_id1, content_url1);
95
96 scoped_ptr<GDataEntry> entry;
97 gdata_db_->GetByPath(file_name1, &entry);
98 EXPECT_EQ(file_md51, entry->AsGDataFile()->file_md5());
99
100 status = gdata_db_->DeleteByPath(file_name1);
101 EXPECT_EQ(GDataDB::DB_OK, status);
102
103 TestGetNotFound(file_name1, resource_id1);
104 }
105
106 TEST_F(GDataDBTest, DirTest) {
107 GDataDirectory dir1(NULL, NULL);
108 const std::string dir_name1("/gdata/dir1");
109 const std::string dir_resource_id1("efgh");
110 const GURL dir_content_url1("http://content/dir1");
111 const GURL upload_url1("http://upload/dir1");
112 base::PlatformFileInfo dir_info;
113 dir_info.is_directory = true;
114 dir1.set_file_name(dir_name1);
115 dir1.set_file_info(dir_info);
116 dir1.set_resource_id(dir_resource_id1);
117 dir1.set_content_url(dir_content_url1);
118 dir1.set_upload_url(upload_url1);
119
120 TestGetNotFound(dir_name1, dir_resource_id1);
121
122 GDataDB::Status status = gdata_db_->Put(dir1);
123 EXPECT_EQ(GDataDB::DB_OK, status);
124
125 TestGetFound(dir_name1, dir_resource_id1, dir_content_url1);
126
127 scoped_ptr<GDataEntry> entry;
128 gdata_db_->GetByPath(dir_name1, &entry);
129 EXPECT_EQ(upload_url1, entry->AsGDataDirectory()->upload_url());
130
131 status = gdata_db_->DeleteByPath(dir_name1);
132 EXPECT_EQ(GDataDB::DB_OK, status);
133
134 TestGetNotFound(dir_name1, dir_resource_id1);
135 }
136
137 } // namespace gdata
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698