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

Side by Side Diff: net/url_request/url_request_unittest.cc

Issue 9415040: Refactor TransportSecurityState. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 8 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
OLDNEW
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 "build/build_config.h" 5 #include "build/build_config.h"
6 6
7 #if defined(OS_WIN) 7 #if defined(OS_WIN)
8 #include <windows.h> 8 #include <windows.h>
9 #include <shlobj.h> 9 #include <shlobj.h>
10 #endif 10 #endif
(...skipping 461 matching lines...) Expand 10 before | Expand all | Expand 10 after
472 EXPECT_NE(kData, d.data_received()); 472 EXPECT_NE(kData, d.data_received());
473 } 473 }
474 } 474 }
475 if (HasFailure()) 475 if (HasFailure())
476 LOG(WARNING) << "Request method was: " << request_method; 476 LOG(WARNING) << "Request method was: " << request_method;
477 } 477 }
478 478
479 void HTTPUploadDataOperationTest(const std::string& method) { 479 void HTTPUploadDataOperationTest(const std::string& method) {
480 const int kMsgSize = 20000; // multiple of 10 480 const int kMsgSize = 20000; // multiple of 10
481 const int kIterations = 50; 481 const int kIterations = 50;
482 char *uploadBytes = new char[kMsgSize+1]; 482 char* uploadBytes = new char[kMsgSize+1];
483 char *ptr = uploadBytes; 483 char* ptr = uploadBytes;
484 char marker = 'a'; 484 char marker = 'a';
485 for (int idx = 0; idx < kMsgSize/10; idx++) { 485 for (int idx = 0; idx < kMsgSize/10; idx++) {
486 memcpy(ptr, "----------", 10); 486 memcpy(ptr, "----------", 10);
487 ptr += 10; 487 ptr += 10;
488 if (idx % 100 == 0) { 488 if (idx % 100 == 0) {
489 ptr--; 489 ptr--;
490 *ptr++ = marker; 490 *ptr++ = marker;
491 if (++marker > 'z') 491 if (++marker > 'z')
492 marker = 'a'; 492 marker = 'a';
493 } 493 }
(...skipping 1210 matching lines...) Expand 10 before | Expand all | Expand 10 after
1704 // preloaded HSTS entries in the TransportSecurityState. This means that we 1704 // preloaded HSTS entries in the TransportSecurityState. This means that we
1705 // have to use a MockHostResolver in order to direct www.google.com to the 1705 // have to use a MockHostResolver in order to direct www.google.com to the
1706 // testserver. 1706 // testserver.
1707 1707
1708 MockHostResolver host_resolver; 1708 MockHostResolver host_resolver;
1709 host_resolver.rules()->AddRule("www.google.com", "127.0.0.1"); 1709 host_resolver.rules()->AddRule("www.google.com", "127.0.0.1");
1710 TestNetworkDelegate network_delegate; // must outlive URLRequest 1710 TestNetworkDelegate network_delegate; // must outlive URLRequest
1711 scoped_refptr<TestURLRequestContext> context(new TestURLRequestContext(true)); 1711 scoped_refptr<TestURLRequestContext> context(new TestURLRequestContext(true));
1712 context->set_network_delegate(&network_delegate); 1712 context->set_network_delegate(&network_delegate);
1713 context->set_host_resolver(&host_resolver); 1713 context->set_host_resolver(&host_resolver);
1714 TransportSecurityState transport_security_state(""); 1714 TransportSecurityState transport_security_state;
1715 context->set_transport_security_state(&transport_security_state); 1715 context->set_transport_security_state(&transport_security_state);
1716 context->Init(); 1716 context->Init();
1717 1717
1718 TestDelegate d; 1718 TestDelegate d;
1719 TestURLRequest r(GURL(StringPrintf("https://www.google.com:%d", 1719 TestURLRequest r(GURL(StringPrintf("https://www.google.com:%d",
1720 test_server.host_port_pair().port())), 1720 test_server.host_port_pair().port())),
1721 &d); 1721 &d);
1722 r.set_context(context); 1722 r.set_context(context);
1723 1723
1724 r.Start(); 1724 r.Start();
(...skipping 22 matching lines...) Expand all
1747 // preloaded and dynamic HSTS and public key pin entries in the 1747 // preloaded and dynamic HSTS and public key pin entries in the
1748 // TransportSecurityState. This means that we have to use a 1748 // TransportSecurityState. This means that we have to use a
1749 // MockHostResolver in order to direct www.google.com to the testserver. 1749 // MockHostResolver in order to direct www.google.com to the testserver.
1750 1750
1751 MockHostResolver host_resolver; 1751 MockHostResolver host_resolver;
1752 host_resolver.rules()->AddRule("www.google.com", "127.0.0.1"); 1752 host_resolver.rules()->AddRule("www.google.com", "127.0.0.1");
1753 TestNetworkDelegate network_delegate; // must outlive URLRequest 1753 TestNetworkDelegate network_delegate; // must outlive URLRequest
1754 scoped_refptr<TestURLRequestContext> context(new TestURLRequestContext(true)); 1754 scoped_refptr<TestURLRequestContext> context(new TestURLRequestContext(true));
1755 context->set_network_delegate(&network_delegate); 1755 context->set_network_delegate(&network_delegate);
1756 context->set_host_resolver(&host_resolver); 1756 context->set_host_resolver(&host_resolver);
1757 TransportSecurityState transport_security_state(""); 1757 TransportSecurityState transport_security_state;
1758 TransportSecurityState::DomainState domain_state; 1758 TransportSecurityState::DomainState domain_state;
1759 EXPECT_TRUE(transport_security_state.HasMetadata(&domain_state, 1759 EXPECT_TRUE(transport_security_state.GetDomainState("www.google.com", true,
1760 "www.google.com", true)); 1760 &domain_state));
1761 context->set_transport_security_state(&transport_security_state); 1761 context->set_transport_security_state(&transport_security_state);
1762 context->Init(); 1762 context->Init();
1763 1763
1764 TestDelegate d; 1764 TestDelegate d;
1765 TestURLRequest r(GURL(StringPrintf("https://www.google.com:%d", 1765 TestURLRequest r(GURL(StringPrintf("https://www.google.com:%d",
1766 test_server.host_port_pair().port())), 1766 test_server.host_port_pair().port())),
1767 &d); 1767 &d);
1768 r.set_context(context); 1768 r.set_context(context);
1769 1769
1770 r.Start(); 1770 r.Start();
1771 EXPECT_TRUE(r.is_pending()); 1771 EXPECT_TRUE(r.is_pending());
1772 1772
1773 MessageLoop::current()->Run(); 1773 MessageLoop::current()->Run();
1774 1774
1775 EXPECT_EQ(1, d.response_started_count()); 1775 EXPECT_EQ(1, d.response_started_count());
1776 EXPECT_FALSE(d.received_data_before_response()); 1776 EXPECT_FALSE(d.received_data_before_response());
1777 EXPECT_TRUE(d.have_certificate_errors()); 1777 EXPECT_TRUE(d.have_certificate_errors());
1778 EXPECT_TRUE(d.certificate_errors_are_fatal()); 1778 EXPECT_TRUE(d.certificate_errors_are_fatal());
1779 1779
1780 // Get a fresh copy of the state, and check that it hasn't been updated. 1780 // Get a fresh copy of the state, and check that it hasn't been updated.
1781 TransportSecurityState::DomainState new_domain_state; 1781 TransportSecurityState::DomainState new_domain_state;
1782 EXPECT_TRUE(transport_security_state.HasMetadata(&new_domain_state, 1782 EXPECT_TRUE(transport_security_state.GetDomainState("www.google.com", true,
1783 "www.google.com", true)); 1783 &new_domain_state));
1784 EXPECT_EQ(new_domain_state.mode, domain_state.mode); 1784 EXPECT_EQ(new_domain_state.upgrade_mode, domain_state.upgrade_mode);
1785 EXPECT_EQ(new_domain_state.include_subdomains, 1785 EXPECT_EQ(new_domain_state.include_subdomains,
1786 domain_state.include_subdomains); 1786 domain_state.include_subdomains);
1787 EXPECT_TRUE(FingerprintsEqual(new_domain_state.preloaded_spki_hashes, 1787 EXPECT_TRUE(FingerprintsEqual(new_domain_state.static_spki_hashes,
1788 domain_state.preloaded_spki_hashes)); 1788 domain_state.static_spki_hashes));
1789 EXPECT_TRUE(FingerprintsEqual(new_domain_state.dynamic_spki_hashes, 1789 EXPECT_TRUE(FingerprintsEqual(new_domain_state.dynamic_spki_hashes,
1790 domain_state.dynamic_spki_hashes)); 1790 domain_state.dynamic_spki_hashes));
1791 EXPECT_TRUE(FingerprintsEqual(new_domain_state.bad_preloaded_spki_hashes, 1791 EXPECT_TRUE(FingerprintsEqual(new_domain_state.bad_static_spki_hashes,
1792 domain_state.bad_preloaded_spki_hashes)); 1792 domain_state.bad_static_spki_hashes));
1793 } 1793 }
1794 1794
1795 namespace { 1795 namespace {
1796 1796
1797 class SSLClientAuthTestDelegate : public TestDelegate { 1797 class SSLClientAuthTestDelegate : public TestDelegate {
1798 public: 1798 public:
1799 SSLClientAuthTestDelegate() : on_certificate_requested_count_(0) { 1799 SSLClientAuthTestDelegate() : on_certificate_requested_count_(0) {
1800 } 1800 }
1801 virtual void OnCertificateRequested( 1801 virtual void OnCertificateRequested(
1802 URLRequest* request, 1802 URLRequest* request,
(...skipping 698 matching lines...) Expand 10 before | Expand all | Expand 10 after
2501 FilePath app_path; 2501 FilePath app_path;
2502 PathService::Get(base::DIR_SOURCE_ROOT, &app_path); 2502 PathService::Get(base::DIR_SOURCE_ROOT, &app_path);
2503 app_path = app_path.AppendASCII("net"); 2503 app_path = app_path.AppendASCII("net");
2504 app_path = app_path.AppendASCII("data"); 2504 app_path = app_path.AppendASCII("data");
2505 app_path = app_path.AppendASCII("url_request_unittest"); 2505 app_path = app_path.AppendASCII("url_request_unittest");
2506 app_path = app_path.AppendASCII("with-headers.html"); 2506 app_path = app_path.AppendASCII("with-headers.html");
2507 2507
2508 std::wstring lnk_path = app_path.value() + L".lnk"; 2508 std::wstring lnk_path = app_path.value() + L".lnk";
2509 2509
2510 HRESULT result; 2510 HRESULT result;
2511 IShellLink *shell = NULL; 2511 IShellLink* shell = NULL;
2512 IPersistFile *persist = NULL; 2512 IPersistFile* persist = NULL;
2513 2513
2514 CoInitialize(NULL); 2514 CoInitialize(NULL);
2515 // Temporarily create a shortcut for test 2515 // Temporarily create a shortcut for test
2516 result = CoCreateInstance(CLSID_ShellLink, NULL, 2516 result = CoCreateInstance(CLSID_ShellLink, NULL,
2517 CLSCTX_INPROC_SERVER, IID_IShellLink, 2517 CLSCTX_INPROC_SERVER, IID_IShellLink,
2518 reinterpret_cast<LPVOID*>(&shell)); 2518 reinterpret_cast<LPVOID*>(&shell));
2519 ASSERT_TRUE(SUCCEEDED(result)); 2519 ASSERT_TRUE(SUCCEEDED(result));
2520 result = shell->QueryInterface(IID_IPersistFile, 2520 result = shell->QueryInterface(IID_IPersistFile,
2521 reinterpret_cast<LPVOID*>(&persist)); 2521 reinterpret_cast<LPVOID*>(&persist));
2522 ASSERT_TRUE(SUCCEEDED(result)); 2522 ASSERT_TRUE(SUCCEEDED(result));
(...skipping 1998 matching lines...) Expand 10 before | Expand all | Expand 10 after
4521 req.SetExtraRequestHeaders(headers); 4521 req.SetExtraRequestHeaders(headers);
4522 req.Start(); 4522 req.Start();
4523 MessageLoop::current()->Run(); 4523 MessageLoop::current()->Run();
4524 // If the net tests are being run with ChromeFrame then we need to allow for 4524 // If the net tests are being run with ChromeFrame then we need to allow for
4525 // the 'chromeframe' suffix which is added to the user agent before the 4525 // the 'chromeframe' suffix which is added to the user agent before the
4526 // closing parentheses. 4526 // closing parentheses.
4527 EXPECT_TRUE(StartsWithASCII(d.data_received(), "Lynx (textmode", true)); 4527 EXPECT_TRUE(StartsWithASCII(d.data_received(), "Lynx (textmode", true));
4528 } 4528 }
4529 4529
4530 } // namespace net 4530 } // namespace net
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698