blob: 0c23057e64c250eaaafe7579187ad49ab495a11b [file] [log] [blame]
// 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();
}