| // Copyright (c) 2012 The Chromium OS Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include "carrier.h" |
| |
| #include <base/logging.h> |
| #include <dbus-c++/glib-integration.h> |
| #include <gflags/gflags.h> |
| #include <gtest/gtest.h> |
| #include <mm/mm-modem.h> |
| |
| #include "cromo_server.h" |
| |
| TEST(Carrier, Find) { |
| DBus::Glib::BusDispatcher dispatcher; |
| DBus::default_dispatcher = &dispatcher; |
| dispatcher.attach(NULL); |
| |
| DBus::Connection conn = DBus::Connection::SystemBus(); |
| conn.request_name( |
| (CromoServer::kServiceName + std::string(".UnitTest")).c_str()); |
| |
| static const char kTestName[] = "test_carrier"; |
| |
| CromoServer *server = new CromoServer(conn); |
| |
| Carrier *not_found = server->FindCarrierByName(kTestName); |
| EXPECT_EQ(NULL, not_found); |
| not_found = server->FindCarrierByCarrierId(38747); |
| EXPECT_EQ(NULL, not_found); |
| |
| Carrier *test_carrier = new Carrier( |
| kTestName, "dir", 17, MM_MODEM_TYPE_CDMA, Carrier::kNone, "activation"); |
| |
| server->AddCarrier(test_carrier); |
| |
| Carrier *by_id = server->FindCarrierByCarrierId(17); |
| EXPECT_EQ(test_carrier, by_id); |
| |
| Carrier *by_name = server->FindCarrierByName(kTestName); |
| EXPECT_EQ(test_carrier, by_name); |
| |
| // Testing carrier ctor, accessors |
| EXPECT_STREQ(kTestName, by_name->name()); |
| EXPECT_STREQ("dir", by_name->firmware_directory()); |
| EXPECT_EQ(MM_MODEM_TYPE_CDMA, by_name->carrier_type()); |
| EXPECT_EQ(Carrier::kNone, by_name->activation_method()); |
| EXPECT_STREQ("activation", by_name->activation_code()); |
| } |
| |
| |
| int main(int argc, char *argv[]) { |
| testing::InitGoogleTest(&argc, argv); |
| google::ParseCommandLineFlags(&argc, &argv, true); |
| |
| return RUN_ALL_TESTS(); |
| } |