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

Side by Side Diff: chrome/browser/sync_file_system/drive_backend/fake_api_util_unittest.cc

Issue 23787003: [SyncFS] Move SyncFS V1 files from drive_backend to drive_backend_v1 (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: move back metadata_db_migration_util* Created 7 years, 3 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
OLDNEW
(Empty)
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
3 // found in the LICENSE file.
4
5 #include "chrome/browser/sync_file_system/drive_backend/fake_api_util.h"
6
7 #include <string>
8
9 #include "base/bind.h"
10 #include "base/files/file_path.h"
11 #include "base/message_loop/message_loop.h"
12 #include "chrome/browser/google_apis/gdata_errorcode.h"
13 #include "testing/gtest/include/gtest/gtest.h"
14 #include "webkit/common/blob/scoped_file.h"
15
16 namespace sync_file_system {
17 namespace drive_backend {
18
19 namespace {
20
21 void DidDownloadFile(google_apis::GDataErrorCode* error_out,
22 std::string* file_md5_out,
23 google_apis::GDataErrorCode error,
24 const std::string& file_md5,
25 int64 file_size,
26 const base::Time& updated_time,
27 scoped_ptr<webkit_blob::ScopedFile> downloaded_file) {
28 *error_out = error;
29 *file_md5_out = file_md5;
30 }
31
32 void DidGetChangeList(google_apis::GDataErrorCode* error_out,
33 scoped_ptr<google_apis::ResourceList>* change_list_out,
34 google_apis::GDataErrorCode error,
35 scoped_ptr<google_apis::ResourceList> change_list) {
36 *error_out = error;
37 *change_list_out = change_list.Pass();
38 }
39
40 void DidDeleteFile(google_apis::GDataErrorCode* error_out,
41 google_apis::GDataErrorCode error) {
42 *error_out = error;
43 }
44
45 } // namespace
46
47 TEST(FakeAPIUtilTest, ChangeSquashTest) {
48 base::MessageLoop message_loop;
49 FakeAPIUtil api_util;
50 std::string kParentResourceId("parent resource id");
51 std::string kParentTitle("app-id");
52 std::string kTitle1("title 1");
53 std::string kTitle2("title 2");
54 std::string kTitle3("title 3");
55 std::string kResourceId1("resource id 1");
56 std::string kResourceId2("resource id 2");
57 std::string kMD5_1("md5 1");
58 std::string kMD5_2("md5 2");
59 std::string kMD5_3("md5 3");
60
61 api_util.PushRemoteChange(kParentResourceId,
62 kParentTitle,
63 kTitle1,
64 kResourceId1,
65 kMD5_1,
66 SYNC_FILE_TYPE_FILE,
67 false /* deleted */);
68 api_util.PushRemoteChange(kParentResourceId,
69 kParentTitle,
70 kTitle1,
71 kResourceId1,
72 kMD5_1,
73 SYNC_FILE_TYPE_FILE,
74 false /* deleted */);
75 api_util.PushRemoteChange(kParentResourceId,
76 kParentTitle,
77 kTitle1,
78 kResourceId1,
79 kMD5_1,
80 SYNC_FILE_TYPE_FILE,
81 true /* deleted */);
82 api_util.PushRemoteChange(kParentResourceId,
83 kParentTitle,
84 kTitle2,
85 kResourceId2,
86 kMD5_2,
87 SYNC_FILE_TYPE_FILE,
88 false /* deleted */);
89 api_util.PushRemoteChange(kParentResourceId,
90 kParentTitle,
91 kTitle3,
92 kResourceId2,
93 kMD5_3,
94 SYNC_FILE_TYPE_FILE,
95 false /* deleted */);
96
97 google_apis::GDataErrorCode error;
98 std::string md5;
99 api_util.DownloadFile(kResourceId1,
100 kMD5_1,
101 base::Bind(DidDownloadFile, &error, &md5));
102 message_loop.RunUntilIdle();
103 EXPECT_EQ(google_apis::HTTP_NOT_FOUND, error);
104 EXPECT_TRUE(md5.empty());
105
106 scoped_ptr<google_apis::ResourceList> change_list;
107 api_util.ListChanges(0, base::Bind(&DidGetChangeList, &error, &change_list));
108 message_loop.RunUntilIdle();
109 EXPECT_EQ(2u, change_list->entries().size());
110
111 EXPECT_EQ(kResourceId1, change_list->entries()[0]->resource_id());
112 EXPECT_TRUE(change_list->entries()[0]->deleted());
113
114 EXPECT_EQ(kResourceId2, change_list->entries()[1]->resource_id());
115 EXPECT_EQ(kMD5_3, change_list->entries()[1]->file_md5());
116 EXPECT_FALSE(change_list->entries()[1]->deleted());
117 }
118
119 TEST(FakeAPIUtilTest, DeleteFile) {
120 base::MessageLoop message_loop;
121 FakeAPIUtil api_util;
122 std::string resource_id = "resource_id_to_be_deleted";
123 api_util.PushRemoteChange("parent_id",
124 "parent_title",
125 "resource_title",
126 resource_id,
127 "resource_md5",
128 SYNC_FILE_TYPE_FILE,
129 false /* deleted */);
130
131 google_apis::GDataErrorCode error = google_apis::HTTP_NOT_FOUND;
132 api_util.DeleteFile(
133 resource_id, std::string(), base::Bind(&DidDeleteFile, &error));
134 message_loop.RunUntilIdle();
135
136 EXPECT_EQ(google_apis::HTTP_SUCCESS, error);
137 EXPECT_TRUE(api_util.remote_resources().find(resource_id)->second.deleted);
138 }
139
140 } // namespace drive_backend
141 } // namespace sync_file_system
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698