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

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

Powered by Google App Engine
This is Rietveld 408576698