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

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

Issue 209663006: [fsp] Simplify ID of provided file systems. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Addressed comments. Created 6 years, 9 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 6
7 #include "base/memory/scoped_ptr.h" 7 #include "base/memory/scoped_ptr.h"
8 #include "base/memory/scoped_vector.h" 8 #include "base/memory/scoped_vector.h"
9 #include "chrome/browser/chromeos/file_system_provider/observer.h" 9 #include "chrome/browser/chromeos/file_system_provider/observer.h"
10 #include "chrome/browser/chromeos/file_system_provider/provided_file_system.h" 10 #include "chrome/browser/chromeos/file_system_provider/provided_file_system.h"
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
66 scoped_ptr<TestingProfile> profile_; 66 scoped_ptr<TestingProfile> profile_;
67 scoped_ptr<ScopedUserManagerEnabler> user_manager_enabler_; 67 scoped_ptr<ScopedUserManagerEnabler> user_manager_enabler_;
68 FakeUserManager* user_manager_; 68 FakeUserManager* user_manager_;
69 scoped_ptr<Service> file_system_provider_service_; 69 scoped_ptr<Service> file_system_provider_service_;
70 }; 70 };
71 71
72 TEST_F(FileSystemProviderServiceTest, RegisterFileSystem) { 72 TEST_F(FileSystemProviderServiceTest, RegisterFileSystem) {
73 LoggingObserver observer; 73 LoggingObserver observer;
74 file_system_provider_service_->AddObserver(&observer); 74 file_system_provider_service_->AddObserver(&observer);
75 75
76 const std::string file_system_id = 76 int file_system_id = file_system_provider_service_->RegisterFileSystem(
77 file_system_provider_service_->RegisterFileSystem(kExtensionId, 77 kExtensionId, kFileSystemName);
78 kFileSystemName);
79 78
80 EXPECT_NE("", file_system_id); 79 EXPECT_LT(0, file_system_id);
81 ASSERT_EQ(1u, observer.registered.size()); 80 ASSERT_EQ(1u, observer.registered.size());
82 EXPECT_EQ(kExtensionId, observer.registered[0]->extension_id()); 81 EXPECT_EQ(kExtensionId, observer.registered[0]->extension_id());
83 EXPECT_EQ("mbflcebpggnecokmikipoihdbecnjfoj-1-testing_profile-hash", 82 EXPECT_EQ(1, observer.registered[0]->file_system_id());
84 observer.registered[0]->file_system_id());
85 EXPECT_EQ("/provided/mbflcebpggnecokmikipoihdbecnjfoj-1-testing_profile-hash", 83 EXPECT_EQ("/provided/mbflcebpggnecokmikipoihdbecnjfoj-1-testing_profile-hash",
86 observer.registered[0]->mount_path().AsUTF8Unsafe()); 84 observer.registered[0]->mount_path().AsUTF8Unsafe());
87 EXPECT_EQ(kFileSystemName, observer.registered[0]->file_system_name()); 85 EXPECT_EQ(kFileSystemName, observer.registered[0]->file_system_name());
88 ASSERT_EQ(0u, observer.unregistered.size()); 86 ASSERT_EQ(0u, observer.unregistered.size());
89 87
90 std::vector<ProvidedFileSystem> provided_file_systems = 88 std::vector<ProvidedFileSystem> provided_file_systems =
91 file_system_provider_service_->GetRegisteredFileSystems(); 89 file_system_provider_service_->GetRegisteredFileSystems();
92 ASSERT_EQ(1u, provided_file_systems.size()); 90 ASSERT_EQ(1u, provided_file_systems.size());
93 91
94 file_system_provider_service_->RemoveObserver(&observer); 92 file_system_provider_service_->RemoveObserver(&observer);
95 } 93 }
96 94
97 TEST_F(FileSystemProviderServiceTest, RegisterFileSystem_UniqueIds) { 95 TEST_F(FileSystemProviderServiceTest, RegisterFileSystem_UniqueIds) {
98 LoggingObserver observer; 96 LoggingObserver observer;
99 file_system_provider_service_->AddObserver(&observer); 97 file_system_provider_service_->AddObserver(&observer);
100 98
101 std::string file_system_first_id = 99 int file_system_first_id = file_system_provider_service_->RegisterFileSystem(
102 file_system_provider_service_->RegisterFileSystem(kExtensionId, 100 kExtensionId, kFileSystemName);
103 kFileSystemName); 101 ASSERT_LT(0, file_system_first_id);
104 ASSERT_NE("", file_system_first_id);
105 102
106 std::string file_system_second_id = 103 int file_system_second_id = file_system_provider_service_->RegisterFileSystem(
107 file_system_provider_service_->RegisterFileSystem(kExtensionId, 104 kExtensionId, kFileSystemName);
108 kFileSystemName); 105 ASSERT_LT(0, file_system_second_id);
109 ASSERT_NE("", file_system_second_id);
110 106
111 ASSERT_NE(file_system_first_id, file_system_second_id); 107 ASSERT_NE(file_system_first_id, file_system_second_id);
112 ASSERT_EQ(2u, observer.registered.size()); 108 ASSERT_EQ(2u, observer.registered.size());
113 109
114 std::vector<ProvidedFileSystem> provided_file_systems = 110 std::vector<ProvidedFileSystem> provided_file_systems =
115 file_system_provider_service_->GetRegisteredFileSystems(); 111 file_system_provider_service_->GetRegisteredFileSystems();
116 ASSERT_EQ(2u, provided_file_systems.size()); 112 ASSERT_EQ(2u, provided_file_systems.size());
117 113
118 file_system_provider_service_->RemoveObserver(&observer); 114 file_system_provider_service_->RemoveObserver(&observer);
119 } 115 }
120 116
121 TEST_F(FileSystemProviderServiceTest, RegisterFileSystem_StressTest) { 117 TEST_F(FileSystemProviderServiceTest, RegisterFileSystem_StressTest) {
122 LoggingObserver observer; 118 LoggingObserver observer;
123 file_system_provider_service_->AddObserver(&observer); 119 file_system_provider_service_->AddObserver(&observer);
124 120
125 const size_t kMaxFileSystems = 16; 121 const size_t kMaxFileSystems = 16;
126 for (size_t i = 0; i < kMaxFileSystems; ++i) { 122 for (size_t i = 0; i < kMaxFileSystems; ++i) {
127 std::string file_system_id = 123 int file_system_id = file_system_provider_service_->RegisterFileSystem(
128 file_system_provider_service_->RegisterFileSystem(kExtensionId, 124 kExtensionId, kFileSystemName);
129 kFileSystemName); 125 ASSERT_LT(0, file_system_id);
130 ASSERT_NE("", file_system_id);
131 } 126 }
132 ASSERT_EQ(kMaxFileSystems, observer.registered.size()); 127 ASSERT_EQ(kMaxFileSystems, observer.registered.size());
133 128
134 // The next file system is out of limit, and registering it should fail. 129 // The next file system is out of limit, and registering it should fail.
135 std::string file_system_id = 130 int file_system_id = file_system_provider_service_->RegisterFileSystem(
136 file_system_provider_service_->RegisterFileSystem(kExtensionId, 131 kExtensionId, kFileSystemName);
137 kFileSystemName); 132 ASSERT_EQ(0, file_system_id);
138 ASSERT_EQ("", file_system_id);
139 ASSERT_EQ(kMaxFileSystems, observer.registered.size()); 133 ASSERT_EQ(kMaxFileSystems, observer.registered.size());
140 134
141 std::vector<ProvidedFileSystem> provided_file_systems = 135 std::vector<ProvidedFileSystem> provided_file_systems =
142 file_system_provider_service_->GetRegisteredFileSystems(); 136 file_system_provider_service_->GetRegisteredFileSystems();
143 ASSERT_EQ(kMaxFileSystems, provided_file_systems.size()); 137 ASSERT_EQ(kMaxFileSystems, provided_file_systems.size());
144 138
145 file_system_provider_service_->RemoveObserver(&observer); 139 file_system_provider_service_->RemoveObserver(&observer);
146 } 140 }
147 141
148 TEST_F(FileSystemProviderServiceTest, UnregisterFileSystem) { 142 TEST_F(FileSystemProviderServiceTest, UnregisterFileSystem) {
149 LoggingObserver observer; 143 LoggingObserver observer;
150 file_system_provider_service_->AddObserver(&observer); 144 file_system_provider_service_->AddObserver(&observer);
151 145
152 const std::string file_system_id = 146 int file_system_id = file_system_provider_service_->RegisterFileSystem(
153 file_system_provider_service_->RegisterFileSystem(kExtensionId, 147 kExtensionId, kFileSystemName);
154 kFileSystemName); 148 ASSERT_LT(0, file_system_id);
155 ASSERT_NE("", file_system_id);
156 ASSERT_EQ(1u, observer.registered.size()); 149 ASSERT_EQ(1u, observer.registered.size());
157 150
158 const bool result = file_system_provider_service_->UnregisterFileSystem( 151 const bool result = file_system_provider_service_->UnregisterFileSystem(
159 kExtensionId, file_system_id); 152 kExtensionId, file_system_id);
160 ASSERT_TRUE(result); 153 ASSERT_TRUE(result);
161 ASSERT_EQ(1u, observer.unregistered.size()); 154 ASSERT_EQ(1u, observer.unregistered.size());
162 155
163 EXPECT_EQ(kExtensionId, observer.unregistered[0]->extension_id()); 156 EXPECT_EQ(kExtensionId, observer.unregistered[0]->extension_id());
164 EXPECT_EQ("mbflcebpggnecokmikipoihdbecnjfoj-1-testing_profile-hash", 157 EXPECT_EQ(1, observer.unregistered[0]->file_system_id());
165 observer.unregistered[0]->file_system_id());
166 EXPECT_EQ("/provided/mbflcebpggnecokmikipoihdbecnjfoj-1-testing_profile-hash", 158 EXPECT_EQ("/provided/mbflcebpggnecokmikipoihdbecnjfoj-1-testing_profile-hash",
167 observer.unregistered[0]->mount_path().AsUTF8Unsafe()); 159 observer.unregistered[0]->mount_path().AsUTF8Unsafe());
168 EXPECT_EQ(kFileSystemName, observer.unregistered[0]->file_system_name()); 160 EXPECT_EQ(kFileSystemName, observer.unregistered[0]->file_system_name());
169 161
170 std::vector<ProvidedFileSystem> provided_file_systems = 162 std::vector<ProvidedFileSystem> provided_file_systems =
171 file_system_provider_service_->GetRegisteredFileSystems(); 163 file_system_provider_service_->GetRegisteredFileSystems();
172 ASSERT_EQ(0u, provided_file_systems.size()); 164 ASSERT_EQ(0u, provided_file_systems.size());
173 165
174 file_system_provider_service_->RemoveObserver(&observer); 166 file_system_provider_service_->RemoveObserver(&observer);
175 } 167 }
176 168
177 TEST_F(FileSystemProviderServiceTest, UnregisterFileSystem_WrongExtensionId) { 169 TEST_F(FileSystemProviderServiceTest, UnregisterFileSystem_WrongExtensionId) {
178 LoggingObserver observer; 170 LoggingObserver observer;
179 file_system_provider_service_->AddObserver(&observer); 171 file_system_provider_service_->AddObserver(&observer);
180 172
181 const std::string kWrongExtensionId = "helloworldhelloworldhelloworldhe"; 173 const std::string kWrongExtensionId = "helloworldhelloworldhelloworldhe";
182 174
183 const std::string file_system_id = 175 int file_system_id = file_system_provider_service_->RegisterFileSystem(
184 file_system_provider_service_->RegisterFileSystem(kExtensionId, 176 kExtensionId, kFileSystemName);
185 kFileSystemName); 177 ASSERT_LT(0, file_system_id);
186 ASSERT_NE("", file_system_id);
187 ASSERT_EQ(1u, observer.registered.size()); 178 ASSERT_EQ(1u, observer.registered.size());
188 179
189 const bool result = file_system_provider_service_->UnregisterFileSystem( 180 const bool result = file_system_provider_service_->UnregisterFileSystem(
190 kWrongExtensionId, file_system_id); 181 kWrongExtensionId, file_system_id);
191 ASSERT_FALSE(result); 182 ASSERT_FALSE(result);
192 ASSERT_EQ(0u, observer.unregistered.size()); 183 ASSERT_EQ(0u, observer.unregistered.size());
193 184
194 std::vector<ProvidedFileSystem> provided_file_systems = 185 std::vector<ProvidedFileSystem> provided_file_systems =
195 file_system_provider_service_->GetRegisteredFileSystems(); 186 file_system_provider_service_->GetRegisteredFileSystems();
196 ASSERT_EQ(1u, provided_file_systems.size()); 187 ASSERT_EQ(1u, provided_file_systems.size());
197 188
198 file_system_provider_service_->RemoveObserver(&observer); 189 file_system_provider_service_->RemoveObserver(&observer);
199 } 190 }
200 191
201 } // namespace file_system_provider 192 } // namespace file_system_provider
202 } // namespace chromeos 193 } // namespace chromeos
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/file_system_provider/service.cc ('k') | chrome/common/extensions/api/file_system_provider.idl » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698