| 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 |