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