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

Side by Side Diff: net/quic/crypto/quic_crypto_client_config_test.cc

Issue 255783002: QUIC - Minor clean up of QUIC Server Info memory cache. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fixed wtc's comments in Patch Set 2 Created 6 years, 8 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/quic/crypto/quic_crypto_client_config.cc ('k') | net/quic/quic_stream_factory.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 "net/quic/crypto/quic_crypto_client_config.h" 5 #include "net/quic/crypto/quic_crypto_client_config.h"
6 6
7 #include "net/quic/crypto/proof_verifier.h" 7 #include "net/quic/crypto/proof_verifier.h"
8 #include "net/quic/quic_server_id.h" 8 #include "net/quic/quic_server_id.h"
9 #include "net/quic/test_tools/mock_random.h" 9 #include "net/quic/test_tools/mock_random.h"
10 #include "net/quic/test_tools/quic_test_utils.h" 10 #include "net/quic/test_tools/quic_test_utils.h"
(...skipping 211 matching lines...) Expand 10 before | Expand all | Expand 10 after
222 // TODO(rch): Populate other fields of |state|. 222 // TODO(rch): Populate other fields of |state|.
223 state->set_source_address_token("TOKEN"); 223 state->set_source_address_token("TOKEN");
224 224
225 // Do not set the proof as valid, and check that it is not used 225 // Do not set the proof as valid, and check that it is not used
226 // as a canonical entry. 226 // as a canonical entry.
227 EXPECT_TRUE(config.LookupOrCreate(canonical_id2)->IsEmpty()); 227 EXPECT_TRUE(config.LookupOrCreate(canonical_id2)->IsEmpty());
228 } 228 }
229 229
230 TEST(QuicCryptoClientConfigTest, ClearCachedStates) { 230 TEST(QuicCryptoClientConfigTest, ClearCachedStates) {
231 QuicCryptoClientConfig config; 231 QuicCryptoClientConfig config;
232 QuicServerId canonical_server_id("www.google.com", 80, false, 232 QuicServerId server_id("www.google.com", 80, false, PRIVACY_MODE_DISABLED);
233 PRIVACY_MODE_DISABLED); 233 QuicCryptoClientConfig::CachedState* state = config.LookupOrCreate(server_id);
234 QuicCryptoClientConfig::CachedState* state =
235 config.LookupOrCreate(canonical_server_id);
236 // TODO(rch): Populate other fields of |state|. 234 // TODO(rch): Populate other fields of |state|.
237 vector<string> certs(1); 235 vector<string> certs(1);
238 certs[0] = "Hello Cert"; 236 certs[0] = "Hello Cert";
239 state->SetProof(certs, "signature"); 237 state->SetProof(certs, "signature");
240 state->set_source_address_token("TOKEN"); 238 state->set_source_address_token("TOKEN");
241 state->SetProofValid(); 239 state->SetProofValid();
240 EXPECT_EQ(1u, state->generation_counter());
242 241
243 // Verify LookupOrCreate returns the same data. 242 // Verify LookupOrCreate returns the same data.
244 QuicServerId other_server_id("www.google.com", 80, false, 243 QuicCryptoClientConfig::CachedState* other = config.LookupOrCreate(server_id);
245 PRIVACY_MODE_DISABLED);
246 244
247 QuicCryptoClientConfig::CachedState* other = 245 EXPECT_EQ(state, other);
248 config.LookupOrCreate(other_server_id);
249
250 EXPECT_TRUE(other->proof_valid());
251 EXPECT_EQ(state->server_config(), other->server_config());
252 EXPECT_EQ(state->signature(), other->signature());
253 EXPECT_EQ(state->certs(), other->certs());
254 EXPECT_EQ(state->source_address_token(), other->source_address_token());
255 EXPECT_EQ(1u, other->generation_counter()); 246 EXPECT_EQ(1u, other->generation_counter());
256 247
257 // Clear the cached state. 248 // Clear the cached states.
258 config.ClearCachedStates(); 249 config.ClearCachedStates();
259 250
260 // Verify LookupOrCreate doesn't have any data. 251 // Verify LookupOrCreate doesn't have any data.
261 QuicCryptoClientConfig::CachedState* cleared_cache = 252 QuicCryptoClientConfig::CachedState* cleared_cache =
262 config.LookupOrCreate(other_server_id); 253 config.LookupOrCreate(server_id);
263 254
255 EXPECT_EQ(state, cleared_cache);
264 EXPECT_FALSE(cleared_cache->proof_valid()); 256 EXPECT_FALSE(cleared_cache->proof_valid());
265 EXPECT_TRUE(cleared_cache->server_config().empty()); 257 EXPECT_TRUE(cleared_cache->server_config().empty());
266 EXPECT_TRUE(cleared_cache->certs().empty()); 258 EXPECT_TRUE(cleared_cache->certs().empty());
267 EXPECT_TRUE(cleared_cache->signature().empty()); 259 EXPECT_TRUE(cleared_cache->signature().empty());
268 EXPECT_LT(1u, cleared_cache->generation_counter()); 260 EXPECT_EQ(2u, cleared_cache->generation_counter());
269 } 261 }
270 262
271 } // namespace test 263 } // namespace test
272 } // namespace net 264 } // namespace net
OLDNEW
« no previous file with comments | « net/quic/crypto/quic_crypto_client_config.cc ('k') | net/quic/quic_stream_factory.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698