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

Unified Diff: net/http/http_auth_cache_unittest.cc

Issue 1157333005: [net/http auth] Use strings to identify authentication schemes. Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 2 months 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « net/http/http_auth_cache.cc ('k') | net/http/http_auth_challenge_tokenizer.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/http/http_auth_cache_unittest.cc
diff --git a/net/http/http_auth_cache_unittest.cc b/net/http/http_auth_cache_unittest.cc
index 18866eaabb072ae46fc843d79f9985166ac91b2e..65bf17dd066d6a30efb0abe32330ae9037be6d78 100644
--- a/net/http/http_auth_cache_unittest.cc
+++ b/net/http/http_auth_cache_unittest.cc
@@ -21,15 +21,13 @@ namespace {
class MockAuthHandler : public HttpAuthHandler {
public:
- MockAuthHandler(HttpAuth::Scheme scheme,
+ MockAuthHandler(const std::string& scheme,
const std::string& realm,
HttpAuth::Target target) {
// Can't use initializer list since these are members of the base class.
auth_scheme_ = scheme;
realm_ = realm;
- score_ = 1;
target_ = target;
- properties_ = 0;
}
HttpAuth::AuthorizationResult HandleAnotherChallenge(
@@ -87,27 +85,21 @@ TEST(HttpAuthCacheTest, Basic) {
// "Realm4"
scoped_ptr<HttpAuthHandler> realm1_handler(
- new MockAuthHandler(HttpAuth::AUTH_SCHEME_BASIC,
- kRealm1,
- HttpAuth::AUTH_SERVER));
+ new MockAuthHandler("basic", kRealm1, HttpAuth::AUTH_SERVER));
cache.Add(origin, realm1_handler->realm(), realm1_handler->auth_scheme(),
"Basic realm=Realm1",
CreateASCIICredentials("realm1-user", "realm1-password"),
"/foo/bar/index.html");
scoped_ptr<HttpAuthHandler> realm2_handler(
- new MockAuthHandler(HttpAuth::AUTH_SCHEME_BASIC,
- kRealm2,
- HttpAuth::AUTH_SERVER));
+ new MockAuthHandler("basic", kRealm2, HttpAuth::AUTH_SERVER));
cache.Add(origin, realm2_handler->realm(), realm2_handler->auth_scheme(),
"Basic realm=Realm2",
CreateASCIICredentials("realm2-user", "realm2-password"),
"/foo2/index.html");
scoped_ptr<HttpAuthHandler> realm3_basic_handler(
- new MockAuthHandler(HttpAuth::AUTH_SCHEME_BASIC,
- kRealm3,
- HttpAuth::AUTH_PROXY));
+ new MockAuthHandler("basic", kRealm3, HttpAuth::AUTH_PROXY));
cache.Add(
origin,
realm3_basic_handler->realm(),
@@ -117,9 +109,7 @@ TEST(HttpAuthCacheTest, Basic) {
std::string());
scoped_ptr<HttpAuthHandler> realm3_digest_handler(
- new MockAuthHandler(HttpAuth::AUTH_SCHEME_DIGEST,
- kRealm3,
- HttpAuth::AUTH_PROXY));
+ new MockAuthHandler("digest", kRealm3, HttpAuth::AUTH_PROXY));
cache.Add(origin, realm3_digest_handler->realm(),
realm3_digest_handler->auth_scheme(), "Digest realm=Realm3",
CreateASCIICredentials("realm3-digest-user",
@@ -127,9 +117,7 @@ TEST(HttpAuthCacheTest, Basic) {
"/baz/index.html");
scoped_ptr<HttpAuthHandler> realm4_basic_handler(
- new MockAuthHandler(HttpAuth::AUTH_SCHEME_BASIC,
- kRealm4,
- HttpAuth::AUTH_SERVER));
+ new MockAuthHandler("basic", kRealm4, HttpAuth::AUTH_SERVER));
cache.Add(origin, realm4_basic_handler->realm(),
realm4_basic_handler->auth_scheme(), "Basic realm=Realm4",
CreateASCIICredentials("realm4-basic-user",
@@ -137,24 +125,21 @@ TEST(HttpAuthCacheTest, Basic) {
"/");
// There is no Realm5
- entry = cache.Lookup(origin, kRealm5, HttpAuth::AUTH_SCHEME_BASIC);
+ entry = cache.Lookup(origin, kRealm5, "basic");
EXPECT_TRUE(NULL == entry);
// While Realm3 does exist, the origin scheme is wrong.
- entry = cache.Lookup(GURL("https://www.google.com"), kRealm3,
- HttpAuth::AUTH_SCHEME_BASIC);
+ entry = cache.Lookup(GURL("https://www.google.com"), kRealm3, "basic");
EXPECT_TRUE(NULL == entry);
// Realm, origin scheme ok, authentication scheme wrong
- entry = cache.Lookup
- (GURL("http://www.google.com"), kRealm1, HttpAuth::AUTH_SCHEME_DIGEST);
+ entry = cache.Lookup(GURL("http://www.google.com"), kRealm1, "digest");
EXPECT_TRUE(NULL == entry);
// Valid lookup by origin, realm, scheme.
- entry = cache.Lookup(
- GURL("http://www.google.com:80"), kRealm3, HttpAuth::AUTH_SCHEME_BASIC);
+ entry = cache.Lookup(GURL("http://www.google.com:80"), kRealm3, "basic");
ASSERT_FALSE(NULL == entry);
- EXPECT_EQ(HttpAuth::AUTH_SCHEME_BASIC, entry->scheme());
+ EXPECT_EQ("basic", entry->scheme());
EXPECT_EQ(kRealm3, entry->realm());
EXPECT_EQ("Basic realm=Realm3", entry->auth_challenge());
EXPECT_EQ(ASCIIToUTF16("realm3-basic-user"), entry->credentials().username());
@@ -163,10 +148,9 @@ TEST(HttpAuthCacheTest, Basic) {
// Valid lookup by origin, realm, scheme when there's a duplicate
// origin, realm in the cache
- entry = cache.Lookup(
- GURL("http://www.google.com:80"), kRealm3, HttpAuth::AUTH_SCHEME_DIGEST);
+ entry = cache.Lookup(GURL("http://www.google.com:80"), kRealm3, "digest");
ASSERT_FALSE(NULL == entry);
- EXPECT_EQ(HttpAuth::AUTH_SCHEME_DIGEST, entry->scheme());
+ EXPECT_EQ("digest", entry->scheme());
EXPECT_EQ(kRealm3, entry->realm());
EXPECT_EQ("Digest realm=Realm3", entry->auth_challenge());
EXPECT_EQ(ASCIIToUTF16("realm3-digest-user"),
@@ -175,19 +159,17 @@ TEST(HttpAuthCacheTest, Basic) {
entry->credentials().password());
// Valid lookup by realm.
- entry = cache.Lookup(origin, kRealm2, HttpAuth::AUTH_SCHEME_BASIC);
+ entry = cache.Lookup(origin, kRealm2, "basic");
ASSERT_FALSE(NULL == entry);
- EXPECT_EQ(HttpAuth::AUTH_SCHEME_BASIC, entry->scheme());
+ EXPECT_EQ("basic", entry->scheme());
EXPECT_EQ(kRealm2, entry->realm());
EXPECT_EQ("Basic realm=Realm2", entry->auth_challenge());
EXPECT_EQ(ASCIIToUTF16("realm2-user"), entry->credentials().username());
EXPECT_EQ(ASCIIToUTF16("realm2-password"), entry->credentials().password());
// Check that subpaths are recognized.
- HttpAuthCache::Entry* realm2_entry = cache.Lookup(
- origin, kRealm2, HttpAuth::AUTH_SCHEME_BASIC);
- HttpAuthCache::Entry* realm4_entry = cache.Lookup(
- origin, kRealm4, HttpAuth::AUTH_SCHEME_BASIC);
+ HttpAuthCache::Entry* realm2_entry = cache.Lookup(origin, kRealm2, "basic");
+ HttpAuthCache::Entry* realm4_entry = cache.Lookup(origin, kRealm4, "basic");
EXPECT_FALSE(NULL == realm2_entry);
EXPECT_FALSE(NULL == realm4_entry);
// Realm4 applies to '/' and Realm2 applies to '/foo2/'.
@@ -214,7 +196,7 @@ TEST(HttpAuthCacheTest, Basic) {
// Confirm we find the same realm, different auth scheme by path lookup
HttpAuthCache::Entry* realm3_digest_entry =
- cache.Lookup(origin, kRealm3, HttpAuth::AUTH_SCHEME_DIGEST);
+ cache.Lookup(origin, kRealm3, "digest");
EXPECT_FALSE(NULL == realm3_digest_entry);
entry = cache.LookupByPath(origin, "/baz/index.html");
EXPECT_TRUE(realm3_digest_entry == entry);
@@ -225,7 +207,7 @@ TEST(HttpAuthCacheTest, Basic) {
// Confirm we find the same realm, different auth scheme by path lookup
HttpAuthCache::Entry* realm3DigestEntry =
- cache.Lookup(origin, kRealm3, HttpAuth::AUTH_SCHEME_DIGEST);
+ cache.Lookup(origin, kRealm3, "digest");
EXPECT_FALSE(NULL == realm3DigestEntry);
entry = cache.LookupByPath(origin, "/baz/index.html");
EXPECT_TRUE(realm3DigestEntry == entry);
@@ -237,7 +219,7 @@ TEST(HttpAuthCacheTest, Basic) {
// Lookup using empty path (may be used for proxy).
entry = cache.LookupByPath(origin, std::string());
EXPECT_FALSE(NULL == entry);
- EXPECT_EQ(HttpAuth::AUTH_SCHEME_BASIC, entry->scheme());
+ EXPECT_EQ("basic", entry->scheme());
EXPECT_EQ(kRealm3, entry->realm());
}
@@ -281,8 +263,7 @@ TEST(HttpAuthCacheTest, AddToExistingEntry) {
const std::string auth_challenge = "Basic realm=MyRealm";
scoped_ptr<HttpAuthHandler> handler(
- new MockAuthHandler(
- HttpAuth::AUTH_SCHEME_BASIC, "MyRealm", HttpAuth::AUTH_SERVER));
+ new MockAuthHandler("basic", "MyRealm", HttpAuth::AUTH_SERVER));
HttpAuthCache::Entry* orig_entry = cache.Add(
origin, handler->realm(), handler->auth_scheme(), auth_challenge,
CreateASCIICredentials("user1", "password1"), "/x/y/z/");
@@ -291,10 +272,9 @@ TEST(HttpAuthCacheTest, AddToExistingEntry) {
cache.Add(origin, handler->realm(), handler->auth_scheme(), auth_challenge,
CreateASCIICredentials("user3", "password3"), "/z/y");
- HttpAuthCache::Entry* entry = cache.Lookup(
- origin, "MyRealm", HttpAuth::AUTH_SCHEME_BASIC);
+ HttpAuthCache::Entry* entry = cache.Lookup(origin, "MyRealm", "basic");
- EXPECT_TRUE(entry == orig_entry);
+ ASSERT_TRUE(entry == orig_entry);
EXPECT_EQ(ASCIIToUTF16("user3"), entry->credentials().username());
EXPECT_EQ(ASCIIToUTF16("password3"), entry->credentials().password());
@@ -307,20 +287,16 @@ TEST(HttpAuthCacheTest, Remove) {
GURL origin("http://foobar2.com");
scoped_ptr<HttpAuthHandler> realm1_handler(
- new MockAuthHandler(
- HttpAuth::AUTH_SCHEME_BASIC, kRealm1, HttpAuth::AUTH_SERVER));
+ new MockAuthHandler("basic", kRealm1, HttpAuth::AUTH_SERVER));
scoped_ptr<HttpAuthHandler> realm2_handler(
- new MockAuthHandler(
- HttpAuth::AUTH_SCHEME_BASIC, kRealm2, HttpAuth::AUTH_SERVER));
+ new MockAuthHandler("basic", kRealm2, HttpAuth::AUTH_SERVER));
scoped_ptr<HttpAuthHandler> realm3_basic_handler(
- new MockAuthHandler(
- HttpAuth::AUTH_SCHEME_BASIC, kRealm3, HttpAuth::AUTH_SERVER));
+ new MockAuthHandler("basic", kRealm3, HttpAuth::AUTH_SERVER));
scoped_ptr<HttpAuthHandler> realm3_digest_handler(
- new MockAuthHandler(
- HttpAuth::AUTH_SCHEME_DIGEST, kRealm3, HttpAuth::AUTH_SERVER));
+ new MockAuthHandler("digest", kRealm3, HttpAuth::AUTH_SERVER));
HttpAuthCache cache;
cache.Add(origin, realm1_handler->realm(), realm1_handler->auth_scheme(),
@@ -336,58 +312,47 @@ TEST(HttpAuthCacheTest, Remove) {
AuthCredentials(kRoot, kWileCoyote), "/");
// Fails, because there is no realm "Realm5".
- EXPECT_FALSE(cache.Remove(
- origin, kRealm5, HttpAuth::AUTH_SCHEME_BASIC,
- AuthCredentials(kAlice, k123)));
+ EXPECT_FALSE(
+ cache.Remove(origin, kRealm5, "basic", AuthCredentials(kAlice, k123)));
// Fails because the origin is wrong.
- EXPECT_FALSE(cache.Remove(GURL("http://foobar2.com:100"),
- kRealm1,
- HttpAuth::AUTH_SCHEME_BASIC,
+ EXPECT_FALSE(cache.Remove(GURL("http://foobar2.com:100"), kRealm1, "basic",
AuthCredentials(kAlice, k123)));
// Fails because the username is wrong.
- EXPECT_FALSE(cache.Remove(
- origin, kRealm1, HttpAuth::AUTH_SCHEME_BASIC,
- AuthCredentials(kAlice2, k123)));
+ EXPECT_FALSE(
+ cache.Remove(origin, kRealm1, "basic", AuthCredentials(kAlice2, k123)));
// Fails because the password is wrong.
- EXPECT_FALSE(cache.Remove(
- origin, kRealm1, HttpAuth::AUTH_SCHEME_BASIC,
- AuthCredentials(kAlice, k1234)));
+ EXPECT_FALSE(
+ cache.Remove(origin, kRealm1, "basic", AuthCredentials(kAlice, k1234)));
// Fails because the authentication type is wrong.
- EXPECT_FALSE(cache.Remove(
- origin, kRealm1, HttpAuth::AUTH_SCHEME_DIGEST,
- AuthCredentials(kAlice, k123)));
+ EXPECT_FALSE(
+ cache.Remove(origin, kRealm1, "digest", AuthCredentials(kAlice, k123)));
// Succeeds.
- EXPECT_TRUE(cache.Remove(
- origin, kRealm1, HttpAuth::AUTH_SCHEME_BASIC,
- AuthCredentials(kAlice, k123)));
+ EXPECT_TRUE(
+ cache.Remove(origin, kRealm1, "basic", AuthCredentials(kAlice, k123)));
// Fails because we just deleted the entry!
- EXPECT_FALSE(cache.Remove(
- origin, kRealm1, HttpAuth::AUTH_SCHEME_BASIC,
- AuthCredentials(kAlice, k123)));
+ EXPECT_FALSE(
+ cache.Remove(origin, kRealm1, "basic", AuthCredentials(kAlice, k123)));
// Succeed when there are two authentication types for the same origin,realm.
- EXPECT_TRUE(cache.Remove(
- origin, kRealm3, HttpAuth::AUTH_SCHEME_DIGEST,
- AuthCredentials(kRoot, kWileCoyote)));
+ EXPECT_TRUE(cache.Remove(origin, kRealm3, "digest",
+ AuthCredentials(kRoot, kWileCoyote)));
// Succeed as above, but when entries were added in opposite order
cache.Add(origin, realm3_digest_handler->realm(),
realm3_digest_handler->auth_scheme(), "digest realm=Realm3",
AuthCredentials(kRoot, kWileCoyote), "/");
- EXPECT_TRUE(cache.Remove(
- origin, kRealm3, HttpAuth::AUTH_SCHEME_BASIC,
- AuthCredentials(kAdmin, kPassword)));
+ EXPECT_TRUE(cache.Remove(origin, kRealm3, "basic",
+ AuthCredentials(kAdmin, kPassword)));
// Make sure that removing one entry still leaves the other available for
// lookup.
- HttpAuthCache::Entry* entry = cache.Lookup(
- origin, kRealm3, HttpAuth::AUTH_SCHEME_DIGEST);
+ HttpAuthCache::Entry* entry = cache.Lookup(origin, kRealm3, "digest");
EXPECT_FALSE(NULL == entry);
}
@@ -395,8 +360,7 @@ TEST(HttpAuthCacheTest, UpdateStaleChallenge) {
HttpAuthCache cache;
GURL origin("http://foobar2.com");
scoped_ptr<HttpAuthHandler> digest_handler(
- new MockAuthHandler(
- HttpAuth::AUTH_SCHEME_DIGEST, kRealm1, HttpAuth::AUTH_PROXY));
+ new MockAuthHandler("digest", kRealm1, HttpAuth::AUTH_PROXY));
HttpAuthCache::Entry* entry_pre = cache.Add(
origin,
digest_handler->realm(),
@@ -446,20 +410,16 @@ TEST(HttpAuthCacheTest, UpdateAllFrom) {
std::string another_path("/another/path");
scoped_ptr<HttpAuthHandler> realm1_handler(
- new MockAuthHandler(
- HttpAuth::AUTH_SCHEME_BASIC, kRealm1, HttpAuth::AUTH_SERVER));
+ new MockAuthHandler("basic", kRealm1, HttpAuth::AUTH_SERVER));
scoped_ptr<HttpAuthHandler> realm2_handler(
- new MockAuthHandler(
- HttpAuth::AUTH_SCHEME_BASIC, kRealm2, HttpAuth::AUTH_PROXY));
+ new MockAuthHandler("basic", kRealm2, HttpAuth::AUTH_PROXY));
scoped_ptr<HttpAuthHandler> realm3_digest_handler(
- new MockAuthHandler(
- HttpAuth::AUTH_SCHEME_DIGEST, kRealm3, HttpAuth::AUTH_SERVER));
+ new MockAuthHandler("digest", kRealm3, HttpAuth::AUTH_SERVER));
scoped_ptr<HttpAuthHandler> realm4_handler(
- new MockAuthHandler(
- HttpAuth::AUTH_SCHEME_BASIC, kRealm4, HttpAuth::AUTH_SERVER));
+ new MockAuthHandler("basic", kRealm4, HttpAuth::AUTH_SERVER));
HttpAuthCache first_cache;
HttpAuthCache::Entry* entry;
@@ -493,19 +453,19 @@ TEST(HttpAuthCacheTest, UpdateAllFrom) {
second_cache.UpdateAllFrom(first_cache);
// Copied from first_cache.
- entry = second_cache.Lookup(origin, kRealm1, HttpAuth::AUTH_SCHEME_BASIC);
+ entry = second_cache.Lookup(origin, kRealm1, "basic");
EXPECT_TRUE(NULL != entry);
EXPECT_EQ(kAlice, entry->credentials().username());
EXPECT_EQ(k123, entry->credentials().password());
// Copied from first_cache.
- entry = second_cache.Lookup(origin, kRealm2, HttpAuth::AUTH_SCHEME_BASIC);
+ entry = second_cache.Lookup(origin, kRealm2, "basic");
EXPECT_TRUE(NULL != entry);
EXPECT_EQ(kAlice2, entry->credentials().username());
EXPECT_EQ(k1234, entry->credentials().password());
// Overwritten from first_cache.
- entry = second_cache.Lookup(origin, kRealm3, HttpAuth::AUTH_SCHEME_DIGEST);
+ entry = second_cache.Lookup(origin, kRealm3, "digest");
EXPECT_TRUE(NULL != entry);
EXPECT_EQ(kRoot, entry->credentials().username());
EXPECT_EQ(kWileCoyote, entry->credentials().password());
@@ -519,7 +479,7 @@ TEST(HttpAuthCacheTest, UpdateAllFrom) {
EXPECT_EQ(kWileCoyote, entry->credentials().password());
// Left intact in second_cache.
- entry = second_cache.Lookup(origin, kRealm4, HttpAuth::AUTH_SCHEME_BASIC);
+ entry = second_cache.Lookup(origin, kRealm4, "basic");
EXPECT_TRUE(NULL != entry);
EXPECT_EQ(kAdmin, entry->credentials().username());
EXPECT_EQ(kRoot, entry->credentials().password());
@@ -544,18 +504,14 @@ class HttpAuthCacheEvictionTest : public testing::Test {
}
void AddPathToRealm(int realm_i, int path_i) {
- cache_.Add(origin_,
- GenerateRealm(realm_i),
- HttpAuth::AUTH_SCHEME_BASIC,
- std::string(),
+ cache_.Add(origin_, GenerateRealm(realm_i), "basic", std::string(),
AuthCredentials(kUsername, kPassword),
GeneratePath(realm_i, path_i));
}
void CheckRealmExistence(int realm_i, bool exists) {
const HttpAuthCache::Entry* entry =
- cache_.Lookup(
- origin_, GenerateRealm(realm_i), HttpAuth::AUTH_SCHEME_BASIC);
+ cache_.Lookup(origin_, GenerateRealm(realm_i), "basic");
if (exists) {
EXPECT_FALSE(entry == NULL);
EXPECT_EQ(GenerateRealm(realm_i), entry->realm());
« no previous file with comments | « net/http/http_auth_cache.cc ('k') | net/http/http_auth_challenge_tokenizer.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698