Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2017 The Chromium Authors. All rights reserved. | 1 // Copyright 2017 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 "chrome/browser/chromeos/tether/tether_service.h" | 5 #include "chrome/browser/chromeos/tether/tether_service.h" |
| 6 | 6 |
| 7 #include <memory> | 7 #include <memory> |
| 8 | 8 |
| 9 #include "base/command_line.h" | 9 #include "base/command_line.h" |
| 10 #include "base/memory/ptr_util.h" | 10 #include "base/memory/ptr_util.h" |
| (...skipping 256 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 267 chromeos::NetworkStateHandler::TechnologyState::TECHNOLOGY_PROHIBITED, | 267 chromeos::NetworkStateHandler::TechnologyState::TECHNOLOGY_PROHIBITED, |
| 268 network_state_handler()->GetTechnologyState( | 268 network_state_handler()->GetTechnologyState( |
| 269 chromeos::NetworkTypePattern::Tether())); | 269 chromeos::NetworkTypePattern::Tether())); |
| 270 } | 270 } |
| 271 | 271 |
| 272 TEST_F(TetherServiceTest, TestBluetoothIsNotPowered) { | 272 TEST_F(TetherServiceTest, TestBluetoothIsNotPowered) { |
| 273 ON_CALL(*mock_adapter_, IsPowered()).WillByDefault(Return(false)); | 273 ON_CALL(*mock_adapter_, IsPowered()).WillByDefault(Return(false)); |
| 274 | 274 |
| 275 CreateTetherService(); | 275 CreateTetherService(); |
| 276 | 276 |
| 277 base::RunLoop().RunUntilIdle(); | |
|
Ryan Hansberry
2017/05/23 01:14:29
Is this necessary?
stevenjb
2017/05/23 22:11:07
Maybe add a comment. The NetworkHandler code is la
lesliewatkins
2017/05/26 23:49:32
This one isn't-- it got added by accident!
| |
| 278 | |
| 277 EXPECT_EQ( | 279 EXPECT_EQ( |
| 278 chromeos::NetworkStateHandler::TechnologyState::TECHNOLOGY_UNINITIALIZED, | 280 chromeos::NetworkStateHandler::TechnologyState::TECHNOLOGY_UNINITIALIZED, |
| 279 network_state_handler()->GetTechnologyState( | 281 network_state_handler()->GetTechnologyState( |
| 280 chromeos::NetworkTypePattern::Tether())); | 282 chromeos::NetworkTypePattern::Tether())); |
| 281 } | 283 } |
| 282 | 284 |
| 285 TEST_F(TetherServiceTest, TestCellularIsUnavailable) { | |
| 286 test_manager_client()->RemoveTechnology(shill::kTypeCellular); | |
| 287 ASSERT_EQ( | |
| 288 chromeos::NetworkStateHandler::TechnologyState::TECHNOLOGY_UNAVAILABLE, | |
| 289 network_state_handler()->GetTechnologyState( | |
| 290 chromeos::NetworkTypePattern::Cellular())); | |
| 291 | |
| 292 CreateTetherService(); | |
| 293 | |
| 294 SetTetherTechnologyStateEnabled(false); | |
| 295 EXPECT_EQ( | |
| 296 chromeos::NetworkStateHandler::TechnologyState::TECHNOLOGY_AVAILABLE, | |
| 297 network_state_handler()->GetTechnologyState( | |
| 298 chromeos::NetworkTypePattern::Tether())); | |
| 299 | |
| 300 SetTetherTechnologyStateEnabled(true); | |
| 301 EXPECT_EQ(chromeos::NetworkStateHandler::TechnologyState::TECHNOLOGY_ENABLED, | |
| 302 network_state_handler()->GetTechnologyState( | |
| 303 chromeos::NetworkTypePattern::Tether())); | |
| 304 } | |
| 305 | |
| 306 TEST_F(TetherServiceTest, TestCellularIsAvailable) { | |
| 307 // TODO (lesliewatkins): Investigate why cellular needs to be removed and | |
| 308 // re-added for NetworkStateHandler to return the correct TechnologyState. | |
| 309 test_manager_client()->RemoveTechnology(shill::kTypeCellular); | |
| 310 test_manager_client()->AddTechnology(shill::kTypeCellular, false); | |
| 311 | |
| 312 CreateTetherService(); | |
| 313 | |
| 314 network_state_handler()->SetTechnologyEnabled( | |
| 315 chromeos::NetworkTypePattern::Cellular(), false, | |
| 316 chromeos::network_handler::ErrorCallback()); | |
| 317 | |
| 318 base::RunLoop().RunUntilIdle(); | |
| 319 ASSERT_EQ( | |
| 320 chromeos::NetworkStateHandler::TechnologyState::TECHNOLOGY_AVAILABLE, | |
| 321 network_state_handler()->GetTechnologyState( | |
| 322 chromeos::NetworkTypePattern::Cellular())); | |
| 323 | |
| 324 SetTetherTechnologyStateEnabled(false); | |
| 325 EXPECT_EQ( | |
| 326 chromeos::NetworkStateHandler::TechnologyState::TECHNOLOGY_UNINITIALIZED, | |
| 327 network_state_handler()->GetTechnologyState( | |
| 328 chromeos::NetworkTypePattern::Tether())); | |
| 329 | |
| 330 SetTetherTechnologyStateEnabled(true); | |
| 331 EXPECT_EQ( | |
| 332 chromeos::NetworkStateHandler::TechnologyState::TECHNOLOGY_UNINITIALIZED, | |
| 333 network_state_handler()->GetTechnologyState( | |
| 334 chromeos::NetworkTypePattern::Tether())); | |
| 335 | |
| 336 network_state_handler()->SetTechnologyEnabled( | |
|
Ryan Hansberry
2017/05/23 01:14:29
Please break out these repeated SetTechnologyEnabl
lesliewatkins
2017/05/26 23:49:32
Done.
| |
| 337 chromeos::NetworkTypePattern::Cellular(), true, | |
| 338 chromeos::network_handler::ErrorCallback()); | |
| 339 base::RunLoop().RunUntilIdle(); | |
|
Ryan Hansberry
2017/05/23 01:14:29
Are these RunLoop calls after calling on NetworkSt
stevenjb
2017/05/23 22:11:07
Se comment above. A SetTechnologyEnabled() wrapper
lesliewatkins
2017/05/26 23:49:32
Yes, these are, because the call is still asynchro
| |
| 340 ASSERT_EQ(chromeos::NetworkStateHandler::TechnologyState::TECHNOLOGY_ENABLED, | |
| 341 network_state_handler()->GetTechnologyState( | |
| 342 chromeos::NetworkTypePattern::Cellular())); | |
| 343 | |
| 344 SetTetherTechnologyStateEnabled(false); | |
| 345 EXPECT_EQ( | |
| 346 chromeos::NetworkStateHandler::TechnologyState::TECHNOLOGY_AVAILABLE, | |
| 347 network_state_handler()->GetTechnologyState( | |
| 348 chromeos::NetworkTypePattern::Tether())); | |
| 349 | |
| 350 SetTetherTechnologyStateEnabled(true); | |
| 351 EXPECT_EQ(chromeos::NetworkStateHandler::TechnologyState::TECHNOLOGY_ENABLED, | |
| 352 network_state_handler()->GetTechnologyState( | |
| 353 chromeos::NetworkTypePattern::Tether())); | |
| 354 } | |
| 355 | |
| 283 TEST_F(TetherServiceTest, TestEnabled) { | 356 TEST_F(TetherServiceTest, TestEnabled) { |
| 284 CreateTetherService(); | 357 CreateTetherService(); |
| 285 | 358 |
| 286 EXPECT_EQ(chromeos::NetworkStateHandler::TechnologyState::TECHNOLOGY_ENABLED, | 359 EXPECT_EQ(chromeos::NetworkStateHandler::TechnologyState::TECHNOLOGY_ENABLED, |
| 287 network_state_handler()->GetTechnologyState( | 360 network_state_handler()->GetTechnologyState( |
| 288 chromeos::NetworkTypePattern::Tether())); | 361 chromeos::NetworkTypePattern::Tether())); |
| 289 | 362 |
| 290 SetTetherTechnologyStateEnabled(false); | 363 SetTetherTechnologyStateEnabled(false); |
| 291 EXPECT_EQ( | 364 EXPECT_EQ( |
| 292 chromeos::NetworkStateHandler::TechnologyState::TECHNOLOGY_AVAILABLE, | 365 chromeos::NetworkStateHandler::TechnologyState::TECHNOLOGY_AVAILABLE, |
| (...skipping 24 matching lines...) Expand all Loading... | |
| 317 SetTetherTechnologyStateEnabled(false); | 390 SetTetherTechnologyStateEnabled(false); |
| 318 | 391 |
| 319 EXPECT_EQ(1, tether_service_->updated_technology_state_count()); | 392 EXPECT_EQ(1, tether_service_->updated_technology_state_count()); |
| 320 | 393 |
| 321 SetTetherTechnologyStateEnabled(true); | 394 SetTetherTechnologyStateEnabled(true); |
| 322 SetTetherTechnologyStateEnabled(true); | 395 SetTetherTechnologyStateEnabled(true); |
| 323 SetTetherTechnologyStateEnabled(true); | 396 SetTetherTechnologyStateEnabled(true); |
| 324 | 397 |
| 325 EXPECT_EQ(2, tether_service_->updated_technology_state_count()); | 398 EXPECT_EQ(2, tether_service_->updated_technology_state_count()); |
| 326 } | 399 } |
| OLD | NEW |