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

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

Issue 469993008: Rename Chromium-Resource-Freshness header (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 4 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
« no previous file with comments | « net/http/http_cache_transaction.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) 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_cache.h" 5 #include "net/http/http_cache.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/bind_helpers.h" 10 #include "base/bind_helpers.h"
(...skipping 6712 matching lines...) Expand 10 before | Expand all | Expand 10 after
6723 EXPECT_EQ(range_response_size * 2, received_bytes); 6723 EXPECT_EQ(range_response_size * 2, received_bytes);
6724 6724
6725 RemoveMockTransaction(&kRangeGET_TransactionOK); 6725 RemoveMockTransaction(&kRangeGET_TransactionOK);
6726 } 6726 }
6727 6727
6728 static void CheckResourceFreshnessHeader(const net::HttpRequestInfo* request, 6728 static void CheckResourceFreshnessHeader(const net::HttpRequestInfo* request,
6729 std::string* response_status, 6729 std::string* response_status,
6730 std::string* response_headers, 6730 std::string* response_headers,
6731 std::string* response_data) { 6731 std::string* response_data) {
6732 std::string value; 6732 std::string value;
6733 EXPECT_TRUE( 6733 EXPECT_TRUE(request->extra_headers.GetHeader("Resource-Freshness", &value));
6734 request->extra_headers.GetHeader("Chromium-Resource-Freshness", &value));
6735 EXPECT_EQ("max-age=3600,stale-while-revalidate=7200,age=10801", value); 6734 EXPECT_EQ("max-age=3600,stale-while-revalidate=7200,age=10801", value);
6736 } 6735 }
6737 6736
6738 // Verify that the Chromium-Resource-Freshness header is sent on a revalidation 6737 // Verify that the Resource-Freshness header is sent on a revalidation if the
6739 // if the stale-while-revalidate directive was on the response. 6738 // stale-while-revalidate directive was on the response.
6740 // TODO(ricea): Rename this test when a final name for the header is decided.
6741 TEST(HttpCache, ResourceFreshnessHeaderSent) { 6739 TEST(HttpCache, ResourceFreshnessHeaderSent) {
6742 MockHttpCache cache; 6740 MockHttpCache cache;
6743 6741
6744 ScopedMockTransaction stale_while_revalidate_transaction( 6742 ScopedMockTransaction stale_while_revalidate_transaction(
6745 kSimpleGET_Transaction); 6743 kSimpleGET_Transaction);
6746 stale_while_revalidate_transaction.response_headers = 6744 stale_while_revalidate_transaction.response_headers =
6747 "Last-Modified: Sat, 18 Apr 2007 01:10:43 GMT\n" 6745 "Last-Modified: Sat, 18 Apr 2007 01:10:43 GMT\n"
6748 "Age: 10801\n" 6746 "Age: 10801\n"
6749 "Cache-Control: max-age=3600,stale-while-revalidate=7200\n"; 6747 "Cache-Control: max-age=3600,stale-while-revalidate=7200\n";
6750 6748
6751 // Write to the cache. 6749 // Write to the cache.
6752 RunTransactionTest(cache.http_cache(), stale_while_revalidate_transaction); 6750 RunTransactionTest(cache.http_cache(), stale_while_revalidate_transaction);
6753 6751
6754 EXPECT_EQ(1, cache.network_layer()->transaction_count()); 6752 EXPECT_EQ(1, cache.network_layer()->transaction_count());
6755 6753
6756 // Send the request again and check that Chromium-Resource-Freshness header is 6754 // Send the request again and check that Resource-Freshness header is added.
6757 // added.
6758 stale_while_revalidate_transaction.handler = CheckResourceFreshnessHeader; 6755 stale_while_revalidate_transaction.handler = CheckResourceFreshnessHeader;
6759 6756
6760 RunTransactionTest(cache.http_cache(), stale_while_revalidate_transaction); 6757 RunTransactionTest(cache.http_cache(), stale_while_revalidate_transaction);
6761 6758
6762 EXPECT_EQ(2, cache.network_layer()->transaction_count()); 6759 EXPECT_EQ(2, cache.network_layer()->transaction_count());
6763 } 6760 }
6764 6761
6765 static void CheckResourceFreshnessAbsent(const net::HttpRequestInfo* request, 6762 static void CheckResourceFreshnessAbsent(const net::HttpRequestInfo* request,
6766 std::string* response_status, 6763 std::string* response_status,
6767 std::string* response_headers, 6764 std::string* response_headers,
6768 std::string* response_data) { 6765 std::string* response_data) {
6769 EXPECT_FALSE(request->extra_headers.HasHeader("Chromium-Resource-Freshness")); 6766 EXPECT_FALSE(request->extra_headers.HasHeader("Resource-Freshness"));
6770 } 6767 }
6771 6768
6772 // Verify that the Chromium-Resource-Freshness header is not sent when 6769 // Verify that the Resource-Freshness header is not sent when
6773 // stale-while-revalidate is 0. 6770 // stale-while-revalidate is 0.
6774 TEST(HttpCache, ResourceFreshnessHeaderNotSent) { 6771 TEST(HttpCache, ResourceFreshnessHeaderNotSent) {
6775 MockHttpCache cache; 6772 MockHttpCache cache;
6776 6773
6777 ScopedMockTransaction stale_while_revalidate_transaction( 6774 ScopedMockTransaction stale_while_revalidate_transaction(
6778 kSimpleGET_Transaction); 6775 kSimpleGET_Transaction);
6779 stale_while_revalidate_transaction.response_headers = 6776 stale_while_revalidate_transaction.response_headers =
6780 "Last-Modified: Sat, 18 Apr 2007 01:10:43 GMT\n" 6777 "Last-Modified: Sat, 18 Apr 2007 01:10:43 GMT\n"
6781 "Age: 10801\n" 6778 "Age: 10801\n"
6782 "Cache-Control: max-age=3600,stale-while-revalidate=0\n"; 6779 "Cache-Control: max-age=3600,stale-while-revalidate=0\n";
6783 6780
6784 // Write to the cache. 6781 // Write to the cache.
6785 RunTransactionTest(cache.http_cache(), stale_while_revalidate_transaction); 6782 RunTransactionTest(cache.http_cache(), stale_while_revalidate_transaction);
6786 6783
6787 EXPECT_EQ(1, cache.network_layer()->transaction_count()); 6784 EXPECT_EQ(1, cache.network_layer()->transaction_count());
6788 6785
6789 // Send the request again and check that Chromium-Resource-Freshness header is 6786 // Send the request again and check that Resource-Freshness header is absent.
6790 // absent.
6791 stale_while_revalidate_transaction.handler = CheckResourceFreshnessAbsent; 6787 stale_while_revalidate_transaction.handler = CheckResourceFreshnessAbsent;
6792 6788
6793 RunTransactionTest(cache.http_cache(), stale_while_revalidate_transaction); 6789 RunTransactionTest(cache.http_cache(), stale_while_revalidate_transaction);
6794 6790
6795 EXPECT_EQ(2, cache.network_layer()->transaction_count()); 6791 EXPECT_EQ(2, cache.network_layer()->transaction_count());
6796 } 6792 }
OLDNEW
« no previous file with comments | « net/http/http_cache_transaction.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698