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

Side by Side Diff: chromeos/network/network_configuration_handler_unittest.cc

Issue 11414101: This adds ManagedNetworkConfigurationHandler first pass (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: upload after merge Created 7 years, 10 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
« no previous file with comments | « chromeos/network/network_configuration_handler.cc ('k') | chromeos/network/network_state.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 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 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 "base/bind.h" 5 #include "base/bind.h"
6 #include "base/json/json_writer.h" 6 #include "base/json/json_writer.h"
7 #include "base/message_loop.h" 7 #include "base/message_loop.h"
8 #include "base/string_piece.h" 8 #include "base/string_piece.h"
9 #include "base/values.h" 9 #include "base/values.h"
10 #include "chromeos/dbus/dbus_thread_manager.h" 10 #include "chromeos/dbus/dbus_thread_manager.h"
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
81 MockDBusThreadManager* mock_dbus_thread_manager = new MockDBusThreadManager; 81 MockDBusThreadManager* mock_dbus_thread_manager = new MockDBusThreadManager;
82 EXPECT_CALL(*mock_dbus_thread_manager, GetSystemBus()) 82 EXPECT_CALL(*mock_dbus_thread_manager, GetSystemBus())
83 .WillRepeatedly(Return(reinterpret_cast<dbus::Bus*>(NULL))); 83 .WillRepeatedly(Return(reinterpret_cast<dbus::Bus*>(NULL)));
84 DBusThreadManager::InitializeForTesting(mock_dbus_thread_manager); 84 DBusThreadManager::InitializeForTesting(mock_dbus_thread_manager);
85 mock_manager_client_ = 85 mock_manager_client_ =
86 mock_dbus_thread_manager->mock_shill_manager_client(); 86 mock_dbus_thread_manager->mock_shill_manager_client();
87 mock_service_client_ = 87 mock_service_client_ =
88 mock_dbus_thread_manager->mock_shill_service_client(); 88 mock_dbus_thread_manager->mock_shill_service_client();
89 89
90 // Initialize DBusThreadManager with a stub implementation. 90 // Initialize DBusThreadManager with a stub implementation.
91 configuration_handler_.reset(new NetworkConfigurationHandler); 91 NetworkConfigurationHandler::Initialize();
92 message_loop_.RunUntilIdle(); 92 message_loop_.RunUntilIdle();
93 } 93 }
94 94
95 virtual void TearDown() OVERRIDE { 95 virtual void TearDown() OVERRIDE {
96 configuration_handler_.reset(); 96 NetworkConfigurationHandler::Shutdown();
97 DBusThreadManager::Shutdown(); 97 DBusThreadManager::Shutdown();
98 } 98 }
99 99
100 // Handles responses for GetProperties method calls. 100 // Handles responses for GetProperties method calls.
101 void OnGetProperties( 101 void OnGetProperties(
102 const dbus::ObjectPath& path, 102 const dbus::ObjectPath& path,
103 const ShillClientHelper::DictionaryValueCallback& callback) { 103 const ShillClientHelper::DictionaryValueCallback& callback) {
104 callback.Run(DBUS_METHOD_CALL_SUCCESS, *dictionary_value_result_); 104 callback.Run(DBUS_METHOD_CALL_SUCCESS, *dictionary_value_result_);
105 } 105 }
106 106
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
152 callback.Run(dbus::ObjectPath("/service/2")); 152 callback.Run(dbus::ObjectPath("/service/2"));
153 } 153 }
154 154
155 void OnRemove(const dbus::ObjectPath& service_path, 155 void OnRemove(const dbus::ObjectPath& service_path,
156 const base::Closure& callback, 156 const base::Closure& callback,
157 const ShillClientHelper::ErrorCallback& error_callback) { 157 const ShillClientHelper::ErrorCallback& error_callback) {
158 callback.Run(); 158 callback.Run();
159 } 159 }
160 160
161 protected: 161 protected:
162 scoped_ptr<NetworkConfigurationHandler> configuration_handler_;
163 MockShillManagerClient* mock_manager_client_; 162 MockShillManagerClient* mock_manager_client_;
164 MockShillServiceClient* mock_service_client_; 163 MockShillServiceClient* mock_service_client_;
165 MessageLoop message_loop_; 164 MessageLoop message_loop_;
166 base::DictionaryValue* dictionary_value_result_; 165 base::DictionaryValue* dictionary_value_result_;
167 }; 166 };
168 167
169 TEST_F(NetworkConfigurationHandlerTest, GetProperties) { 168 TEST_F(NetworkConfigurationHandlerTest, GetProperties) {
170 std::string service_path = "/service/1"; 169 std::string service_path = "/service/1";
171 std::string expected_json = "{\n \"SSID\": \"MyNetwork\"\n}\n"; 170 std::string expected_json = "{\n \"SSID\": \"MyNetwork\"\n}\n";
172 std::string networkName = "MyNetwork"; 171 std::string networkName = "MyNetwork";
(...skipping 11 matching lines...) Expand all
184 dbus::ObjectPath(service_path), key, *networkNameValue, 183 dbus::ObjectPath(service_path), key, *networkNameValue,
185 base::Bind(&base::DoNothing), 184 base::Bind(&base::DoNothing),
186 base::Bind(&DBusErrorCallback)); 185 base::Bind(&DBusErrorCallback));
187 message_loop_.RunUntilIdle(); 186 message_loop_.RunUntilIdle();
188 187
189 ShillServiceClient::DictionaryValueCallback get_properties_callback; 188 ShillServiceClient::DictionaryValueCallback get_properties_callback;
190 EXPECT_CALL(*mock_service_client_, 189 EXPECT_CALL(*mock_service_client_,
191 GetProperties(_, _)).WillOnce( 190 GetProperties(_, _)).WillOnce(
192 Invoke(this, 191 Invoke(this,
193 &NetworkConfigurationHandlerTest::OnGetProperties)); 192 &NetworkConfigurationHandlerTest::OnGetProperties));
194 configuration_handler_->GetProperties( 193 NetworkConfigurationHandler::Get()->GetProperties(
195 service_path, 194 service_path,
196 base::Bind(&DictionaryValueCallback, 195 base::Bind(&DictionaryValueCallback,
197 service_path, 196 service_path,
198 expected_json), 197 expected_json),
199 base::Bind(&ErrorCallback, false, service_path)); 198 base::Bind(&ErrorCallback, false, service_path));
200 message_loop_.RunUntilIdle(); 199 message_loop_.RunUntilIdle();
201 } 200 }
202 201
203 TEST_F(NetworkConfigurationHandlerTest, SetProperties) { 202 TEST_F(NetworkConfigurationHandlerTest, SetProperties) {
204 std::string service_path = "/service/1"; 203 std::string service_path = "/service/1";
205 std::string networkName = "MyNetwork"; 204 std::string networkName = "MyNetwork";
206 std::string key = "SSID"; 205 std::string key = "SSID";
207 scoped_ptr<base::StringValue> networkNameValue( 206 scoped_ptr<base::StringValue> networkNameValue(
208 base::Value::CreateStringValue(networkName)); 207 base::Value::CreateStringValue(networkName));
209 208
210 base::DictionaryValue value; 209 base::DictionaryValue value;
211 value.Set(key, base::Value::CreateStringValue(networkName)); 210 value.Set(key, base::Value::CreateStringValue(networkName));
212 dictionary_value_result_ = &value; 211 dictionary_value_result_ = &value;
213 EXPECT_CALL(*mock_manager_client_, 212 EXPECT_CALL(*mock_manager_client_,
214 ConfigureService(_, _, _)).WillOnce( 213 ConfigureService(_, _, _)).WillOnce(
215 Invoke(this, 214 Invoke(this,
216 &NetworkConfigurationHandlerTest::OnSetProperties)); 215 &NetworkConfigurationHandlerTest::OnSetProperties));
217 configuration_handler_->SetProperties( 216 NetworkConfigurationHandler::Get()->SetProperties(
218 service_path, 217 service_path,
219 value, 218 value,
220 base::Bind(&base::DoNothing), 219 base::Bind(&base::DoNothing),
221 base::Bind(&ErrorCallback, false, service_path)); 220 base::Bind(&ErrorCallback, false, service_path));
222 message_loop_.RunUntilIdle(); 221 message_loop_.RunUntilIdle();
223 } 222 }
224 223
225 TEST_F(NetworkConfigurationHandlerTest, ClearProperties) { 224 TEST_F(NetworkConfigurationHandlerTest, ClearProperties) {
226 std::string service_path = "/service/1"; 225 std::string service_path = "/service/1";
227 std::string networkName = "MyNetwork"; 226 std::string networkName = "MyNetwork";
228 std::string key = "SSID"; 227 std::string key = "SSID";
229 scoped_ptr<base::StringValue> networkNameValue( 228 scoped_ptr<base::StringValue> networkNameValue(
230 base::Value::CreateStringValue(networkName)); 229 base::Value::CreateStringValue(networkName));
231 230
232 // First set up a value to clear. 231 // First set up a value to clear.
233 base::DictionaryValue value; 232 base::DictionaryValue value;
234 value.Set(key, base::Value::CreateStringValue(networkName)); 233 value.Set(key, base::Value::CreateStringValue(networkName));
235 dictionary_value_result_ = &value; 234 dictionary_value_result_ = &value;
236 EXPECT_CALL(*mock_manager_client_, 235 EXPECT_CALL(*mock_manager_client_,
237 ConfigureService(_, _, _)).WillOnce( 236 ConfigureService(_, _, _)).WillOnce(
238 Invoke(this, 237 Invoke(this,
239 &NetworkConfigurationHandlerTest::OnSetProperties)); 238 &NetworkConfigurationHandlerTest::OnSetProperties));
240 configuration_handler_->SetProperties( 239 NetworkConfigurationHandler::Get()->SetProperties(
241 service_path, 240 service_path,
242 value, 241 value,
243 base::Bind(&base::DoNothing), 242 base::Bind(&base::DoNothing),
244 base::Bind(&ErrorCallback, false, service_path)); 243 base::Bind(&ErrorCallback, false, service_path));
245 message_loop_.RunUntilIdle(); 244 message_loop_.RunUntilIdle();
246 245
247 // Now clear it. 246 // Now clear it.
248 std::vector<std::string> values_to_clear; 247 std::vector<std::string> values_to_clear;
249 values_to_clear.push_back(key); 248 values_to_clear.push_back(key);
250 EXPECT_CALL(*mock_service_client_, 249 EXPECT_CALL(*mock_service_client_,
251 ClearProperties(_, _, _, _)).WillOnce( 250 ClearProperties(_, _, _, _)).WillOnce(
252 Invoke(this, 251 Invoke(this,
253 &NetworkConfigurationHandlerTest::OnClearProperties)); 252 &NetworkConfigurationHandlerTest::OnClearProperties));
254 configuration_handler_->ClearProperties( 253 NetworkConfigurationHandler::Get()->ClearProperties(
255 service_path, 254 service_path,
256 values_to_clear, 255 values_to_clear,
257 base::Bind(&base::DoNothing), 256 base::Bind(&base::DoNothing),
258 base::Bind(&ErrorCallback, false, service_path)); 257 base::Bind(&ErrorCallback, false, service_path));
259 message_loop_.RunUntilIdle(); 258 message_loop_.RunUntilIdle();
260 } 259 }
261 260
262 TEST_F(NetworkConfigurationHandlerTest, ClearPropertiesError) { 261 TEST_F(NetworkConfigurationHandlerTest, ClearPropertiesError) {
263 std::string service_path = "/service/1"; 262 std::string service_path = "/service/1";
264 std::string networkName = "MyNetwork"; 263 std::string networkName = "MyNetwork";
265 std::string key = "SSID"; 264 std::string key = "SSID";
266 scoped_ptr<base::StringValue> networkNameValue( 265 scoped_ptr<base::StringValue> networkNameValue(
267 base::Value::CreateStringValue(networkName)); 266 base::Value::CreateStringValue(networkName));
268 267
269 // First set up a value to clear. 268 // First set up a value to clear.
270 base::DictionaryValue value; 269 base::DictionaryValue value;
271 value.Set(key, base::Value::CreateStringValue(networkName)); 270 value.Set(key, base::Value::CreateStringValue(networkName));
272 dictionary_value_result_ = &value; 271 dictionary_value_result_ = &value;
273 EXPECT_CALL(*mock_manager_client_, 272 EXPECT_CALL(*mock_manager_client_,
274 ConfigureService(_, _, _)).WillOnce( 273 ConfigureService(_, _, _)).WillOnce(
275 Invoke(this, 274 Invoke(this,
276 &NetworkConfigurationHandlerTest::OnSetProperties)); 275 &NetworkConfigurationHandlerTest::OnSetProperties));
277 configuration_handler_->SetProperties( 276 NetworkConfigurationHandler::Get()->SetProperties(
278 service_path, 277 service_path,
279 value, 278 value,
280 base::Bind(&base::DoNothing), 279 base::Bind(&base::DoNothing),
281 base::Bind(&ErrorCallback, false, service_path)); 280 base::Bind(&ErrorCallback, false, service_path));
282 message_loop_.RunUntilIdle(); 281 message_loop_.RunUntilIdle();
283 282
284 // Now clear it. 283 // Now clear it.
285 std::vector<std::string> values_to_clear; 284 std::vector<std::string> values_to_clear;
286 values_to_clear.push_back(key); 285 values_to_clear.push_back(key);
287 EXPECT_CALL( 286 EXPECT_CALL(
288 *mock_service_client_, 287 *mock_service_client_,
289 ClearProperties(_, _, _, _)).WillOnce( 288 ClearProperties(_, _, _, _)).WillOnce(
290 Invoke(this, 289 Invoke(this,
291 &NetworkConfigurationHandlerTest::OnClearPropertiesError)); 290 &NetworkConfigurationHandlerTest::OnClearPropertiesError));
292 configuration_handler_->ClearProperties( 291 NetworkConfigurationHandler::Get()->ClearProperties(
293 service_path, 292 service_path,
294 values_to_clear, 293 values_to_clear,
295 base::Bind(&base::DoNothing), 294 base::Bind(&base::DoNothing),
296 base::Bind(&ErrorCallback, true, service_path)); 295 base::Bind(&ErrorCallback, true, service_path));
297 message_loop_.RunUntilIdle(); 296 message_loop_.RunUntilIdle();
298 } 297 }
299 298
300 TEST_F(NetworkConfigurationHandlerTest, Connect) { 299 TEST_F(NetworkConfigurationHandlerTest, Connect) {
301 std::string service_path = "/service/1"; 300 std::string service_path = "/service/1";
302 301
303 EXPECT_CALL(*mock_service_client_, 302 EXPECT_CALL(*mock_service_client_,
304 Connect(_, _, _)).WillOnce( 303 Connect(_, _, _)).WillOnce(
305 Invoke(this, 304 Invoke(this,
306 &NetworkConfigurationHandlerTest::OnConnect)); 305 &NetworkConfigurationHandlerTest::OnConnect));
307 configuration_handler_->Connect( 306 NetworkConfigurationHandler::Get()->Connect(
308 service_path, 307 service_path,
309 base::Bind(&base::DoNothing), 308 base::Bind(&base::DoNothing),
310 base::Bind(&ErrorCallback, false, service_path)); 309 base::Bind(&ErrorCallback, false, service_path));
311 message_loop_.RunUntilIdle(); 310 message_loop_.RunUntilIdle();
312 } 311 }
313 312
314 TEST_F(NetworkConfigurationHandlerTest, Disconnect) { 313 TEST_F(NetworkConfigurationHandlerTest, Disconnect) {
315 std::string service_path = "/service/1"; 314 std::string service_path = "/service/1";
316 315
317 EXPECT_CALL(*mock_service_client_, 316 EXPECT_CALL(*mock_service_client_,
318 Disconnect(_, _, _)).WillOnce( 317 Disconnect(_, _, _)).WillOnce(
319 Invoke(this, 318 Invoke(this,
320 &NetworkConfigurationHandlerTest::OnDisconnect)); 319 &NetworkConfigurationHandlerTest::OnDisconnect));
321 configuration_handler_->Disconnect( 320 NetworkConfigurationHandler::Get()->Disconnect(
322 service_path, 321 service_path,
323 base::Bind(&base::DoNothing), 322 base::Bind(&base::DoNothing),
324 base::Bind(&ErrorCallback, false, service_path)); 323 base::Bind(&ErrorCallback, false, service_path));
325 message_loop_.RunUntilIdle(); 324 message_loop_.RunUntilIdle();
326 } 325 }
327 326
328 TEST_F(NetworkConfigurationHandlerTest, CreateConfiguration) { 327 TEST_F(NetworkConfigurationHandlerTest, CreateConfiguration) {
329 std::string expected_json = "{\n \"SSID\": \"MyNetwork\"\n}\n"; 328 std::string expected_json = "{\n \"SSID\": \"MyNetwork\"\n}\n";
330 std::string networkName = "MyNetwork"; 329 std::string networkName = "MyNetwork";
331 std::string key = "SSID"; 330 std::string key = "SSID";
332 scoped_ptr<base::StringValue> networkNameValue( 331 scoped_ptr<base::StringValue> networkNameValue(
333 base::Value::CreateStringValue(networkName)); 332 base::Value::CreateStringValue(networkName));
334 base::DictionaryValue value; 333 base::DictionaryValue value;
335 value.Set(key, base::Value::CreateStringValue(networkName)); 334 value.Set(key, base::Value::CreateStringValue(networkName));
336 335
337 EXPECT_CALL( 336 EXPECT_CALL(
338 *mock_manager_client_, 337 *mock_manager_client_,
339 GetService(_, _, _)).WillOnce( 338 GetService(_, _, _)).WillOnce(
340 Invoke(this, 339 Invoke(this,
341 &NetworkConfigurationHandlerTest::OnGetService)); 340 &NetworkConfigurationHandlerTest::OnGetService));
342 configuration_handler_->CreateConfiguration( 341 NetworkConfigurationHandler::Get()->CreateConfiguration(
343 value, 342 value,
344 base::Bind(&StringResultCallback, std::string("/service/2")), 343 base::Bind(&StringResultCallback, std::string("/service/2")),
345 base::Bind(&ErrorCallback, false, std::string(""))); 344 base::Bind(&ErrorCallback, false, std::string("")));
346 message_loop_.RunUntilIdle(); 345 message_loop_.RunUntilIdle();
347 } 346 }
348 347
349 TEST_F(NetworkConfigurationHandlerTest, RemoveConfiguration) { 348 TEST_F(NetworkConfigurationHandlerTest, RemoveConfiguration) {
350 std::string service_path = "/service/1"; 349 std::string service_path = "/service/1";
351 350
352 EXPECT_CALL( 351 EXPECT_CALL(
353 *mock_service_client_, 352 *mock_service_client_,
354 Remove(_, _, _)).WillOnce( 353 Remove(_, _, _)).WillOnce(
355 Invoke(this, 354 Invoke(this,
356 &NetworkConfigurationHandlerTest::OnRemove)); 355 &NetworkConfigurationHandlerTest::OnRemove));
357 configuration_handler_->RemoveConfiguration( 356 NetworkConfigurationHandler::Get()->RemoveConfiguration(
358 service_path, 357 service_path,
359 base::Bind(&base::DoNothing), 358 base::Bind(&base::DoNothing),
360 base::Bind(&ErrorCallback, false, service_path)); 359 base::Bind(&ErrorCallback, false, service_path));
361 message_loop_.RunUntilIdle(); 360 message_loop_.RunUntilIdle();
362 } 361 }
363 362
364 } // namespace chromeos 363 } // namespace chromeos
OLDNEW
« no previous file with comments | « chromeos/network/network_configuration_handler.cc ('k') | chromeos/network/network_state.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698