| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 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 | 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/service/cloud_print/connector_settings.h" | 5 #include "chrome/service/cloud_print/connector_settings.h" |
| 6 | 6 |
| 7 #include <string> | 7 #include <string> |
| 8 | 8 |
| 9 #include "base/file_util.h" | 9 #include "base/file_util.h" |
| 10 #include "base/files/scoped_temp_dir.h" | 10 #include "base/files/scoped_temp_dir.h" |
| (...skipping 12 matching lines...) Expand all Loading... |
| 23 "{" | 23 "{" |
| 24 " 'cloud_print': {" | 24 " 'cloud_print': {" |
| 25 " 'auth_token': 'token'," | 25 " 'auth_token': 'token'," |
| 26 " 'email': 'user@gmail.com'," | 26 " 'email': 'user@gmail.com'," |
| 27 " 'enabled': true," | 27 " 'enabled': true," |
| 28 " 'proxy_id': 'PROXY'," | 28 " 'proxy_id': 'PROXY'," |
| 29 " 'robot_email': '123@cloudprint.googleusercontent.com'," | 29 " 'robot_email': '123@cloudprint.googleusercontent.com'," |
| 30 " 'robot_refresh_token': '123'," | 30 " 'robot_refresh_token': '123'," |
| 31 " 'service_url': 'http://cp.google.com'," | 31 " 'service_url': 'http://cp.google.com'," |
| 32 " 'xmpp_auth_token': 'xmp token'," | 32 " 'xmpp_auth_token': 'xmp token'," |
| 33 " 'connect_new_printers': false," | |
| 34 " 'xmpp_ping_enabled': true," | 33 " 'xmpp_ping_enabled': true," |
| 35 " 'xmpp_ping_timeout_sec': 256," | 34 " 'xmpp_ping_timeout_sec': 256," |
| 36 " 'printer_blacklist': [" | 35 " 'user_settings': {" |
| 37 " 'prn1'," | 36 " 'printers': [" |
| 38 " 'prn2'" | 37 " { 'name': 'prn1', 'connect': false }," |
| 39 " ]," | 38 " { 'name': 'prn2', 'connect': false }," |
| 39 " { 'name': 'prn3', 'connect': true }" |
| 40 " ]," |
| 41 " 'connect_new_printers': false" |
| 42 " }," |
| 40 " 'print_system_settings': {" | 43 " 'print_system_settings': {" |
| 41 " 'delete_on_enum_fail' : true" | 44 " 'delete_on_enum_fail' : true" |
| 42 " }" | 45 " }" |
| 43 " }" | 46 " }" |
| 44 "}"; | 47 "}"; |
| 45 | 48 |
| 46 | 49 |
| 47 class ConnectorSettingsTest : public testing::Test { | 50 class ConnectorSettingsTest : public testing::Test { |
| 48 protected: | 51 protected: |
| 49 virtual void SetUp() OVERRIDE { | 52 virtual void SetUp() OVERRIDE { |
| 50 ASSERT_TRUE(temp_dir_.CreateUniqueTempDir()); | 53 ASSERT_TRUE(temp_dir_.CreateUniqueTempDir()); |
| 51 message_loop_proxy_ = base::MessageLoopProxy::current(); | 54 message_loop_proxy_ = base::MessageLoopProxy::current(); |
| 52 } | 55 } |
| (...skipping 27 matching lines...) Expand all Loading... |
| 80 for (size_t i = 0; i < arraysize(kEmptyJSons); ++i) { | 83 for (size_t i = 0; i < arraysize(kEmptyJSons); ++i) { |
| 81 scoped_ptr<ServiceProcessPrefs> prefs(CreateTestFile(kEmptyJSons[i])); | 84 scoped_ptr<ServiceProcessPrefs> prefs(CreateTestFile(kEmptyJSons[i])); |
| 82 ConnectorSettings settings; | 85 ConnectorSettings settings; |
| 83 settings.InitFrom(prefs.get()); | 86 settings.InitFrom(prefs.get()); |
| 84 | 87 |
| 85 EXPECT_EQ("https://www.google.com/cloudprint", | 88 EXPECT_EQ("https://www.google.com/cloudprint", |
| 86 settings.server_url().spec()); | 89 settings.server_url().spec()); |
| 87 EXPECT_FALSE(settings.proxy_id().empty()); | 90 EXPECT_FALSE(settings.proxy_id().empty()); |
| 88 EXPECT_FALSE(settings.delete_on_enum_fail()); | 91 EXPECT_FALSE(settings.delete_on_enum_fail()); |
| 89 EXPECT_EQ(NULL, settings.print_system_settings()); | 92 EXPECT_EQ(NULL, settings.print_system_settings()); |
| 90 EXPECT_TRUE(settings.connect_new_printers()); | 93 EXPECT_TRUE(settings.ShouldConnect("prn1")); |
| 91 EXPECT_FALSE(settings.xmpp_ping_enabled()); | 94 EXPECT_FALSE(settings.xmpp_ping_enabled()); |
| 92 EXPECT_FALSE(settings.IsPrinterBlacklisted("prn1")); | |
| 93 } | 95 } |
| 94 } | 96 } |
| 95 | 97 |
| 96 TEST_F(ConnectorSettingsTest, InitFromFile) { | 98 TEST_F(ConnectorSettingsTest, InitFromFile) { |
| 97 scoped_ptr<ServiceProcessPrefs> prefs(CreateTestFile(kServiceStateContent)); | 99 scoped_ptr<ServiceProcessPrefs> prefs(CreateTestFile(kServiceStateContent)); |
| 98 ConnectorSettings settings; | 100 ConnectorSettings settings; |
| 99 settings.InitFrom(prefs.get()); | 101 settings.InitFrom(prefs.get()); |
| 100 EXPECT_EQ("http://cp.google.com/", settings.server_url().spec()); | 102 EXPECT_EQ("http://cp.google.com/", settings.server_url().spec()); |
| 101 EXPECT_EQ("PROXY", settings.proxy_id()); | 103 EXPECT_EQ("PROXY", settings.proxy_id()); |
| 102 EXPECT_FALSE(settings.proxy_id().empty()); | 104 EXPECT_FALSE(settings.proxy_id().empty()); |
| 103 EXPECT_TRUE(settings.delete_on_enum_fail()); | 105 EXPECT_TRUE(settings.delete_on_enum_fail()); |
| 104 EXPECT_TRUE(settings.print_system_settings()); | 106 EXPECT_TRUE(settings.print_system_settings()); |
| 105 EXPECT_FALSE(settings.connect_new_printers()); | |
| 106 EXPECT_TRUE(settings.xmpp_ping_enabled()); | 107 EXPECT_TRUE(settings.xmpp_ping_enabled()); |
| 107 EXPECT_EQ(settings.xmpp_ping_timeout_sec(), 256); | 108 EXPECT_EQ(settings.xmpp_ping_timeout_sec(), 256); |
| 108 EXPECT_FALSE(settings.IsPrinterBlacklisted("prn0")); | 109 EXPECT_FALSE(settings.ShouldConnect("prn0")); |
| 109 EXPECT_TRUE(settings.IsPrinterBlacklisted("prn1")); | 110 EXPECT_FALSE(settings.ShouldConnect("prn1")); |
| 111 EXPECT_TRUE(settings.ShouldConnect("prn3")); |
| 110 } | 112 } |
| 111 | 113 |
| 112 TEST_F(ConnectorSettingsTest, CopyFrom) { | 114 TEST_F(ConnectorSettingsTest, CopyFrom) { |
| 113 scoped_ptr<ServiceProcessPrefs> prefs(CreateTestFile(kServiceStateContent)); | 115 scoped_ptr<ServiceProcessPrefs> prefs(CreateTestFile(kServiceStateContent)); |
| 114 ConnectorSettings settings1; | 116 ConnectorSettings settings1; |
| 115 settings1.InitFrom(prefs.get()); | 117 settings1.InitFrom(prefs.get()); |
| 116 | 118 |
| 117 ConnectorSettings settings2; | 119 ConnectorSettings settings2; |
| 118 settings2.CopyFrom(settings1); | 120 settings2.CopyFrom(settings1); |
| 119 | 121 |
| 120 EXPECT_EQ(settings1.server_url(), settings2.server_url()); | 122 EXPECT_EQ(settings1.server_url(), settings2.server_url()); |
| 121 EXPECT_EQ(settings1.proxy_id(), settings2.proxy_id()); | 123 EXPECT_EQ(settings1.proxy_id(), settings2.proxy_id()); |
| 122 EXPECT_EQ(settings1.delete_on_enum_fail(), settings2.delete_on_enum_fail()); | 124 EXPECT_EQ(settings1.delete_on_enum_fail(), settings2.delete_on_enum_fail()); |
| 123 EXPECT_EQ(settings1.print_system_settings()->size(), | 125 EXPECT_EQ(settings1.print_system_settings()->size(), |
| 124 settings2.print_system_settings()->size()); | 126 settings2.print_system_settings()->size()); |
| 125 EXPECT_EQ(settings1.connect_new_printers(), settings2.connect_new_printers()); | |
| 126 EXPECT_EQ(settings1.xmpp_ping_enabled(), settings2.xmpp_ping_enabled()); | 127 EXPECT_EQ(settings1.xmpp_ping_enabled(), settings2.xmpp_ping_enabled()); |
| 127 EXPECT_EQ(settings1.xmpp_ping_timeout_sec(), | 128 EXPECT_EQ(settings1.xmpp_ping_timeout_sec(), |
| 128 settings2.xmpp_ping_timeout_sec()); | 129 settings2.xmpp_ping_timeout_sec()); |
| 129 EXPECT_TRUE(settings2.IsPrinterBlacklisted("prn1")); | 130 EXPECT_FALSE(settings2.ShouldConnect("prn0")); |
| 131 EXPECT_FALSE(settings2.ShouldConnect("prn1")); |
| 132 EXPECT_TRUE(settings2.ShouldConnect("prn3")); |
| 130 } | 133 } |
| 131 | 134 |
| 132 TEST_F(ConnectorSettingsTest, SettersTest) { | 135 TEST_F(ConnectorSettingsTest, SettersTest) { |
| 133 scoped_ptr<ServiceProcessPrefs> prefs(CreateTestFile("{}")); | 136 scoped_ptr<ServiceProcessPrefs> prefs(CreateTestFile("{}")); |
| 134 ConnectorSettings settings; | 137 ConnectorSettings settings; |
| 135 settings.InitFrom(prefs.get()); | 138 settings.InitFrom(prefs.get()); |
| 136 EXPECT_FALSE(settings.xmpp_ping_enabled()); | 139 EXPECT_FALSE(settings.xmpp_ping_enabled()); |
| 137 | 140 |
| 138 // Set and check valid settings. | 141 // Set and check valid settings. |
| 139 settings.set_xmpp_ping_enabled(true); | 142 settings.set_xmpp_ping_enabled(true); |
| 140 settings.SetXmppPingTimeoutSec(256); | 143 settings.SetXmppPingTimeoutSec(256); |
| 141 EXPECT_TRUE(settings.xmpp_ping_enabled()); | 144 EXPECT_TRUE(settings.xmpp_ping_enabled()); |
| 142 EXPECT_EQ(settings.xmpp_ping_timeout_sec(), 256); | 145 EXPECT_EQ(settings.xmpp_ping_timeout_sec(), 256); |
| 143 | 146 |
| 144 // Set invalid settings, and check correct defaults. | 147 // Set invalid settings, and check correct defaults. |
| 145 settings.SetXmppPingTimeoutSec(1); | 148 settings.SetXmppPingTimeoutSec(1); |
| 146 EXPECT_EQ(settings.xmpp_ping_timeout_sec(), kMinimumXmppPingTimeoutSecs); | 149 EXPECT_EQ(settings.xmpp_ping_timeout_sec(), kMinimumXmppPingTimeoutSecs); |
| 147 } | 150 } |
| 148 | 151 |
| 149 } // namespace cloud_print | 152 } // namespace cloud_print |
| OLD | NEW |