blob: e36fee7f5eff861f5ec36282c5c8a497259e49e9 [file] [log] [blame]
Darin Petkovac635a82012-01-10 16:51:58 +01001// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
Darin Petkovb72cf402011-11-22 14:51:39 +01002// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#include "shill/cellular_service.h"
6
7#include <chromeos/dbus/service_constants.h>
8#include <gtest/gtest.h>
9
10#include "shill/nice_mock_control.h"
11#include "shill/mock_adaptors.h"
12
13using testing::NiceMock;
14
15namespace shill {
16
17class CellularServiceTest : public testing::Test {
18 public:
19 CellularServiceTest()
Darin Petkovac635a82012-01-10 16:51:58 +010020 : device_(new Cellular(&control_,
21 NULL,
22 NULL,
23 "usb0",
24 "00:01:02:03:04:05",
25 3,
26 Cellular::kTypeGSM,
27 "",
28 "",
29 NULL)),
30 service_(new CellularService(&control_, NULL, NULL, device_)),
Darin Petkovb72cf402011-11-22 14:51:39 +010031 adaptor_(NULL) {}
32
33 virtual ~CellularServiceTest() {
34 adaptor_ = NULL;
35 }
36
37 virtual void SetUp() {
38 adaptor_ =
39 dynamic_cast<NiceMock<ServiceMockAdaptor> *>(service_->adaptor());
40 }
41
42 protected:
43 NiceMockControl control_;
Darin Petkovac635a82012-01-10 16:51:58 +010044 CellularRefPtr device_;
Darin Petkovb72cf402011-11-22 14:51:39 +010045 CellularServiceRefPtr service_;
46 NiceMock<ServiceMockAdaptor> *adaptor_; // Owned by |service_|.
47};
48
49TEST_F(CellularServiceTest, SetNetworkTechnology) {
50 EXPECT_CALL(*adaptor_, EmitStringChanged(flimflam::kNetworkTechnologyProperty,
51 flimflam::kNetworkTechnologyUmts));
52 EXPECT_TRUE(service_->network_technology().empty());
53 service_->SetNetworkTechnology(flimflam::kNetworkTechnologyUmts);
54 EXPECT_EQ(flimflam::kNetworkTechnologyUmts, service_->network_technology());
55 service_->SetNetworkTechnology(flimflam::kNetworkTechnologyUmts);
56}
57
58TEST_F(CellularServiceTest, SetRoamingState) {
59 EXPECT_CALL(*adaptor_, EmitStringChanged(flimflam::kRoamingStateProperty,
60 flimflam::kRoamingStateHome));
61 EXPECT_TRUE(service_->roaming_state().empty());
62 service_->SetRoamingState(flimflam::kRoamingStateHome);
63 EXPECT_EQ(flimflam::kRoamingStateHome, service_->roaming_state());
64 service_->SetRoamingState(flimflam::kRoamingStateHome);
65}
66
Darin Petkovac635a82012-01-10 16:51:58 +010067TEST_F(CellularServiceTest, FriendlyName) {
68 static const char kCarrier[] = "Cellular Carrier";
69 device_->carrier_ = kCarrier;
70 service_ = new CellularService(&control_, NULL, NULL, device_);
71 EXPECT_EQ(kCarrier, service_->friendly_name());
72}
73
Darin Petkovb72cf402011-11-22 14:51:39 +010074} // namespace shill