Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(50)

Side by Side Diff: components/wifi_sync/wifi_config_delegate_chromeos_unittest.cc

Issue 2463463004: [Sync] Rename wifi_sync to sync_wifi. (Closed)
Patch Set: Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "components/wifi_sync/wifi_config_delegate_chromeos.h"
6
7 #include <stddef.h>
8
9 #include <memory>
10
11 #include "base/logging.h"
12 #include "base/macros.h"
13 #include "base/memory/ptr_util.h"
14 #include "base/values.h"
15 #include "chromeos/network/managed_network_configuration_handler.h"
16 #include "chromeos/network/network_handler_callbacks.h"
17 #include "components/wifi_sync/wifi_credential.h"
18 #include "testing/gtest/include/gtest/gtest.h"
19
20 namespace wifi_sync {
21
22 namespace {
23 const char kSsid[] = "fake-ssid";
24 const char kSsidNonUtf8[] = "\xc0";
25 const char kUserHash[] = "fake-user-hash";
26 }
27
28 using chromeos::network_handler::DictionaryResultCallback;
29 using chromeos::network_handler::ErrorCallback;
30 using chromeos::network_handler::ServiceResultCallback;
31
32 class FakeManagedNetworkConfigurationHandler
33 : public chromeos::ManagedNetworkConfigurationHandler {
34 public:
35 FakeManagedNetworkConfigurationHandler()
36 : create_configuration_called_(false) {
37 }
38
39 // ManagedNetworkConfigurationHandler implementation.
40 void AddObserver(chromeos::NetworkPolicyObserver* observer) override {
41 NOTIMPLEMENTED();
42 }
43 void RemoveObserver(chromeos::NetworkPolicyObserver* observer) override {
44 NOTIMPLEMENTED();
45 }
46 void GetProperties(
47 const std::string& userhash,
48 const std::string& service_path,
49 const DictionaryResultCallback& callback,
50 const ErrorCallback& error_callback) override {
51 NOTIMPLEMENTED();
52 }
53 void GetManagedProperties(
54 const std::string& userhash,
55 const std::string& service_path,
56 const DictionaryResultCallback& callback,
57 const ErrorCallback& error_callback) override {
58 NOTIMPLEMENTED();
59 }
60 void SetProperties(
61 const std::string& service_path,
62 const base::DictionaryValue& user_settings,
63 const base::Closure& callback,
64 const ErrorCallback& error_callback) override {
65 NOTIMPLEMENTED();
66 }
67 void CreateConfiguration(const std::string& userhash,
68 const base::DictionaryValue& properties,
69 const ServiceResultCallback& callback,
70 const ErrorCallback& error_callback) const override {
71 EXPECT_FALSE(create_configuration_called_);
72 create_configuration_called_ = true;
73 create_configuration_success_callback_ = callback;
74 create_configuration_error_callback_ = error_callback;
75 }
76 void RemoveConfiguration(
77 const std::string& service_path,
78 const base::Closure& callback,
79 const ErrorCallback& error_callback) const override {
80 NOTIMPLEMENTED();
81 }
82 void SetPolicy(
83 ::onc::ONCSource onc_source,
84 const std::string& userhash,
85 const base::ListValue& network_configs_onc,
86 const base::DictionaryValue& global_network_config) override {
87 NOTIMPLEMENTED();
88 }
89 bool IsAnyPolicyApplicationRunning() const override {
90 NOTIMPLEMENTED();
91 return false;
92 }
93 const base::DictionaryValue* FindPolicyByGUID(
94 const std::string userhash,
95 const std::string& guid,
96 ::onc::ONCSource* onc_source) const override {
97 NOTIMPLEMENTED();
98 return nullptr;
99 }
100 const GuidToPolicyMap* GetNetworkConfigsFromPolicy(
101 const std::string& userhash) const override {
102 NOTIMPLEMENTED();
103 return nullptr;
104 }
105 const base::DictionaryValue* GetGlobalConfigFromPolicy(
106 const std::string& userhash) const override {
107 NOTIMPLEMENTED();
108 return nullptr;
109 }
110 const base::DictionaryValue* FindPolicyByGuidAndProfile(
111 const std::string& guid,
112 const std::string& profile_path) const override {
113 NOTIMPLEMENTED();
114 return nullptr;
115 }
116
117 bool create_configuration_called() const {
118 return create_configuration_called_;
119 }
120 const ServiceResultCallback& create_configuration_success_callback() const {
121 return create_configuration_success_callback_;
122 }
123 const ErrorCallback& create_configuration_error_callback() const {
124 return create_configuration_error_callback_;
125 }
126
127 private:
128 // Whether or not CreateConfiguration has been called on this fake.
129 mutable bool create_configuration_called_;
130 // The last |callback| passed to CreateConfiguration.
131 mutable ServiceResultCallback create_configuration_success_callback_;
132 // The last |error_callback| passed to CreateConfiguration.
133 mutable ErrorCallback create_configuration_error_callback_;
134 };
135
136 class WifiConfigDelegateChromeOsTest : public testing::Test {
137 protected:
138 WifiConfigDelegateChromeOsTest()
139 : fake_managed_network_configuration_handler_(
140 new FakeManagedNetworkConfigurationHandler()) {
141 config_delegate_.reset(
142 new WifiConfigDelegateChromeOs(
143 kUserHash,
144 fake_managed_network_configuration_handler_.get()));
145 }
146
147 // Wrapper for WifiConfigDelegateChromeOs::AddToLocalNetworks.
148 void AddToLocalNetworks(const WifiCredential& network_credential) {
149 config_delegate_->AddToLocalNetworks(network_credential);
150 }
151
152 // Returns a new WifiCredential constructed from the given parameters.
153 WifiCredential MakeCredential(const std::string& ssid,
154 WifiSecurityClass security_class,
155 const std::string& passphrase) {
156 std::unique_ptr<WifiCredential> credential = WifiCredential::Create(
157 WifiCredential::MakeSsidBytesForTest(ssid), security_class, passphrase);
158 CHECK(credential);
159 return *credential;
160 }
161
162 // Runs the last |callback| passed to CreateConfiguration, unless
163 // that |callback| is null.
164 void RunCreateConfigurationSuccessCallback() {
165 const char new_service_path[] = "/service/0";
166 const ServiceResultCallback callback =
167 fake_managed_network_configuration_handler_
168 ->create_configuration_success_callback();
169 if (!callback.is_null())
170 callback.Run(new_service_path, nullptr);
171 }
172
173 // Returns whether or not CreateConfiguration has been called
174 // on |fake_managed_network_configuration_handler_|.
175 size_t create_configuration_called() const {
176 return fake_managed_network_configuration_handler_
177 ->create_configuration_called();
178 }
179
180 // Returns the last |error_callback| passed to the CreateConfiguration
181 // method of |fake_managed_network_configuration_handler_|.
182 const ErrorCallback& create_configuration_error_callback() const {
183 return fake_managed_network_configuration_handler_
184 ->create_configuration_error_callback();
185 }
186
187 private:
188 std::unique_ptr<WifiConfigDelegateChromeOs> config_delegate_;
189 std::unique_ptr<FakeManagedNetworkConfigurationHandler>
190 fake_managed_network_configuration_handler_;
191
192 DISALLOW_COPY_AND_ASSIGN(WifiConfigDelegateChromeOsTest);
193 };
194
195 TEST_F(WifiConfigDelegateChromeOsTest, AddToLocalNetworksOpen) {
196 AddToLocalNetworks(MakeCredential(kSsid, SECURITY_CLASS_NONE, ""));
197 ASSERT_TRUE(create_configuration_called());
198 RunCreateConfigurationSuccessCallback();
199 }
200
201 TEST_F(WifiConfigDelegateChromeOsTest, AddToLocalNetworksWep) {
202 AddToLocalNetworks(MakeCredential(kSsid, SECURITY_CLASS_WEP, "abcde"));
203 ASSERT_TRUE(create_configuration_called());
204 RunCreateConfigurationSuccessCallback();
205 }
206
207 TEST_F(WifiConfigDelegateChromeOsTest, AddToLocalNetworksPsk) {
208 AddToLocalNetworks(
209 MakeCredential(kSsid, SECURITY_CLASS_PSK, "fake-psk-passphrase"));
210 ASSERT_TRUE(create_configuration_called());
211 RunCreateConfigurationSuccessCallback();
212 }
213
214 TEST_F(WifiConfigDelegateChromeOsTest, AddToLocalNetworksNonUtf8) {
215 AddToLocalNetworks(MakeCredential(kSsidNonUtf8, SECURITY_CLASS_PSK, ""));
216 // TODO(quiche): Change to EXPECT_TRUE, once we support non-UTF-8 SSIDs.
217 EXPECT_FALSE(create_configuration_called());
218 }
219
220 TEST_F(WifiConfigDelegateChromeOsTest,
221 AddToLocalNetworksCreateConfigurationFailure) {
222 AddToLocalNetworks(MakeCredential(kSsid, SECURITY_CLASS_NONE, ""));
223 EXPECT_TRUE(create_configuration_called());
224 if (!create_configuration_error_callback().is_null()) {
225 create_configuration_error_callback().Run(
226 "Config.CreateConfiguration Failed",
227 base::MakeUnique<base::DictionaryValue>());
228 }
229 }
230
231 } // namespace wifi_sync
OLDNEW
« no previous file with comments | « components/wifi_sync/wifi_config_delegate_chromeos.cc ('k') | components/wifi_sync/wifi_credential.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698