| 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 "net/http/http_auth_preferences.h" | 5 #include "net/http/http_auth_preferences.h" |
| 6 | 6 |
| 7 #include <string> | 7 #include <string> |
| 8 #include <vector> | 8 #include <vector> |
| 9 | 9 |
| 10 #include "base/callback.h" | 10 #include "base/callback.h" |
| 11 #include "base/run_loop.h" | 11 #include "base/run_loop.h" |
| 12 #include "base/single_thread_task_runner.h" | 12 #include "base/single_thread_task_runner.h" |
| 13 #include "base/threading/thread.h" | 13 #include "base/threading/thread.h" |
| 14 #include "testing/gtest/include/gtest/gtest.h" | 14 #include "testing/gtest/include/gtest/gtest.h" |
| 15 | 15 |
| 16 namespace net { | 16 namespace net { |
| 17 | 17 |
| 18 TEST(HttpAuthPreferencesTest, AuthSchemes) { | 18 TEST(HttpAuthPreferencesTest, AuthSchemes) { |
| 19 const char* const expected_schemes[] = {"scheme1", "scheme2"}; | 19 const char* const expected_schemes[] = {"scheme1", "scheme2"}; |
| 20 std::vector<std::string> expected_schemes_vector( | 20 std::vector<std::string> expected_schemes_vector( |
| 21 expected_schemes, expected_schemes + arraysize(expected_schemes)); | 21 expected_schemes, expected_schemes + arraysize(expected_schemes)); |
| 22 HttpAuthPreferences http_auth_preferences(expected_schemes_vector | 22 HttpAuthPreferences http_auth_preferences(expected_schemes_vector |
| 23 #if defined(OS_POSIX) && !defined(OS_ANDROID) | 23 #if defined(OS_POSIX) && !defined(OS_ANDROID) |
| 24 , | 24 , |
| 25 "" | 25 "" |
| 26 #endif | 26 #endif |
| 27 #if defined(OS_CHROMEOS) |
| 28 , |
| 29 true |
| 30 #endif |
| 27 ); | 31 ); |
| 28 EXPECT_TRUE(http_auth_preferences.IsSupportedScheme("scheme1")); | 32 EXPECT_TRUE(http_auth_preferences.IsSupportedScheme("scheme1")); |
| 29 EXPECT_TRUE(http_auth_preferences.IsSupportedScheme("scheme2")); | 33 EXPECT_TRUE(http_auth_preferences.IsSupportedScheme("scheme2")); |
| 30 EXPECT_FALSE(http_auth_preferences.IsSupportedScheme("scheme3")); | 34 EXPECT_FALSE(http_auth_preferences.IsSupportedScheme("scheme3")); |
| 31 } | 35 } |
| 32 | 36 |
| 33 TEST(HttpAuthPreferencesTest, DisableCnameLookup) { | 37 TEST(HttpAuthPreferencesTest, DisableCnameLookup) { |
| 34 std::vector<std::string> auth_schemes; | 38 std::vector<std::string> auth_schemes; |
| 35 HttpAuthPreferences http_auth_preferences(auth_schemes | 39 HttpAuthPreferences http_auth_preferences(auth_schemes |
| 36 #if defined(OS_POSIX) && !defined(OS_ANDROID) | 40 #if defined(OS_POSIX) && !defined(OS_ANDROID) |
| 37 , | 41 , |
| 38 "" | 42 "" |
| 39 #endif | 43 #endif |
| 44 #if defined(OS_CHROMEOS) |
| 45 , |
| 46 true |
| 47 #endif |
| 40 ); | 48 ); |
| 41 EXPECT_FALSE(http_auth_preferences.NegotiateDisableCnameLookup()); | 49 EXPECT_FALSE(http_auth_preferences.NegotiateDisableCnameLookup()); |
| 42 http_auth_preferences.set_negotiate_disable_cname_lookup(true); | 50 http_auth_preferences.set_negotiate_disable_cname_lookup(true); |
| 43 EXPECT_TRUE(http_auth_preferences.NegotiateDisableCnameLookup()); | 51 EXPECT_TRUE(http_auth_preferences.NegotiateDisableCnameLookup()); |
| 44 } | 52 } |
| 45 | 53 |
| 46 TEST(HttpAuthPreferencesTest, NegotiateEnablePort) { | 54 TEST(HttpAuthPreferencesTest, NegotiateEnablePort) { |
| 47 std::vector<std::string> auth_schemes; | 55 std::vector<std::string> auth_schemes; |
| 48 HttpAuthPreferences http_auth_preferences(auth_schemes | 56 HttpAuthPreferences http_auth_preferences(auth_schemes |
| 49 #if defined(OS_POSIX) && !defined(OS_ANDROID) | 57 #if defined(OS_POSIX) && !defined(OS_ANDROID) |
| 50 , | 58 , |
| 51 "" | 59 "" |
| 52 #endif | 60 #endif |
| 61 #if defined(OS_CHROMEOS) |
| 62 , |
| 63 true |
| 64 #endif |
| 53 ); | 65 ); |
| 54 EXPECT_FALSE(http_auth_preferences.NegotiateEnablePort()); | 66 EXPECT_FALSE(http_auth_preferences.NegotiateEnablePort()); |
| 55 http_auth_preferences.set_negotiate_enable_port(true); | 67 http_auth_preferences.set_negotiate_enable_port(true); |
| 56 EXPECT_TRUE(http_auth_preferences.NegotiateEnablePort()); | 68 EXPECT_TRUE(http_auth_preferences.NegotiateEnablePort()); |
| 57 } | 69 } |
| 58 | 70 |
| 59 #if defined(OS_ANDROID) | 71 #if defined(OS_ANDROID) |
| 60 TEST(HttpAuthPreferencesTest, AuthAndroidhNegotiateAccountType) { | 72 TEST(HttpAuthPreferencesTest, AuthAndroidhNegotiateAccountType) { |
| 61 std::vector<std::string> auth_schemes; | 73 std::vector<std::string> auth_schemes; |
| 62 HttpAuthPreferences http_auth_preferences(auth_schemes | 74 HttpAuthPreferences http_auth_preferences(auth_schemes |
| 63 #if defined(OS_POSIX) && !defined(OS_ANDROID) | 75 #if defined(OS_POSIX) && !defined(OS_ANDROID) |
| 64 , | 76 , |
| 65 "" | 77 "" |
| 66 #endif | 78 #endif |
| 79 #if defined(OS_CHROMEOS) |
| 80 , |
| 81 true |
| 82 #endif |
| 67 ); | 83 ); |
| 68 EXPECT_EQ(std::string(), | 84 EXPECT_EQ(std::string(), |
| 69 http_auth_preferences.AuthAndroidNegotiateAccountType()); | 85 http_auth_preferences.AuthAndroidNegotiateAccountType()); |
| 70 http_auth_preferences.set_auth_android_negotiate_account_type("foo"); | 86 http_auth_preferences.set_auth_android_negotiate_account_type("foo"); |
| 71 EXPECT_EQ(std::string("foo"), | 87 EXPECT_EQ(std::string("foo"), |
| 72 http_auth_preferences.AuthAndroidNegotiateAccountType()); | 88 http_auth_preferences.AuthAndroidNegotiateAccountType()); |
| 73 } | 89 } |
| 74 #endif | 90 #endif |
| 75 | 91 |
| 76 #if defined(OS_POSIX) && !defined(OS_ANDROID) | 92 #if defined(OS_POSIX) && !defined(OS_ANDROID) |
| 77 TEST(HttpAuthPreferencesTest, GssApiLibraryName) { | 93 TEST(HttpAuthPreferencesTest, GssApiLibraryName) { |
| 78 std::vector<std::string> AuthSchemes; | 94 std::vector<std::string> AuthSchemes; |
| 79 HttpAuthPreferences http_auth_preferences(AuthSchemes, "bar"); | 95 HttpAuthPreferences http_auth_preferences(AuthSchemes, "bar" |
| 96 #if defined(OS_CHROMEOS) |
| 97 , |
| 98 true |
| 99 #endif |
| 100 ); |
| 80 EXPECT_EQ(std::string("bar"), http_auth_preferences.GssapiLibraryName()); | 101 EXPECT_EQ(std::string("bar"), http_auth_preferences.GssapiLibraryName()); |
| 81 } | 102 } |
| 82 #endif | 103 #endif |
| 83 | 104 |
| 105 #if defined(OS_CHROMEOS) |
| 106 TEST(HttpAuthPreferencesTest, AllowGssapiLibraryLoadTrue) { |
| 107 std::vector<std::string> AuthSchemes; |
| 108 HttpAuthPreferences http_auth_preferences(AuthSchemes, "foo", true); |
| 109 EXPECT_TRUE(http_auth_preferences.AllowGssapiLibraryLoad()); |
| 110 } |
| 111 #endif |
| 112 |
| 113 #if defined(OS_CHROMEOS) |
| 114 TEST(HttpAuthPreferencesTest, AllowGssapiLibraryLoadFalse) { |
| 115 std::vector<std::string> AuthSchemes; |
| 116 HttpAuthPreferences http_auth_preferences(AuthSchemes, "foo", false); |
| 117 EXPECT_FALSE(http_auth_preferences.AllowGssapiLibraryLoad()); |
| 118 } |
| 119 #endif |
| 120 |
| 84 TEST(HttpAuthPreferencesTest, AuthServerWhitelist) { | 121 TEST(HttpAuthPreferencesTest, AuthServerWhitelist) { |
| 85 std::vector<std::string> auth_schemes; | 122 std::vector<std::string> auth_schemes; |
| 86 HttpAuthPreferences http_auth_preferences(auth_schemes | 123 HttpAuthPreferences http_auth_preferences(auth_schemes |
| 87 #if defined(OS_POSIX) && !defined(OS_ANDROID) | 124 #if defined(OS_POSIX) && !defined(OS_ANDROID) |
| 88 , | 125 , |
| 89 "" | 126 "" |
| 90 #endif | 127 #endif |
| 128 #if defined(OS_CHROMEOS) |
| 129 , |
| 130 true |
| 131 #endif |
| 91 ); | 132 ); |
| 92 // Check initial value | 133 // Check initial value |
| 93 EXPECT_FALSE(http_auth_preferences.CanUseDefaultCredentials(GURL("abc"))); | 134 EXPECT_FALSE(http_auth_preferences.CanUseDefaultCredentials(GURL("abc"))); |
| 94 http_auth_preferences.set_server_whitelist("*"); | 135 http_auth_preferences.set_server_whitelist("*"); |
| 95 EXPECT_TRUE(http_auth_preferences.CanUseDefaultCredentials(GURL("abc"))); | 136 EXPECT_TRUE(http_auth_preferences.CanUseDefaultCredentials(GURL("abc"))); |
| 96 } | 137 } |
| 97 | 138 |
| 98 TEST(HttpAuthPreferencesTest, AuthDelegateWhitelist) { | 139 TEST(HttpAuthPreferencesTest, AuthDelegateWhitelist) { |
| 99 std::vector<std::string> auth_schemes; | 140 std::vector<std::string> auth_schemes; |
| 100 HttpAuthPreferences http_auth_preferences(auth_schemes | 141 HttpAuthPreferences http_auth_preferences(auth_schemes |
| 101 #if defined(OS_POSIX) && !defined(OS_ANDROID) | 142 #if defined(OS_POSIX) && !defined(OS_ANDROID) |
| 102 , | 143 , |
| 103 "" | 144 "" |
| 104 #endif | 145 #endif |
| 146 #if defined(OS_CHROMEOS) |
| 147 , |
| 148 true |
| 149 #endif |
| 105 ); | 150 ); |
| 106 // Check initial value | 151 // Check initial value |
| 107 EXPECT_FALSE(http_auth_preferences.CanDelegate(GURL("abc"))); | 152 EXPECT_FALSE(http_auth_preferences.CanDelegate(GURL("abc"))); |
| 108 http_auth_preferences.set_delegate_whitelist("*"); | 153 http_auth_preferences.set_delegate_whitelist("*"); |
| 109 EXPECT_TRUE(http_auth_preferences.CanDelegate(GURL("abc"))); | 154 EXPECT_TRUE(http_auth_preferences.CanDelegate(GURL("abc"))); |
| 110 } | 155 } |
| 111 | 156 |
| 112 } // namespace net | 157 } // namespace net |
| OLD | NEW |