cc: Added inline to Tile::IsReadyToDraw
[chromium-blink-merge.git] / chromeos / network / onc / onc_translator_unittest.cc
blob21d8cdf4f390cbf4693e0c6e4e17d7d0e3c57058
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "chromeos/network/onc/onc_translator.h"
7 #include "base/memory/scoped_ptr.h"
8 #include "base/values.h"
9 #include "chromeos/network/onc/onc_constants.h"
10 #include "chromeos/network/onc/onc_signature.h"
11 #include "chromeos/network/onc/onc_test_utils.h"
12 #include "testing/gtest/include/gtest/gtest.h"
14 namespace chromeos {
15 namespace onc {
17 // First parameter: Filename of source ONC.
18 // Second parameter: Filename of expected translated Shill json.
19 class ONCTranslatorOncToShillTest
20 : public ::testing::TestWithParam<std::pair<std::string, std::string> > {
23 // Test the translation from ONC to Shill json.
24 TEST_P(ONCTranslatorOncToShillTest, Translate) {
25 std::string source_onc_filename = GetParam().first;
26 scoped_ptr<const base::DictionaryValue> onc_network(
27 test_utils::ReadTestDictionary(source_onc_filename));
28 std::string result_shill_filename = GetParam().second;
29 scoped_ptr<const base::DictionaryValue> expected_shill_network(
30 test_utils::ReadTestDictionary(result_shill_filename));
32 scoped_ptr<base::DictionaryValue> translation(TranslateONCObjectToShill(
33 &kNetworkConfigurationSignature, *onc_network));
35 EXPECT_TRUE(test_utils::Equals(expected_shill_network.get(),
36 translation.get()));
39 // Test different network types, such that each ONC object type is tested at
40 // least once.
41 INSTANTIATE_TEST_CASE_P(
42 ONCTranslatorOncToShillTest,
43 ONCTranslatorOncToShillTest,
44 ::testing::Values(
45 std::make_pair("managed_ethernet.onc", "shill_ethernet.json"),
46 std::make_pair("valid_wifi_psk.onc", "shill_wifi_psk.json"),
47 std::make_pair("wifi_clientcert_with_cert_pems.onc",
48 "shill_wifi_clientcert.json"),
49 std::make_pair("valid_wifi_clientref.onc",
50 "shill_wifi_clientref.json"),
51 std::make_pair("valid_l2tpipsec.onc", "shill_l2tpipsec.json"),
52 std::make_pair("l2tpipsec_clientcert_with_cert_pems.onc",
53 "shill_l2tpipsec_clientcert.json"),
54 std::make_pair("valid_openvpn_with_cert_pems.onc",
55 "shill_openvpn.json"),
56 std::make_pair("openvpn_clientcert_with_cert_pems.onc",
57 "shill_openvpn_clientcert.json")));
59 // First parameter: Filename of source Shill json.
60 // Second parameter: Filename of expected translated ONC network part.
62 // Note: This translation direction doesn't have to reconstruct all of the ONC
63 // fields, as Chrome doesn't need all of a Service's properties.
64 class ONCTranslatorShillToOncTest
65 : public ::testing::TestWithParam<std::pair<std::string, std::string> > {
68 TEST_P(ONCTranslatorShillToOncTest, Translate) {
69 std::string source_shill_filename = GetParam().first;
70 scoped_ptr<const base::DictionaryValue> shill_network(
71 test_utils::ReadTestDictionary(source_shill_filename));
73 std::string result_onc_filename = GetParam().second;
74 scoped_ptr<base::DictionaryValue> expected_onc_network(
75 test_utils::ReadTestDictionary(result_onc_filename));
77 scoped_ptr<base::DictionaryValue> translation(TranslateShillServiceToONCPart(
78 *shill_network, &kNetworkWithStateSignature));
80 EXPECT_TRUE(test_utils::Equals(expected_onc_network.get(),
81 translation.get()));
84 INSTANTIATE_TEST_CASE_P(
85 ONCTranslatorShillToOncTest,
86 ONCTranslatorShillToOncTest,
87 ::testing::Values(
88 std::make_pair("shill_wifi_clientcert.json",
89 "translation_of_shill_wifi_clientcert.onc"),
90 std::make_pair("shill_wifi_wpa1.json",
91 "translation_of_shill_wifi_wpa1.onc"),
92 std::make_pair("shill_l2tpipsec.json",
93 "translation_of_shill_l2tpipsec.onc"),
94 std::make_pair("shill_openvpn.json",
95 "translation_of_shill_openvpn.onc"),
96 std::make_pair("shill_openvpn_with_errors.json",
97 "translation_of_shill_openvpn_with_errors.onc"),
98 std::make_pair("shill_wifi_with_state.json",
99 "translation_of_shill_wifi_with_state.onc"),
100 std::make_pair("shill_cellular_with_state.json",
101 "translation_of_shill_cellular_with_state.onc")));
103 } // namespace onc
104 } // namespace chromeos