| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 <string> | 5 #include <string> |
| 6 | 6 |
| 7 #include "base/files/file_path.h" | 7 #include "base/files/file_path.h" |
| 8 #include "base/memory/singleton.h" | 8 #include "base/memory/singleton.h" |
| 9 #include "base/path_service.h" | 9 #include "base/path_service.h" |
| 10 #include "base/stl_util.h" | 10 #include "base/stl_util.h" |
| (...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 103 } | 103 } |
| 104 | 104 |
| 105 TEST_F(QuicInMemoryCacheTest, ReadsCacheDir) { | 105 TEST_F(QuicInMemoryCacheTest, ReadsCacheDir) { |
| 106 QuicInMemoryCache::GetInstance()->InitializeFromDirectory(CacheDirectory()); | 106 QuicInMemoryCache::GetInstance()->InitializeFromDirectory(CacheDirectory()); |
| 107 const QuicInMemoryCache::Response* response = | 107 const QuicInMemoryCache::Response* response = |
| 108 QuicInMemoryCache::GetInstance()->GetResponse("quic.test.url", | 108 QuicInMemoryCache::GetInstance()->GetResponse("quic.test.url", |
| 109 "/index.html"); | 109 "/index.html"); |
| 110 ASSERT_TRUE(response); | 110 ASSERT_TRUE(response); |
| 111 ASSERT_TRUE(ContainsKey(response->headers(), ":status")); | 111 ASSERT_TRUE(ContainsKey(response->headers(), ":status")); |
| 112 EXPECT_EQ("200", response->headers().find(":status")->second); | 112 EXPECT_EQ("200", response->headers().find(":status")->second); |
| 113 ASSERT_FALSE(ContainsKey(response->headers(), "connection")); | 113 // Connection headers are not valid in HTTP/2. |
| 114 EXPECT_FALSE(ContainsKey(response->headers(), "connection")); |
| 114 EXPECT_LT(0U, response->body().length()); | 115 EXPECT_LT(0U, response->body().length()); |
| 115 } | 116 } |
| 116 | 117 |
| 117 TEST_F(QuicInMemoryCacheTest, ReadsCacheDirWithServerPushResource) { | 118 TEST_F(QuicInMemoryCacheTest, ReadsCacheDirWithServerPushResource) { |
| 118 QuicInMemoryCache::GetInstance()->InitializeFromDirectory(CacheDirectory() + | 119 QuicInMemoryCache::GetInstance()->InitializeFromDirectory(CacheDirectory() + |
| 119 "_with_push"); | 120 "_with_push"); |
| 120 QuicInMemoryCache* cache = QuicInMemoryCache::GetInstance(); | 121 QuicInMemoryCache* cache = QuicInMemoryCache::GetInstance(); |
| 121 list<ServerPushInfo> resources = | 122 list<ServerPushInfo> resources = |
| 122 cache->GetServerPushResources("quic.test.url/"); | 123 cache->GetServerPushResources("quic.test.url/"); |
| 123 ASSERT_EQ(1UL, resources.size()); | 124 ASSERT_EQ(1UL, resources.size()); |
| 124 } | 125 } |
| 125 | 126 |
| 126 TEST_F(QuicInMemoryCacheTest, ReadsCacheDirWithServerPushResources) { | 127 TEST_F(QuicInMemoryCacheTest, ReadsCacheDirWithServerPushResources) { |
| 127 QuicInMemoryCache::GetInstance()->InitializeFromDirectory(CacheDirectory() + | 128 QuicInMemoryCache::GetInstance()->InitializeFromDirectory(CacheDirectory() + |
| 128 "_with_push"); | 129 "_with_push"); |
| 129 QuicInMemoryCache* cache = QuicInMemoryCache::GetInstance(); | 130 QuicInMemoryCache* cache = QuicInMemoryCache::GetInstance(); |
| 130 list<ServerPushInfo> resources = | 131 list<ServerPushInfo> resources = |
| 131 cache->GetServerPushResources("quic.test.url/index2.html"); | 132 cache->GetServerPushResources("quic.test.url/index2.html"); |
| 132 ASSERT_EQ(2UL, resources.size()); | 133 ASSERT_EQ(2UL, resources.size()); |
| 133 } | 134 } |
| 134 | 135 |
| 135 TEST_F(QuicInMemoryCacheTest, UsesOriginalUrl) { | 136 TEST_F(QuicInMemoryCacheTest, UsesOriginalUrl) { |
| 136 QuicInMemoryCache::GetInstance()->InitializeFromDirectory(CacheDirectory()); | 137 QuicInMemoryCache::GetInstance()->InitializeFromDirectory(CacheDirectory()); |
| 137 const QuicInMemoryCache::Response* response = | 138 const QuicInMemoryCache::Response* response = |
| 138 QuicInMemoryCache::GetInstance()->GetResponse("quic.test.url", | 139 QuicInMemoryCache::GetInstance()->GetResponse("quic.test.url", |
| 139 "/index.html"); | 140 "/index.html"); |
| 140 ASSERT_TRUE(response); | 141 ASSERT_TRUE(response); |
| 141 ASSERT_TRUE(ContainsKey(response->headers(), ":status")); | 142 ASSERT_TRUE(ContainsKey(response->headers(), ":status")); |
| 142 EXPECT_EQ("200", response->headers().find(":status")->second); | 143 EXPECT_EQ("200", response->headers().find(":status")->second); |
| 143 ASSERT_FALSE(ContainsKey(response->headers(), "connection")); | 144 // Connection headers are not valid in HTTP/2. |
| 145 EXPECT_FALSE(ContainsKey(response->headers(), "connection")); |
| 144 EXPECT_LT(0U, response->body().length()); | 146 EXPECT_LT(0U, response->body().length()); |
| 145 } | 147 } |
| 146 | 148 |
| 147 TEST_F(QuicInMemoryCacheTest, DefaultResponse) { | 149 TEST_F(QuicInMemoryCacheTest, DefaultResponse) { |
| 148 // Verify GetResponse returns nullptr when no default is set. | 150 // Verify GetResponse returns nullptr when no default is set. |
| 149 QuicInMemoryCache* cache = QuicInMemoryCache::GetInstance(); | 151 QuicInMemoryCache* cache = QuicInMemoryCache::GetInstance(); |
| 150 const QuicInMemoryCache::Response* response = | 152 const QuicInMemoryCache::Response* response = |
| 151 cache->GetResponse("www.google.com", "/"); | 153 cache->GetResponse("www.google.com", "/"); |
| 152 ASSERT_FALSE(response); | 154 ASSERT_FALSE(response); |
| 153 | 155 |
| (...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 252 ASSERT_TRUE(ContainsKey(response->headers(), ":status")); | 254 ASSERT_TRUE(ContainsKey(response->headers(), ":status")); |
| 253 EXPECT_EQ(push_response_status[i++], | 255 EXPECT_EQ(push_response_status[i++], |
| 254 response->headers().find(":status")->second); | 256 response->headers().find(":status")->second); |
| 255 EXPECT_EQ(push_resource.body, response->body()); | 257 EXPECT_EQ(push_resource.body, response->body()); |
| 256 resources.pop_front(); | 258 resources.pop_front(); |
| 257 } | 259 } |
| 258 } | 260 } |
| 259 | 261 |
| 260 } // namespace test | 262 } // namespace test |
| 261 } // namespace net | 263 } // namespace net |
| OLD | NEW |