| // 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 "shill/cellular_operator_info.h" |
| |
| #include <base/file_util.h> |
| #include <gtest/gtest.h> |
| |
| using std::string; |
| |
| namespace shill { |
| |
| namespace { |
| |
| const char kTestInfoFileContent[] = |
| "#\n" |
| "# Comments\n" |
| "#\n" |
| "[000001]\n" |
| "OLP.URL=https://testurl\n" |
| "OLP.Method=POST\n" |
| "OLP.PostData=imei=${imei}&iccid=${iccid}\n" |
| "\n" |
| "[000002]\n" |
| "OLP.URL=https://testurl2\n" |
| "\n" |
| "[000003]\n" |
| "Name=test\n"; |
| |
| } // namespace |
| |
| class CellularOperatorInfoTest : public testing::Test { |
| public: |
| CellularOperatorInfoTest() : info_(&glib_) {} |
| |
| protected: |
| void SetUp() { |
| ASSERT_TRUE(file_util::CreateTemporaryFile(&info_file_path_)); |
| ASSERT_EQ(arraysize(kTestInfoFileContent), |
| file_util::WriteFile(info_file_path_, kTestInfoFileContent, |
| arraysize(kTestInfoFileContent))); |
| } |
| |
| void TearDown() { |
| ASSERT_TRUE(file_util::Delete(info_file_path_, false)); |
| } |
| |
| GLib glib_; |
| FilePath info_file_path_; |
| CellularOperatorInfo info_; |
| }; |
| |
| TEST_F(CellularOperatorInfoTest, GetOLP) { |
| EXPECT_TRUE(info_.Load(info_file_path_)); |
| |
| CellularService::OLP olp; |
| EXPECT_TRUE(info_.GetOLP("000001", &olp)); |
| EXPECT_EQ("https://testurl", olp.GetURL()); |
| EXPECT_EQ("POST", olp.GetMethod()); |
| EXPECT_EQ("imei=${imei}&iccid=${iccid}", olp.GetPostData()); |
| |
| EXPECT_TRUE(info_.GetOLP("000002", &olp)); |
| EXPECT_EQ("https://testurl2", olp.GetURL()); |
| EXPECT_EQ("", olp.GetMethod()); |
| EXPECT_EQ("", olp.GetPostData()); |
| |
| EXPECT_FALSE(info_.GetOLP("000003", &olp)); |
| EXPECT_FALSE(info_.GetOLP("000004", &olp)); |
| } |
| |
| } // namespace shill |