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

Side by Side Diff: chrome/browser/chromeos/file_system_provider/provided_file_system_unittest.cc

Issue 239993002: [fsp] Create a RequestManager per a ProvidedFileSystem instance. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fixed and rebased. Created 6 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
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 <vector> 6 #include <vector>
7 7
8 #include "base/files/file.h" 8 #include "base/files/file.h"
9 #include "base/memory/scoped_ptr.h" 9 #include "base/memory/scoped_ptr.h"
10 #include "base/run_loop.h" 10 #include "base/run_loop.h"
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
77 } // namespace 77 } // namespace
78 78
79 class FileSystemProviderProvidedFileSystemTest : public testing::Test { 79 class FileSystemProviderProvidedFileSystemTest : public testing::Test {
80 protected: 80 protected:
81 FileSystemProviderProvidedFileSystemTest() {} 81 FileSystemProviderProvidedFileSystemTest() {}
82 virtual ~FileSystemProviderProvidedFileSystemTest() {} 82 virtual ~FileSystemProviderProvidedFileSystemTest() {}
83 83
84 virtual void SetUp() OVERRIDE { 84 virtual void SetUp() OVERRIDE {
85 profile_.reset(new TestingProfile); 85 profile_.reset(new TestingProfile);
86 event_router_.reset(new FakeEventRouter(profile_.get())); 86 event_router_.reset(new FakeEventRouter(profile_.get()));
87 request_manager_.reset(new RequestManager());
88 base::FilePath mount_path = 87 base::FilePath mount_path =
89 util::GetMountPointPath(profile_.get(), kExtensionId, kFileSystemId); 88 util::GetMountPointPath(profile_.get(), kExtensionId, kFileSystemId);
90 file_system_info_.reset(new ProvidedFileSystemInfo( 89 file_system_info_.reset(new ProvidedFileSystemInfo(
91 kExtensionId, kFileSystemId, kFileSystemName, mount_path)); 90 kExtensionId, kFileSystemId, kFileSystemName, mount_path));
92 provided_file_system_.reset(new ProvidedFileSystem( 91 provided_file_system_.reset(
93 event_router_.get(), request_manager_.get(), *file_system_info_.get())); 92 new ProvidedFileSystem(event_router_.get(), *file_system_info_.get()));
94 } 93 }
95 94
96 content::TestBrowserThreadBundle thread_bundle_; 95 content::TestBrowserThreadBundle thread_bundle_;
97 scoped_ptr<TestingProfile> profile_; 96 scoped_ptr<TestingProfile> profile_;
98 scoped_ptr<FakeEventRouter> event_router_; 97 scoped_ptr<FakeEventRouter> event_router_;
99 scoped_ptr<RequestManager> request_manager_;
100 scoped_ptr<ProvidedFileSystemInfo> file_system_info_; 98 scoped_ptr<ProvidedFileSystemInfo> file_system_info_;
101 scoped_ptr<ProvidedFileSystemInterface> provided_file_system_; 99 scoped_ptr<ProvidedFileSystemInterface> provided_file_system_;
102 }; 100 };
103 101
104 TEST_F(FileSystemProviderProvidedFileSystemTest, RequestUnmount_Success) { 102 TEST_F(FileSystemProviderProvidedFileSystemTest, RequestUnmount_Success) {
105 EventLogger logger; 103 EventLogger logger;
106 104
107 bool result = provided_file_system_->RequestUnmount( 105 bool result = provided_file_system_->RequestUnmount(
108 base::Bind(&EventLogger::OnStatusCallback, logger.GetWeakPtr())); 106 base::Bind(&EventLogger::OnStatusCallback, logger.GetWeakPtr()));
109 ASSERT_TRUE(result); 107 ASSERT_TRUE(result);
(...skipping 12 matching lines...) Expand all
122 120
123 // Remember the request id, and verify it is valid. 121 // Remember the request id, and verify it is valid.
124 int request_id = 0; 122 int request_id = 0;
125 EXPECT_TRUE(event_args->GetInteger(1, &request_id)); 123 EXPECT_TRUE(event_args->GetInteger(1, &request_id));
126 EXPECT_EQ(kExpectedRequestId, request_id); 124 EXPECT_EQ(kExpectedRequestId, request_id);
127 125
128 // Callback should not be called, yet. 126 // Callback should not be called, yet.
129 EXPECT_FALSE(logger.error()); 127 EXPECT_FALSE(logger.error());
130 128
131 // Simulate sending a success response from the providing extension. 129 // Simulate sending a success response from the providing extension.
130 RequestManager* request_manager = provided_file_system_->GetRequestManager();
131 ASSERT_TRUE(request_manager);
132 scoped_ptr<base::DictionaryValue> response(new base::DictionaryValue()); 132 scoped_ptr<base::DictionaryValue> response(new base::DictionaryValue());
133 bool reply_result = request_manager_->FulfillRequest(kExtensionId, 133 bool reply_result = request_manager->FulfillRequest(
134 kFileSystemId, 134 request_id, response.Pass(), false /* has_next */);
135 request_id,
136 response.Pass(),
137 false /* has_next */);
138 EXPECT_TRUE(reply_result); 135 EXPECT_TRUE(reply_result);
139 136
140 // Callback should be called. Verify the error code. 137 // Callback should be called. Verify the error code.
141 ASSERT_TRUE(logger.error()); 138 ASSERT_TRUE(logger.error());
142 EXPECT_EQ(base::File::FILE_OK, *logger.error()); 139 EXPECT_EQ(base::File::FILE_OK, *logger.error());
143 } 140 }
144 141
145 TEST_F(FileSystemProviderProvidedFileSystemTest, RequestUnmount_Error) { 142 TEST_F(FileSystemProviderProvidedFileSystemTest, RequestUnmount_Error) {
146 EventLogger logger; 143 EventLogger logger;
147 144
(...skipping 12 matching lines...) Expand all
160 int file_system_id = 0; 157 int file_system_id = 0;
161 EXPECT_TRUE(event_args->GetInteger(0, &file_system_id)); 158 EXPECT_TRUE(event_args->GetInteger(0, &file_system_id));
162 EXPECT_EQ(kFileSystemId, file_system_id); 159 EXPECT_EQ(kFileSystemId, file_system_id);
163 160
164 // Remember the request id, and verify it is valid. 161 // Remember the request id, and verify it is valid.
165 int request_id = 0; 162 int request_id = 0;
166 EXPECT_TRUE(event_args->GetInteger(1, &request_id)); 163 EXPECT_TRUE(event_args->GetInteger(1, &request_id));
167 EXPECT_EQ(kExpectedRequestId, request_id); 164 EXPECT_EQ(kExpectedRequestId, request_id);
168 165
169 // Simulate sending an error response from the providing extension. 166 // Simulate sending an error response from the providing extension.
170 bool reply_result = 167 RequestManager* request_manager = provided_file_system_->GetRequestManager();
171 request_manager_->RejectRequest(kExtensionId, 168 ASSERT_TRUE(request_manager);
172 kFileSystemId, 169 bool reply_result = request_manager->RejectRequest(
173 request_id, 170 request_id, base::File::FILE_ERROR_NOT_FOUND);
174 base::File::FILE_ERROR_NOT_FOUND);
175 EXPECT_TRUE(reply_result); 171 EXPECT_TRUE(reply_result);
176 172
177 // Callback should be called. Verify the error code. 173 // Callback should be called. Verify the error code.
178 ASSERT_TRUE(logger.error()); 174 ASSERT_TRUE(logger.error());
179 EXPECT_EQ(base::File::FILE_ERROR_NOT_FOUND, *logger.error()); 175 EXPECT_EQ(base::File::FILE_ERROR_NOT_FOUND, *logger.error());
180 } 176 }
181 177
182 } // namespace file_system_provider 178 } // namespace file_system_provider
183 } // namespace chromeos 179 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698