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 |