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 |