onc_utils_unittest.cc revision c2e0dbddbe15c98d52c4786dac06cb8952a8ae6d
1f5a24546072ecdbbd6372c85c42157e01e913561titzer@chromium.org// Copyright (c) 2012 The Chromium Authors. All rights reserved. 23484964a86451e86dcf04be9bd8c0d76ee04f081rossberg@chromium.org// Use of this source code is governed by a BSD-style license that can be 33484964a86451e86dcf04be9bd8c0d76ee04f081rossberg@chromium.org// found in the LICENSE file. 4f5a24546072ecdbbd6372c85c42157e01e913561titzer@chromium.org 5196eb601290dc49c3754da728dc58700dff2de1bmachenbach@chromium.org#include "chrome/browser/chromeos/net/onc_utils.h" 6f5a24546072ecdbbd6372c85c42157e01e913561titzer@chromium.org 7975b940441085887fc02bebf8877d5ec97e1e06cmachenbach@chromium.org#include <string> 8196eb601290dc49c3754da728dc58700dff2de1bmachenbach@chromium.org 94b0feeef5d01dbc2948080b4f69daa37e1083461machenbach@chromium.org#include "base/strings/string_number_conversions.h" 10f5a24546072ecdbbd6372c85c42157e01e913561titzer@chromium.org#include "base/values.h" 11f5a24546072ecdbbd6372c85c42157e01e913561titzer@chromium.org#include "chrome/browser/google_apis/test_util.h" 12f5a24546072ecdbbd6372c85c42157e01e913561titzer@chromium.org#include "chromeos/network/network_ui_data.h" 13f5a24546072ecdbbd6372c85c42157e01e913561titzer@chromium.org#include "chromeos/network/onc/onc_test_utils.h" 14975b940441085887fc02bebf8877d5ec97e1e06cmachenbach@chromium.org#include "testing/gtest/include/gtest/gtest.h" 15f5a24546072ecdbbd6372c85c42157e01e913561titzer@chromium.org 16a221880197f38ff22d942851060daffa5d036bdfmachenbach@chromium.orgnamespace chromeos { 17975b940441085887fc02bebf8877d5ec97e1e06cmachenbach@chromium.orgnamespace onc { 18975b940441085887fc02bebf8877d5ec97e1e06cmachenbach@chromium.org 19975b940441085887fc02bebf8877d5ec97e1e06cmachenbach@chromium.orgTEST(ONCUtils, ProxySettingsToProxyConfig) { 20e3c177a423baa3c30225c4e422b6f6c76d38b951machenbach@chromium.org scoped_ptr<base::Value> test_data = 21e3c177a423baa3c30225c4e422b6f6c76d38b951machenbach@chromium.org google_apis::test_util::LoadJSONFile("chromeos/net/proxy_config.json"); 22975b940441085887fc02bebf8877d5ec97e1e06cmachenbach@chromium.org 23975b940441085887fc02bebf8877d5ec97e1e06cmachenbach@chromium.org base::ListValue* list_of_tests; 24975b940441085887fc02bebf8877d5ec97e1e06cmachenbach@chromium.org test_data->GetAsList(&list_of_tests); 25975b940441085887fc02bebf8877d5ec97e1e06cmachenbach@chromium.org 26a221880197f38ff22d942851060daffa5d036bdfmachenbach@chromium.org int index = 0; 27f5a24546072ecdbbd6372c85c42157e01e913561titzer@chromium.org for (base::ListValue::iterator it = list_of_tests->begin(); 28975b940441085887fc02bebf8877d5ec97e1e06cmachenbach@chromium.org it != list_of_tests->end(); ++it, ++index) { 29975b940441085887fc02bebf8877d5ec97e1e06cmachenbach@chromium.org SCOPED_TRACE("Test case #" + base::IntToString(index)); 30975b940441085887fc02bebf8877d5ec97e1e06cmachenbach@chromium.org 31975b940441085887fc02bebf8877d5ec97e1e06cmachenbach@chromium.org base::DictionaryValue* test_case; 32f5a24546072ecdbbd6372c85c42157e01e913561titzer@chromium.org (*it)->GetAsDictionary(&test_case); 33f5a24546072ecdbbd6372c85c42157e01e913561titzer@chromium.org 34f5a24546072ecdbbd6372c85c42157e01e913561titzer@chromium.org base::DictionaryValue* onc_proxy_settings; 35e3c177a423baa3c30225c4e422b6f6c76d38b951machenbach@chromium.org test_case->GetDictionary("ONC_ProxySettings", &onc_proxy_settings); 36e3c177a423baa3c30225c4e422b6f6c76d38b951machenbach@chromium.org 37f5a24546072ecdbbd6372c85c42157e01e913561titzer@chromium.org base::DictionaryValue* expected_proxy_config; 38f5a24546072ecdbbd6372c85c42157e01e913561titzer@chromium.org test_case->GetDictionary("ProxyConfig", &expected_proxy_config); 39f5a24546072ecdbbd6372c85c42157e01e913561titzer@chromium.org 40f5a24546072ecdbbd6372c85c42157e01e913561titzer@chromium.org scoped_ptr<base::DictionaryValue> actual_proxy_config = 41f5a24546072ecdbbd6372c85c42157e01e913561titzer@chromium.org ConvertOncProxySettingsToProxyConfig(*onc_proxy_settings); 42f5a24546072ecdbbd6372c85c42157e01e913561titzer@chromium.org EXPECT_TRUE(test_utils::Equals(expected_proxy_config, 43f5a24546072ecdbbd6372c85c42157e01e913561titzer@chromium.org actual_proxy_config.get())); 44f5a24546072ecdbbd6372c85c42157e01e913561titzer@chromium.org } 45f5a24546072ecdbbd6372c85c42157e01e913561titzer@chromium.org} 46f5a24546072ecdbbd6372c85c42157e01e913561titzer@chromium.org 47f5a24546072ecdbbd6372c85c42157e01e913561titzer@chromium.org} // namespace onc 48f5a24546072ecdbbd6372c85c42157e01e913561titzer@chromium.org} // namespace chromeos 49f5a24546072ecdbbd6372c85c42157e01e913561titzer@chromium.org