OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/policy/configuration_policy_handler_chromeos.h" | 5 #include "chrome/browser/policy/configuration_policy_handler_chromeos.h" |
6 | 6 |
7 #include "chrome/browser/policy/policy_error_map.h" | 7 #include "chrome/browser/policy/policy_error_map.h" |
8 #include "chrome/browser/policy/policy_map.h" | 8 #include "chrome/browser/policy/policy_map.h" |
9 #include "testing/gtest/include/gtest/gtest.h" | 9 #include "testing/gtest/include/gtest/gtest.h" |
10 | 10 |
11 namespace policy { | 11 namespace policy { |
12 | 12 |
13 TEST(NetworkConfigurationPolicyHandlerTest, Empty) { | 13 TEST(NetworkConfigurationPolicyHandlerTest, Empty) { |
14 PolicyMap policy_map; | 14 PolicyMap policy_map; |
15 NetworkConfigurationPolicyHandler handler(kPolicyOpenNetworkConfiguration); | 15 NetworkConfigurationPolicyHandler handler( |
| 16 kPolicyOpenNetworkConfiguration, |
| 17 chromeos::NetworkUIData::ONC_SOURCE_USER_POLICY); |
16 PolicyErrorMap errors; | 18 PolicyErrorMap errors; |
17 EXPECT_TRUE(handler.CheckPolicySettings(policy_map, &errors)); | 19 EXPECT_TRUE(handler.CheckPolicySettings(policy_map, &errors)); |
18 EXPECT_TRUE(errors.GetErrors(kPolicyOpenNetworkConfiguration).empty()); | 20 EXPECT_TRUE(errors.GetErrors(kPolicyOpenNetworkConfiguration).empty()); |
19 } | 21 } |
20 | 22 |
21 TEST(NetworkConfigurationPolicyHandlerTest, ValidONC) { | 23 TEST(NetworkConfigurationPolicyHandlerTest, ValidONC) { |
22 const std::string kTestONC( | 24 const std::string kTestONC( |
23 "{" | 25 "{" |
24 " \"NetworkConfigurations\": [{" | 26 " \"NetworkConfigurations\": [{" |
25 " \"GUID\": \"{485d6076-dd44-6b6d-69787465725f5045}\"," | 27 " \"GUID\": \"{485d6076-dd44-6b6d-69787465725f5045}\"," |
26 " \"Type\": \"WiFi\"," | 28 " \"Type\": \"WiFi\"," |
27 " \"WiFi\": {" | 29 " \"WiFi\": {" |
28 " \"Security\": \"WEP\"," | 30 " \"Security\": \"WEP\"," |
29 " \"SSID\": \"ssid\"," | 31 " \"SSID\": \"ssid\"," |
30 " \"Passphrase\": \"pass\"," | 32 " \"Passphrase\": \"pass\"," |
31 " }" | 33 " }" |
32 " }]" | 34 " }]" |
33 "}"); | 35 "}"); |
34 | 36 |
35 PolicyMap policy_map; | 37 PolicyMap policy_map; |
36 policy_map.Set(kPolicyOpenNetworkConfiguration, | 38 policy_map.Set(kPolicyOpenNetworkConfiguration, |
37 Value::CreateStringValue(kTestONC)); | 39 Value::CreateStringValue(kTestONC)); |
38 NetworkConfigurationPolicyHandler handler(kPolicyOpenNetworkConfiguration); | 40 NetworkConfigurationPolicyHandler handler( |
| 41 kPolicyOpenNetworkConfiguration, |
| 42 chromeos::NetworkUIData::ONC_SOURCE_USER_POLICY); |
39 PolicyErrorMap errors; | 43 PolicyErrorMap errors; |
40 EXPECT_TRUE(handler.CheckPolicySettings(policy_map, &errors)); | 44 EXPECT_TRUE(handler.CheckPolicySettings(policy_map, &errors)); |
41 EXPECT_TRUE(errors.GetErrors(kPolicyOpenNetworkConfiguration).empty()); | 45 EXPECT_TRUE(errors.GetErrors(kPolicyOpenNetworkConfiguration).empty()); |
42 } | 46 } |
43 | 47 |
44 TEST(NetworkConfigurationPolicyHandlerTest, WrongType) { | 48 TEST(NetworkConfigurationPolicyHandlerTest, WrongType) { |
45 PolicyMap policy_map; | 49 PolicyMap policy_map; |
46 policy_map.Set(kPolicyOpenNetworkConfiguration, | 50 policy_map.Set(kPolicyOpenNetworkConfiguration, |
47 Value::CreateBooleanValue(false)); | 51 Value::CreateBooleanValue(false)); |
48 NetworkConfigurationPolicyHandler handler(kPolicyOpenNetworkConfiguration); | 52 NetworkConfigurationPolicyHandler handler( |
| 53 kPolicyOpenNetworkConfiguration, |
| 54 chromeos::NetworkUIData::ONC_SOURCE_USER_POLICY); |
49 PolicyErrorMap errors; | 55 PolicyErrorMap errors; |
50 EXPECT_FALSE(handler.CheckPolicySettings(policy_map, &errors)); | 56 EXPECT_FALSE(handler.CheckPolicySettings(policy_map, &errors)); |
51 EXPECT_FALSE(errors.GetErrors(kPolicyOpenNetworkConfiguration).empty()); | 57 EXPECT_FALSE(errors.GetErrors(kPolicyOpenNetworkConfiguration).empty()); |
52 } | 58 } |
53 | 59 |
54 TEST(NetworkConfigurationPolicyHandlerTest, JSONParseError) { | 60 TEST(NetworkConfigurationPolicyHandlerTest, JSONParseError) { |
55 const std::string kTestONC("I'm not proper JSON!"); | 61 const std::string kTestONC("I'm not proper JSON!"); |
56 PolicyMap policy_map; | 62 PolicyMap policy_map; |
57 policy_map.Set(kPolicyOpenNetworkConfiguration, | 63 policy_map.Set(kPolicyOpenNetworkConfiguration, |
58 Value::CreateStringValue(kTestONC)); | 64 Value::CreateStringValue(kTestONC)); |
59 NetworkConfigurationPolicyHandler handler(kPolicyOpenNetworkConfiguration); | 65 NetworkConfigurationPolicyHandler handler( |
| 66 kPolicyOpenNetworkConfiguration, |
| 67 chromeos::NetworkUIData::ONC_SOURCE_USER_POLICY); |
60 PolicyErrorMap errors; | 68 PolicyErrorMap errors; |
61 EXPECT_FALSE(handler.CheckPolicySettings(policy_map, &errors)); | 69 EXPECT_FALSE(handler.CheckPolicySettings(policy_map, &errors)); |
62 EXPECT_FALSE(errors.GetErrors(kPolicyOpenNetworkConfiguration).empty()); | 70 EXPECT_FALSE(errors.GetErrors(kPolicyOpenNetworkConfiguration).empty()); |
63 } | 71 } |
64 | 72 |
65 TEST(NetworkConfigurationPolicyHandlerTest, Sanitization) { | 73 TEST(NetworkConfigurationPolicyHandlerTest, Sanitization) { |
66 const std::string kTestONC( | 74 const std::string kTestONC( |
67 "{" | 75 "{" |
68 " \"NetworkConfigurations\": [{" | 76 " \"NetworkConfigurations\": [{" |
69 " \"GUID\": \"{485d6076-dd44-6b6d-69787465725f5045}\"," | 77 " \"GUID\": \"{485d6076-dd44-6b6d-69787465725f5045}\"," |
70 " \"Type\": \"WiFi\"," | 78 " \"Type\": \"WiFi\"," |
71 " \"WiFi\": {" | 79 " \"WiFi\": {" |
72 " \"Security\": \"WEP\"," | 80 " \"Security\": \"WEP\"," |
73 " \"SSID\": \"ssid\"," | 81 " \"SSID\": \"ssid\"," |
74 " \"Passphrase\": \"pass\"," | 82 " \"Passphrase\": \"pass\"," |
75 " }" | 83 " }" |
76 " }]" | 84 " }]" |
77 "}"); | 85 "}"); |
78 | 86 |
79 PolicyMap policy_map; | 87 PolicyMap policy_map; |
80 policy_map.Set(kPolicyOpenNetworkConfiguration, | 88 policy_map.Set(kPolicyOpenNetworkConfiguration, |
81 Value::CreateStringValue(kTestONC)); | 89 Value::CreateStringValue(kTestONC)); |
82 NetworkConfigurationPolicyHandler handler(kPolicyOpenNetworkConfiguration); | 90 NetworkConfigurationPolicyHandler handler( |
| 91 kPolicyOpenNetworkConfiguration, |
| 92 chromeos::NetworkUIData::ONC_SOURCE_USER_POLICY); |
83 PolicyErrorMap errors; | 93 PolicyErrorMap errors; |
84 handler.PrepareForDisplaying(&policy_map); | 94 handler.PrepareForDisplaying(&policy_map); |
85 const Value* sanitized = policy_map.Get(kPolicyOpenNetworkConfiguration); | 95 const Value* sanitized = policy_map.Get(kPolicyOpenNetworkConfiguration); |
86 ASSERT_TRUE(sanitized); | 96 ASSERT_TRUE(sanitized); |
87 std::string sanitized_onc; | 97 std::string sanitized_onc; |
88 EXPECT_TRUE(sanitized->GetAsString(&sanitized_onc)); | 98 EXPECT_TRUE(sanitized->GetAsString(&sanitized_onc)); |
89 EXPECT_FALSE(sanitized_onc.empty()); | 99 EXPECT_FALSE(sanitized_onc.empty()); |
90 EXPECT_EQ(std::string::npos, sanitized_onc.find("pass")); | 100 EXPECT_EQ(std::string::npos, sanitized_onc.find("pass")); |
91 } | 101 } |
92 | 102 |
93 } // namespace policy | 103 } // namespace policy |
OLD | NEW |