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

Side by Side Diff: net/http/http_network_transaction_unittest.cc

Issue 43113: Merge NTLMAuthModule into HttpAuthHandlerNTLM. The... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Upload before checkin Created 11 years, 9 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « net/http/http_auth_handler_ntlm.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2006-2008 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 <math.h> // ceil 5 #include <math.h> // ceil
6 6
7 #include "base/compiler_specific.h" 7 #include "base/compiler_specific.h"
8 #include "net/base/client_socket_factory.h" 8 #include "net/base/client_socket_factory.h"
9 #include "net/base/test_completion_callback.h" 9 #include "net/base/test_completion_callback.h"
10 #include "net/base/upload_data.h" 10 #include "net/base/upload_data.h"
(...skipping 284 matching lines...) Expand 10 before | Expand all | Expand 10 after
295 const int sizeof_data = num_rows * sizeof_row; 295 const int sizeof_data = num_rows * sizeof_row;
296 DCHECK(sizeof_data >= size); 296 DCHECK(sizeof_data >= size);
297 str->reserve(sizeof_data); 297 str->reserve(sizeof_data);
298 298
299 for (int i = 0; i < num_rows; ++i) 299 for (int i = 0; i < num_rows; ++i)
300 str->append(row, sizeof_row); 300 str->append(row, sizeof_row);
301 } 301 }
302 302
303 // Alternative functions that eliminate randomness and dependency on the local 303 // Alternative functions that eliminate randomness and dependency on the local
304 // host name so that the generated NTLM messages are reproducible. 304 // host name so that the generated NTLM messages are reproducible.
305 void MyGenerateRandom1(uint8* output, size_t n) { 305 void MockGenerateRandom1(uint8* output, size_t n) {
306 static const uint8 bytes[] = { 306 static const uint8 bytes[] = {
307 0x55, 0x29, 0x66, 0x26, 0x6b, 0x9c, 0x73, 0x54 307 0x55, 0x29, 0x66, 0x26, 0x6b, 0x9c, 0x73, 0x54
308 }; 308 };
309 static size_t current_byte = 0; 309 static size_t current_byte = 0;
310 for (size_t i = 0; i < n; ++i) { 310 for (size_t i = 0; i < n; ++i) {
311 output[i] = bytes[current_byte++]; 311 output[i] = bytes[current_byte++];
312 current_byte %= arraysize(bytes); 312 current_byte %= arraysize(bytes);
313 } 313 }
314 } 314 }
315 315
316 void MyGenerateRandom2(uint8* output, size_t n) { 316 void MockGenerateRandom2(uint8* output, size_t n) {
317 static const uint8 bytes[] = { 317 static const uint8 bytes[] = {
318 0x96, 0x79, 0x85, 0xe7, 0x49, 0x93, 0x70, 0xa1, 318 0x96, 0x79, 0x85, 0xe7, 0x49, 0x93, 0x70, 0xa1,
319 0x4e, 0xe7, 0x87, 0x45, 0x31, 0x5b, 0xd3, 0x1f 319 0x4e, 0xe7, 0x87, 0x45, 0x31, 0x5b, 0xd3, 0x1f
320 }; 320 };
321 static size_t current_byte = 0; 321 static size_t current_byte = 0;
322 for (size_t i = 0; i < n; ++i) { 322 for (size_t i = 0; i < n; ++i) {
323 output[i] = bytes[current_byte++]; 323 output[i] = bytes[current_byte++];
324 current_byte %= arraysize(bytes); 324 current_byte %= arraysize(bytes);
325 } 325 }
326 } 326 }
327 327
328 void MyGetHostName(char* name, size_t namelen) { 328 std::string MockGetHostName() {
329 static const char hostname[] = "WTC-WIN7"; 329 return "WTC-WIN7";
330 if (namelen >= arraysize(hostname)) {
331 memcpy(name, hostname, arraysize(hostname));
332 } else {
333 name[0] = '\0';
334 }
335 } 330 }
336 331
337 //----------------------------------------------------------------------------- 332 //-----------------------------------------------------------------------------
338 333
339 TEST_F(HttpNetworkTransactionTest, Basic) { 334 TEST_F(HttpNetworkTransactionTest, Basic) {
340 scoped_ptr<net::ProxyService> proxy_service(CreateNullProxyService()); 335 scoped_ptr<net::ProxyService> proxy_service(CreateNullProxyService());
341 scoped_ptr<net::HttpTransaction> trans(new net::HttpNetworkTransaction( 336 scoped_ptr<net::HttpTransaction> trans(new net::HttpNetworkTransaction(
342 CreateSession(proxy_service.get()), &mock_socket_factory)); 337 CreateSession(proxy_service.get()), &mock_socket_factory));
343 } 338 }
344 339
(...skipping 1228 matching lines...) Expand 10 before | Expand all | Expand 10 after
1573 EXPECT_TRUE(response->auth_challenge.get() == NULL); 1568 EXPECT_TRUE(response->auth_challenge.get() == NULL);
1574 EXPECT_EQ(100, response->headers->GetContentLength()); 1569 EXPECT_EQ(100, response->headers->GetContentLength());
1575 } 1570 }
1576 1571
1577 // The NTLM authentication unit tests were generated by capturing the HTTP 1572 // The NTLM authentication unit tests were generated by capturing the HTTP
1578 // requests and responses using Fiddler 2 and inspecting the generated random 1573 // requests and responses using Fiddler 2 and inspecting the generated random
1579 // bytes in the debugger. 1574 // bytes in the debugger.
1580 1575
1581 // Enter the correct password and authenticate successfully. 1576 // Enter the correct password and authenticate successfully.
1582 TEST_F(HttpNetworkTransactionTest, NTLMAuth1) { 1577 TEST_F(HttpNetworkTransactionTest, NTLMAuth1) {
1583 net::HttpAuthHandlerNTLM::SetGenerateRandomProc(MyGenerateRandom1); 1578 net::HttpAuthHandlerNTLM::ScopedProcSetter proc_setter(MockGenerateRandom1,
1584 net::HttpAuthHandlerNTLM::SetHostNameProc(MyGetHostName); 1579 MockGetHostName);
1585 1580
1586 scoped_ptr<net::ProxyService> proxy_service(CreateNullProxyService()); 1581 scoped_ptr<net::ProxyService> proxy_service(CreateNullProxyService());
1587 scoped_ptr<net::HttpTransaction> trans(new net::HttpNetworkTransaction( 1582 scoped_ptr<net::HttpTransaction> trans(new net::HttpNetworkTransaction(
1588 CreateSession(proxy_service.get()), &mock_socket_factory)); 1583 CreateSession(proxy_service.get()), &mock_socket_factory));
1589 1584
1590 net::HttpRequestInfo request; 1585 net::HttpRequestInfo request;
1591 request.method = "GET"; 1586 request.method = "GET";
1592 request.url = GURL("http://172.22.68.17/kids/login.aspx"); 1587 request.url = GURL("http://172.22.68.17/kids/login.aspx");
1593 request.load_flags = 0; 1588 request.load_flags = 0;
1594 1589
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after
1695 rv = callback2.WaitForResult(); 1690 rv = callback2.WaitForResult();
1696 EXPECT_EQ(net::OK, rv); 1691 EXPECT_EQ(net::OK, rv);
1697 1692
1698 response = trans->GetResponseInfo(); 1693 response = trans->GetResponseInfo();
1699 EXPECT_TRUE(response->auth_challenge.get() == NULL); 1694 EXPECT_TRUE(response->auth_challenge.get() == NULL);
1700 EXPECT_EQ(13, response->headers->GetContentLength()); 1695 EXPECT_EQ(13, response->headers->GetContentLength());
1701 } 1696 }
1702 1697
1703 // Enter a wrong password, and then the correct one. 1698 // Enter a wrong password, and then the correct one.
1704 TEST_F(HttpNetworkTransactionTest, NTLMAuth2) { 1699 TEST_F(HttpNetworkTransactionTest, NTLMAuth2) {
1705 net::HttpAuthHandlerNTLM::SetGenerateRandomProc(MyGenerateRandom2); 1700 net::HttpAuthHandlerNTLM::ScopedProcSetter proc_setter(MockGenerateRandom2,
1706 net::HttpAuthHandlerNTLM::SetHostNameProc(MyGetHostName); 1701 MockGetHostName);
1707 1702
1708 scoped_ptr<net::ProxyService> proxy_service(CreateNullProxyService()); 1703 scoped_ptr<net::ProxyService> proxy_service(CreateNullProxyService());
1709 scoped_ptr<net::HttpTransaction> trans(new net::HttpNetworkTransaction( 1704 scoped_ptr<net::HttpTransaction> trans(new net::HttpNetworkTransaction(
1710 CreateSession(proxy_service.get()), &mock_socket_factory)); 1705 CreateSession(proxy_service.get()), &mock_socket_factory));
1711 1706
1712 net::HttpRequestInfo request; 1707 net::HttpRequestInfo request;
1713 request.method = "GET"; 1708 request.method = "GET";
1714 request.url = GURL("http://172.22.68.17/kids/login.aspx"); 1709 request.url = GURL("http://172.22.68.17/kids/login.aspx");
1715 request.load_flags = 0; 1710 request.load_flags = 0;
1716 1711
(...skipping 901 matching lines...) Expand 10 before | Expand all | Expand 10 after
2618 EXPECT_EQ(NULL, trans->response_.auth_challenge.get()); 2613 EXPECT_EQ(NULL, trans->response_.auth_challenge.get());
2619 EXPECT_EQ(NULL, trans->response_.headers.get()); 2614 EXPECT_EQ(NULL, trans->response_.headers.get());
2620 EXPECT_EQ(false, trans->response_.was_cached); 2615 EXPECT_EQ(false, trans->response_.was_cached);
2621 EXPECT_EQ(base::kInvalidPlatformFileValue, 2616 EXPECT_EQ(base::kInvalidPlatformFileValue,
2622 trans->response_.response_data_file); 2617 trans->response_.response_data_file);
2623 EXPECT_EQ(0, trans->response_.ssl_info.cert_status); 2618 EXPECT_EQ(0, trans->response_.ssl_info.cert_status);
2624 EXPECT_FALSE(trans->response_.vary_data.is_valid()); 2619 EXPECT_FALSE(trans->response_.vary_data.is_valid());
2625 } 2620 }
2626 2621
2627 } // namespace net 2622 } // namespace net
OLDNEW
« no previous file with comments | « net/http/http_auth_handler_ntlm.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698