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 "base/basictypes.h" | 5 #include "base/basictypes.h" |
6 #include "base/bind.h" | 6 #include "base/bind.h" |
7 #include "base/message_loop/message_loop.h" | 7 #include "base/message_loop/message_loop.h" |
8 #include "base/synchronization/waitable_event.h" | 8 #include "base/synchronization/waitable_event.h" |
9 #include "remoting/host/dns_blackhole_checker.h" | 9 #include "remoting/host/dns_blackhole_checker.h" |
10 #include "remoting/host/policy_hack/fake_policy_watcher.h" | 10 #include "remoting/host/policy_hack/fake_policy_watcher.h" |
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
63 unknown_policies_.SetString("UnknownPolicyTwo", std::string()); | 63 unknown_policies_.SetString("UnknownPolicyTwo", std::string()); |
64 | 64 |
65 const char kOverrideNatTraversalToFalse[] = | 65 const char kOverrideNatTraversalToFalse[] = |
66 "{ \"RemoteAccessHostFirewallTraversal\": false }"; | 66 "{ \"RemoteAccessHostFirewallTraversal\": false }"; |
67 nat_true_and_overridden_.SetBoolean(PolicyWatcher::kNatPolicyName, true); | 67 nat_true_and_overridden_.SetBoolean(PolicyWatcher::kNatPolicyName, true); |
68 nat_true_and_overridden_.SetString( | 68 nat_true_and_overridden_.SetString( |
69 PolicyWatcher::kHostDebugOverridePoliciesName, | 69 PolicyWatcher::kHostDebugOverridePoliciesName, |
70 kOverrideNatTraversalToFalse); | 70 kOverrideNatTraversalToFalse); |
71 pairing_true_.SetBoolean(PolicyWatcher::kHostAllowClientPairing, true); | 71 pairing_true_.SetBoolean(PolicyWatcher::kHostAllowClientPairing, true); |
72 pairing_false_.SetBoolean(PolicyWatcher::kHostAllowClientPairing, false); | 72 pairing_false_.SetBoolean(PolicyWatcher::kHostAllowClientPairing, false); |
| 73 gnubby_auth_true_.SetBoolean(PolicyWatcher::kHostAllowGnubbyAuthPolicyName, |
| 74 true); |
| 75 gnubby_auth_false_.SetBoolean(PolicyWatcher::kHostAllowGnubbyAuthPolicyName, |
| 76 false); |
73 #if !defined(NDEBUG) | 77 #if !defined(NDEBUG) |
74 SetDefaults(nat_false_overridden_others_default_); | 78 SetDefaults(nat_false_overridden_others_default_); |
75 nat_false_overridden_others_default_.SetBoolean( | 79 nat_false_overridden_others_default_.SetBoolean( |
76 PolicyWatcher::kNatPolicyName, false); | 80 PolicyWatcher::kNatPolicyName, false); |
77 nat_false_overridden_others_default_.SetString( | 81 nat_false_overridden_others_default_.SetString( |
78 PolicyWatcher::kHostDebugOverridePoliciesName, | 82 PolicyWatcher::kHostDebugOverridePoliciesName, |
79 kOverrideNatTraversalToFalse); | 83 kOverrideNatTraversalToFalse); |
80 #endif | 84 #endif |
81 } | 85 } |
82 | 86 |
(...skipping 29 matching lines...) Expand all Loading... |
112 base::DictionaryValue nat_true_domain_empty_; | 116 base::DictionaryValue nat_true_domain_empty_; |
113 base::DictionaryValue nat_true_domain_full_; | 117 base::DictionaryValue nat_true_domain_full_; |
114 base::DictionaryValue nat_false_domain_empty_; | 118 base::DictionaryValue nat_false_domain_empty_; |
115 base::DictionaryValue nat_false_domain_full_; | 119 base::DictionaryValue nat_false_domain_full_; |
116 base::DictionaryValue nat_true_domain_empty_others_default_; | 120 base::DictionaryValue nat_true_domain_empty_others_default_; |
117 base::DictionaryValue unknown_policies_; | 121 base::DictionaryValue unknown_policies_; |
118 base::DictionaryValue nat_true_and_overridden_; | 122 base::DictionaryValue nat_true_and_overridden_; |
119 base::DictionaryValue nat_false_overridden_others_default_; | 123 base::DictionaryValue nat_false_overridden_others_default_; |
120 base::DictionaryValue pairing_true_; | 124 base::DictionaryValue pairing_true_; |
121 base::DictionaryValue pairing_false_; | 125 base::DictionaryValue pairing_false_; |
| 126 base::DictionaryValue gnubby_auth_true_; |
| 127 base::DictionaryValue gnubby_auth_false_; |
122 | 128 |
123 private: | 129 private: |
124 void SetDefaults(base::DictionaryValue& dict) { | 130 void SetDefaults(base::DictionaryValue& dict) { |
125 dict.SetBoolean(PolicyWatcher::kNatPolicyName, true); | 131 dict.SetBoolean(PolicyWatcher::kNatPolicyName, true); |
126 dict.SetBoolean(PolicyWatcher::kHostRequireTwoFactorPolicyName, false); | 132 dict.SetBoolean(PolicyWatcher::kHostRequireTwoFactorPolicyName, false); |
127 dict.SetString(PolicyWatcher::kHostDomainPolicyName, std::string()); | 133 dict.SetString(PolicyWatcher::kHostDomainPolicyName, std::string()); |
128 dict.SetBoolean(PolicyWatcher::kHostMatchUsernamePolicyName, false); | 134 dict.SetBoolean(PolicyWatcher::kHostMatchUsernamePolicyName, false); |
129 dict.SetString(PolicyWatcher::kHostTalkGadgetPrefixPolicyName, | 135 dict.SetString(PolicyWatcher::kHostTalkGadgetPrefixPolicyName, |
130 kDefaultHostTalkGadgetPrefix); | 136 kDefaultHostTalkGadgetPrefix); |
131 dict.SetBoolean(PolicyWatcher::kHostRequireCurtainPolicyName, false); | 137 dict.SetBoolean(PolicyWatcher::kHostRequireCurtainPolicyName, false); |
132 dict.SetString(PolicyWatcher::kHostTokenUrlPolicyName, std::string()); | 138 dict.SetString(PolicyWatcher::kHostTokenUrlPolicyName, std::string()); |
133 dict.SetString(PolicyWatcher::kHostTokenValidationUrlPolicyName, | 139 dict.SetString(PolicyWatcher::kHostTokenValidationUrlPolicyName, |
134 std::string()); | 140 std::string()); |
135 dict.SetBoolean(PolicyWatcher::kHostAllowClientPairing, true); | 141 dict.SetBoolean(PolicyWatcher::kHostAllowClientPairing, true); |
| 142 dict.SetBoolean(PolicyWatcher::kHostAllowGnubbyAuthPolicyName, false); |
136 #if !defined(NDEBUG) | 143 #if !defined(NDEBUG) |
137 dict.SetString(PolicyWatcher::kHostDebugOverridePoliciesName, ""); | 144 dict.SetString(PolicyWatcher::kHostDebugOverridePoliciesName, ""); |
138 #endif | 145 #endif |
139 } | 146 } |
140 }; | 147 }; |
141 | 148 |
142 const char* PolicyWatcherTest::kHostDomain = "google.com"; | 149 const char* PolicyWatcherTest::kHostDomain = "google.com"; |
143 | 150 |
144 MATCHER_P(IsPolicies, dict, "") { | 151 MATCHER_P(IsPolicies, dict, "") { |
145 return arg->Equals(dict); | 152 return arg->Equals(dict); |
(...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
322 EXPECT_CALL(mock_policy_callback_, | 329 EXPECT_CALL(mock_policy_callback_, |
323 OnPolicyUpdatePtr(IsPolicies(&pairing_true_))); | 330 OnPolicyUpdatePtr(IsPolicies(&pairing_true_))); |
324 | 331 |
325 StartWatching(); | 332 StartWatching(); |
326 policy_watcher_->SetPolicies(&empty_); | 333 policy_watcher_->SetPolicies(&empty_); |
327 policy_watcher_->SetPolicies(&pairing_false_); | 334 policy_watcher_->SetPolicies(&pairing_false_); |
328 policy_watcher_->SetPolicies(&pairing_true_); | 335 policy_watcher_->SetPolicies(&pairing_true_); |
329 StopWatching(); | 336 StopWatching(); |
330 } | 337 } |
331 | 338 |
| 339 TEST_F(PolicyWatcherTest, GnubbyAuth) { |
| 340 testing::InSequence sequence; |
| 341 EXPECT_CALL(mock_policy_callback_, |
| 342 OnPolicyUpdatePtr(IsPolicies(&nat_true_others_default_))); |
| 343 EXPECT_CALL(mock_policy_callback_, |
| 344 OnPolicyUpdatePtr(IsPolicies(&gnubby_auth_true_))); |
| 345 EXPECT_CALL(mock_policy_callback_, |
| 346 OnPolicyUpdatePtr(IsPolicies(&gnubby_auth_false_))); |
| 347 |
| 348 StartWatching(); |
| 349 policy_watcher_->SetPolicies(&empty_); |
| 350 policy_watcher_->SetPolicies(&gnubby_auth_true_); |
| 351 policy_watcher_->SetPolicies(&gnubby_auth_false_); |
| 352 StopWatching(); |
| 353 } |
| 354 |
332 } // namespace policy_hack | 355 } // namespace policy_hack |
333 } // namespace remoting | 356 } // namespace remoting |
OLD | NEW |