| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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/ssl/default_channel_id_store.h" | 5 #include "net/ssl/default_channel_id_store.h" |
| 6 | 6 |
| 7 #include <map> | 7 #include <map> |
| 8 #include <memory> | 8 #include <memory> |
| 9 #include <string> | 9 #include <string> |
| 10 #include <utility> | 10 #include <utility> |
| (...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 95 | 95 |
| 96 void MockPersistentStore::Load(const LoadedCallback& loaded_callback) { | 96 void MockPersistentStore::Load(const LoadedCallback& loaded_callback) { |
| 97 std::unique_ptr< | 97 std::unique_ptr< |
| 98 std::vector<std::unique_ptr<DefaultChannelIDStore::ChannelID>>> | 98 std::vector<std::unique_ptr<DefaultChannelIDStore::ChannelID>>> |
| 99 channel_ids( | 99 channel_ids( |
| 100 new std::vector<std::unique_ptr<DefaultChannelIDStore::ChannelID>>()); | 100 new std::vector<std::unique_ptr<DefaultChannelIDStore::ChannelID>>()); |
| 101 ChannelIDMap::iterator it; | 101 ChannelIDMap::iterator it; |
| 102 | 102 |
| 103 for (it = channel_ids_.begin(); it != channel_ids_.end(); ++it) { | 103 for (it = channel_ids_.begin(); it != channel_ids_.end(); ++it) { |
| 104 channel_ids->push_back( | 104 channel_ids->push_back( |
| 105 base::WrapUnique(new DefaultChannelIDStore::ChannelID(it->second))); | 105 base::MakeUnique<DefaultChannelIDStore::ChannelID>(it->second)); |
| 106 } | 106 } |
| 107 | 107 |
| 108 base::ThreadTaskRunnerHandle::Get()->PostTask( | 108 base::ThreadTaskRunnerHandle::Get()->PostTask( |
| 109 FROM_HERE, base::Bind(loaded_callback, base::Passed(&channel_ids))); | 109 FROM_HERE, base::Bind(loaded_callback, base::Passed(&channel_ids))); |
| 110 } | 110 } |
| 111 | 111 |
| 112 void MockPersistentStore::AddChannelID( | 112 void MockPersistentStore::AddChannelID( |
| 113 const DefaultChannelIDStore::ChannelID& channel_id) { | 113 const DefaultChannelIDStore::ChannelID& channel_id) { |
| 114 channel_ids_[channel_id.server_identifier()] = channel_id; | 114 channel_ids_[channel_id.server_identifier()] = channel_id; |
| 115 } | 115 } |
| (...skipping 22 matching lines...) Expand all Loading... |
| 138 | 138 |
| 139 persistent_store->AddChannelID(DefaultChannelIDStore::ChannelID( | 139 persistent_store->AddChannelID(DefaultChannelIDStore::ChannelID( |
| 140 "google.com", base::Time(), crypto::ECPrivateKey::Create())); | 140 "google.com", base::Time(), crypto::ECPrivateKey::Create())); |
| 141 persistent_store->AddChannelID(DefaultChannelIDStore::ChannelID( | 141 persistent_store->AddChannelID(DefaultChannelIDStore::ChannelID( |
| 142 "verisign.com", base::Time(), crypto::ECPrivateKey::Create())); | 142 "verisign.com", base::Time(), crypto::ECPrivateKey::Create())); |
| 143 | 143 |
| 144 // Make sure channel_ids load properly. | 144 // Make sure channel_ids load properly. |
| 145 DefaultChannelIDStore store(persistent_store.get()); | 145 DefaultChannelIDStore store(persistent_store.get()); |
| 146 // Load has not occurred yet. | 146 // Load has not occurred yet. |
| 147 EXPECT_EQ(0, store.GetChannelIDCount()); | 147 EXPECT_EQ(0, store.GetChannelIDCount()); |
| 148 store.SetChannelID(base::WrapUnique(new ChannelIDStore::ChannelID( | 148 store.SetChannelID(base::MakeUnique<ChannelIDStore::ChannelID>( |
| 149 "verisign.com", base::Time(), crypto::ECPrivateKey::Create()))); | 149 "verisign.com", base::Time(), crypto::ECPrivateKey::Create())); |
| 150 // Wait for load & queued set task. | 150 // Wait for load & queued set task. |
| 151 base::RunLoop().RunUntilIdle(); | 151 base::RunLoop().RunUntilIdle(); |
| 152 EXPECT_EQ(2, store.GetChannelIDCount()); | 152 EXPECT_EQ(2, store.GetChannelIDCount()); |
| 153 store.SetChannelID(base::WrapUnique(new ChannelIDStore::ChannelID( | 153 store.SetChannelID(base::MakeUnique<ChannelIDStore::ChannelID>( |
| 154 "twitter.com", base::Time(), crypto::ECPrivateKey::Create()))); | 154 "twitter.com", base::Time(), crypto::ECPrivateKey::Create())); |
| 155 // Set should be synchronous now that load is done. | 155 // Set should be synchronous now that load is done. |
| 156 EXPECT_EQ(3, store.GetChannelIDCount()); | 156 EXPECT_EQ(3, store.GetChannelIDCount()); |
| 157 } | 157 } |
| 158 | 158 |
| 159 //TODO(mattm): add more tests of without a persistent store? | 159 //TODO(mattm): add more tests of without a persistent store? |
| 160 TEST(DefaultChannelIDStoreTest, TestSettingAndGetting) { | 160 TEST(DefaultChannelIDStoreTest, TestSettingAndGetting) { |
| 161 // No persistent store, all calls will be synchronous. | 161 // No persistent store, all calls will be synchronous. |
| 162 DefaultChannelIDStore store(NULL); | 162 DefaultChannelIDStore store(NULL); |
| 163 std::unique_ptr<crypto::ECPrivateKey> expected_key( | 163 std::unique_ptr<crypto::ECPrivateKey> expected_key( |
| 164 crypto::ECPrivateKey::Create()); | 164 crypto::ECPrivateKey::Create()); |
| (...skipping 13 matching lines...) Expand all Loading... |
| 178 } | 178 } |
| 179 | 179 |
| 180 TEST(DefaultChannelIDStoreTest, TestDuplicateChannelIds) { | 180 TEST(DefaultChannelIDStoreTest, TestDuplicateChannelIds) { |
| 181 scoped_refptr<MockPersistentStore> persistent_store(new MockPersistentStore); | 181 scoped_refptr<MockPersistentStore> persistent_store(new MockPersistentStore); |
| 182 DefaultChannelIDStore store(persistent_store.get()); | 182 DefaultChannelIDStore store(persistent_store.get()); |
| 183 std::unique_ptr<crypto::ECPrivateKey> expected_key( | 183 std::unique_ptr<crypto::ECPrivateKey> expected_key( |
| 184 crypto::ECPrivateKey::Create()); | 184 crypto::ECPrivateKey::Create()); |
| 185 | 185 |
| 186 std::unique_ptr<crypto::ECPrivateKey> key; | 186 std::unique_ptr<crypto::ECPrivateKey> key; |
| 187 EXPECT_EQ(0, store.GetChannelIDCount()); | 187 EXPECT_EQ(0, store.GetChannelIDCount()); |
| 188 store.SetChannelID(base::WrapUnique(new ChannelIDStore::ChannelID( | 188 store.SetChannelID(base::MakeUnique<ChannelIDStore::ChannelID>( |
| 189 "verisign.com", base::Time::FromInternalValue(123), | 189 "verisign.com", base::Time::FromInternalValue(123), |
| 190 crypto::ECPrivateKey::Create()))); | 190 crypto::ECPrivateKey::Create())); |
| 191 store.SetChannelID(base::WrapUnique(new ChannelIDStore::ChannelID( | 191 store.SetChannelID(base::MakeUnique<ChannelIDStore::ChannelID>( |
| 192 "verisign.com", base::Time::FromInternalValue(456), | 192 "verisign.com", base::Time::FromInternalValue(456), |
| 193 expected_key->Copy()))); | 193 expected_key->Copy())); |
| 194 | 194 |
| 195 // Wait for load & queued set tasks. | 195 // Wait for load & queued set tasks. |
| 196 base::RunLoop().RunUntilIdle(); | 196 base::RunLoop().RunUntilIdle(); |
| 197 EXPECT_EQ(1, store.GetChannelIDCount()); | 197 EXPECT_EQ(1, store.GetChannelIDCount()); |
| 198 EXPECT_EQ(OK, store.GetChannelID("verisign.com", &key, | 198 EXPECT_EQ(OK, store.GetChannelID("verisign.com", &key, |
| 199 base::Bind(&GetChannelIDCallbackNotCalled))); | 199 base::Bind(&GetChannelIDCallbackNotCalled))); |
| 200 EXPECT_TRUE(KeysEqual(expected_key.get(), key.get())); | 200 EXPECT_TRUE(KeysEqual(expected_key.get(), key.get())); |
| 201 } | 201 } |
| 202 | 202 |
| 203 TEST(DefaultChannelIDStoreTest, TestAsyncGet) { | 203 TEST(DefaultChannelIDStoreTest, TestAsyncGet) { |
| (...skipping 20 matching lines...) Expand all Loading... |
| 224 EXPECT_TRUE(helper.called_); | 224 EXPECT_TRUE(helper.called_); |
| 225 EXPECT_THAT(helper.err_, IsOk()); | 225 EXPECT_THAT(helper.err_, IsOk()); |
| 226 EXPECT_EQ("verisign.com", helper.server_identifier_); | 226 EXPECT_EQ("verisign.com", helper.server_identifier_); |
| 227 EXPECT_TRUE(KeysEqual(expected_key.get(), helper.key_.get())); | 227 EXPECT_TRUE(KeysEqual(expected_key.get(), helper.key_.get())); |
| 228 } | 228 } |
| 229 | 229 |
| 230 TEST(DefaultChannelIDStoreTest, TestDeleteAll) { | 230 TEST(DefaultChannelIDStoreTest, TestDeleteAll) { |
| 231 scoped_refptr<MockPersistentStore> persistent_store(new MockPersistentStore); | 231 scoped_refptr<MockPersistentStore> persistent_store(new MockPersistentStore); |
| 232 DefaultChannelIDStore store(persistent_store.get()); | 232 DefaultChannelIDStore store(persistent_store.get()); |
| 233 | 233 |
| 234 store.SetChannelID(base::WrapUnique(new ChannelIDStore::ChannelID( | 234 store.SetChannelID(base::MakeUnique<ChannelIDStore::ChannelID>( |
| 235 "verisign.com", base::Time(), crypto::ECPrivateKey::Create()))); | 235 "verisign.com", base::Time(), crypto::ECPrivateKey::Create())); |
| 236 store.SetChannelID(base::WrapUnique(new ChannelIDStore::ChannelID( | 236 store.SetChannelID(base::MakeUnique<ChannelIDStore::ChannelID>( |
| 237 "google.com", base::Time(), crypto::ECPrivateKey::Create()))); | 237 "google.com", base::Time(), crypto::ECPrivateKey::Create())); |
| 238 store.SetChannelID(base::WrapUnique(new ChannelIDStore::ChannelID( | 238 store.SetChannelID(base::MakeUnique<ChannelIDStore::ChannelID>( |
| 239 "harvard.com", base::Time(), crypto::ECPrivateKey::Create()))); | 239 "harvard.com", base::Time(), crypto::ECPrivateKey::Create())); |
| 240 // Wait for load & queued set tasks. | 240 // Wait for load & queued set tasks. |
| 241 base::RunLoop().RunUntilIdle(); | 241 base::RunLoop().RunUntilIdle(); |
| 242 | 242 |
| 243 EXPECT_EQ(3, store.GetChannelIDCount()); | 243 EXPECT_EQ(3, store.GetChannelIDCount()); |
| 244 int delete_finished = 0; | 244 int delete_finished = 0; |
| 245 store.DeleteAll(base::Bind(&CallCounter, &delete_finished)); | 245 store.DeleteAll(base::Bind(&CallCounter, &delete_finished)); |
| 246 ASSERT_EQ(1, delete_finished); | 246 ASSERT_EQ(1, delete_finished); |
| 247 EXPECT_EQ(0, store.GetChannelIDCount()); | 247 EXPECT_EQ(0, store.GetChannelIDCount()); |
| 248 } | 248 } |
| 249 | 249 |
| 250 TEST(DefaultChannelIDStoreTest, TestDeleteForDomains) { | 250 TEST(DefaultChannelIDStoreTest, TestDeleteForDomains) { |
| 251 scoped_refptr<MockPersistentStore> persistent_store(new MockPersistentStore); | 251 scoped_refptr<MockPersistentStore> persistent_store(new MockPersistentStore); |
| 252 DefaultChannelIDStore store(persistent_store.get()); | 252 DefaultChannelIDStore store(persistent_store.get()); |
| 253 | 253 |
| 254 store.SetChannelID(base::WrapUnique(new ChannelIDStore::ChannelID( | 254 store.SetChannelID(base::MakeUnique<ChannelIDStore::ChannelID>( |
| 255 "verisign.com", base::Time(), crypto::ECPrivateKey::Create()))); | 255 "verisign.com", base::Time(), crypto::ECPrivateKey::Create())); |
| 256 store.SetChannelID(base::WrapUnique(new ChannelIDStore::ChannelID( | 256 store.SetChannelID(base::MakeUnique<ChannelIDStore::ChannelID>( |
| 257 "google.com", base::Time(), crypto::ECPrivateKey::Create()))); | 257 "google.com", base::Time(), crypto::ECPrivateKey::Create())); |
| 258 store.SetChannelID(base::WrapUnique(new ChannelIDStore::ChannelID( | 258 store.SetChannelID(base::MakeUnique<ChannelIDStore::ChannelID>( |
| 259 "harvard.com", base::Time(), crypto::ECPrivateKey::Create()))); | 259 "harvard.com", base::Time(), crypto::ECPrivateKey::Create())); |
| 260 // Wait for load & queued set tasks. | 260 // Wait for load & queued set tasks. |
| 261 base::RunLoop().RunUntilIdle(); | 261 base::RunLoop().RunUntilIdle(); |
| 262 EXPECT_EQ(3, store.GetChannelIDCount()); | 262 EXPECT_EQ(3, store.GetChannelIDCount()); |
| 263 | 263 |
| 264 // Whitelist deletion. | 264 // Whitelist deletion. |
| 265 int deletions_finished = 0; | 265 int deletions_finished = 0; |
| 266 store.DeleteForDomainsCreatedBetween( | 266 store.DeleteForDomainsCreatedBetween( |
| 267 base::Bind(&DomainEquals, base::ConstRef(std::string("verisign.com"))), | 267 base::Bind(&DomainEquals, base::ConstRef(std::string("verisign.com"))), |
| 268 base::Time(), base::Time(), | 268 base::Time(), base::Time(), |
| 269 base::Bind(&CallCounter, &deletions_finished)); | 269 base::Bind(&CallCounter, &deletions_finished)); |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 308 EXPECT_EQ(2u, pre_channel_ids.size()); | 308 EXPECT_EQ(2u, pre_channel_ids.size()); |
| 309 EXPECT_EQ(0u, post_channel_ids.size()); | 309 EXPECT_EQ(0u, post_channel_ids.size()); |
| 310 } | 310 } |
| 311 | 311 |
| 312 TEST(DefaultChannelIDStoreTest, TestDelete) { | 312 TEST(DefaultChannelIDStoreTest, TestDelete) { |
| 313 scoped_refptr<MockPersistentStore> persistent_store(new MockPersistentStore); | 313 scoped_refptr<MockPersistentStore> persistent_store(new MockPersistentStore); |
| 314 DefaultChannelIDStore store(persistent_store.get()); | 314 DefaultChannelIDStore store(persistent_store.get()); |
| 315 | 315 |
| 316 std::unique_ptr<crypto::ECPrivateKey> key; | 316 std::unique_ptr<crypto::ECPrivateKey> key; |
| 317 EXPECT_EQ(0, store.GetChannelIDCount()); | 317 EXPECT_EQ(0, store.GetChannelIDCount()); |
| 318 store.SetChannelID(base::WrapUnique(new ChannelIDStore::ChannelID( | 318 store.SetChannelID(base::MakeUnique<ChannelIDStore::ChannelID>( |
| 319 "verisign.com", base::Time(), crypto::ECPrivateKey::Create()))); | 319 "verisign.com", base::Time(), crypto::ECPrivateKey::Create())); |
| 320 // Wait for load & queued set task. | 320 // Wait for load & queued set task. |
| 321 base::RunLoop().RunUntilIdle(); | 321 base::RunLoop().RunUntilIdle(); |
| 322 | 322 |
| 323 store.SetChannelID(base::WrapUnique(new ChannelIDStore::ChannelID( | 323 store.SetChannelID(base::MakeUnique<ChannelIDStore::ChannelID>( |
| 324 "google.com", base::Time(), crypto::ECPrivateKey::Create()))); | 324 "google.com", base::Time(), crypto::ECPrivateKey::Create())); |
| 325 | 325 |
| 326 EXPECT_EQ(2, store.GetChannelIDCount()); | 326 EXPECT_EQ(2, store.GetChannelIDCount()); |
| 327 int delete_finished = 0; | 327 int delete_finished = 0; |
| 328 store.DeleteChannelID("verisign.com", | 328 store.DeleteChannelID("verisign.com", |
| 329 base::Bind(&CallCounter, &delete_finished)); | 329 base::Bind(&CallCounter, &delete_finished)); |
| 330 ASSERT_EQ(1, delete_finished); | 330 ASSERT_EQ(1, delete_finished); |
| 331 EXPECT_EQ(1, store.GetChannelIDCount()); | 331 EXPECT_EQ(1, store.GetChannelIDCount()); |
| 332 EXPECT_EQ(ERR_FILE_NOT_FOUND, | 332 EXPECT_EQ(ERR_FILE_NOT_FOUND, |
| 333 store.GetChannelID("verisign.com", &key, | 333 store.GetChannelID("verisign.com", &key, |
| 334 base::Bind(&GetChannelIDCallbackNotCalled))); | 334 base::Bind(&GetChannelIDCallbackNotCalled))); |
| (...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 387 EXPECT_THAT(b_helper.err_, IsOk()); | 387 EXPECT_THAT(b_helper.err_, IsOk()); |
| 388 EXPECT_EQ("b.com", b_helper.server_identifier_); | 388 EXPECT_EQ("b.com", b_helper.server_identifier_); |
| 389 EXPECT_TRUE(KeysEqual(expected_key.get(), b_helper.key_.get())); | 389 EXPECT_TRUE(KeysEqual(expected_key.get(), b_helper.key_.get())); |
| 390 } | 390 } |
| 391 | 391 |
| 392 TEST(DefaultChannelIDStoreTest, TestGetAll) { | 392 TEST(DefaultChannelIDStoreTest, TestGetAll) { |
| 393 scoped_refptr<MockPersistentStore> persistent_store(new MockPersistentStore); | 393 scoped_refptr<MockPersistentStore> persistent_store(new MockPersistentStore); |
| 394 DefaultChannelIDStore store(persistent_store.get()); | 394 DefaultChannelIDStore store(persistent_store.get()); |
| 395 | 395 |
| 396 EXPECT_EQ(0, store.GetChannelIDCount()); | 396 EXPECT_EQ(0, store.GetChannelIDCount()); |
| 397 store.SetChannelID(base::WrapUnique(new ChannelIDStore::ChannelID( | 397 store.SetChannelID(base::MakeUnique<ChannelIDStore::ChannelID>( |
| 398 "verisign.com", base::Time(), crypto::ECPrivateKey::Create()))); | 398 "verisign.com", base::Time(), crypto::ECPrivateKey::Create())); |
| 399 store.SetChannelID(base::WrapUnique(new ChannelIDStore::ChannelID( | 399 store.SetChannelID(base::MakeUnique<ChannelIDStore::ChannelID>( |
| 400 "google.com", base::Time(), crypto::ECPrivateKey::Create()))); | 400 "google.com", base::Time(), crypto::ECPrivateKey::Create())); |
| 401 store.SetChannelID(base::WrapUnique(new ChannelIDStore::ChannelID( | 401 store.SetChannelID(base::MakeUnique<ChannelIDStore::ChannelID>( |
| 402 "harvard.com", base::Time(), crypto::ECPrivateKey::Create()))); | 402 "harvard.com", base::Time(), crypto::ECPrivateKey::Create())); |
| 403 store.SetChannelID(base::WrapUnique(new ChannelIDStore::ChannelID( | 403 store.SetChannelID(base::MakeUnique<ChannelIDStore::ChannelID>( |
| 404 "mit.com", base::Time(), crypto::ECPrivateKey::Create()))); | 404 "mit.com", base::Time(), crypto::ECPrivateKey::Create())); |
| 405 // Wait for load & queued set tasks. | 405 // Wait for load & queued set tasks. |
| 406 base::RunLoop().RunUntilIdle(); | 406 base::RunLoop().RunUntilIdle(); |
| 407 | 407 |
| 408 EXPECT_EQ(4, store.GetChannelIDCount()); | 408 EXPECT_EQ(4, store.GetChannelIDCount()); |
| 409 ChannelIDStore::ChannelIDList channel_ids; | 409 ChannelIDStore::ChannelIDList channel_ids; |
| 410 store.GetAllChannelIDs(base::Bind(GetAllCallback, &channel_ids)); | 410 store.GetAllChannelIDs(base::Bind(GetAllCallback, &channel_ids)); |
| 411 EXPECT_EQ(4u, channel_ids.size()); | 411 EXPECT_EQ(4u, channel_ids.size()); |
| 412 } | 412 } |
| 413 | 413 |
| 414 TEST(DefaultChannelIDStoreTest, TestInitializeFrom) { | 414 TEST(DefaultChannelIDStoreTest, TestInitializeFrom) { |
| 415 scoped_refptr<MockPersistentStore> persistent_store(new MockPersistentStore); | 415 scoped_refptr<MockPersistentStore> persistent_store(new MockPersistentStore); |
| 416 DefaultChannelIDStore store(persistent_store.get()); | 416 DefaultChannelIDStore store(persistent_store.get()); |
| 417 std::unique_ptr<crypto::ECPrivateKey> preexisting_key( | 417 std::unique_ptr<crypto::ECPrivateKey> preexisting_key( |
| 418 crypto::ECPrivateKey::Create()); | 418 crypto::ECPrivateKey::Create()); |
| 419 std::unique_ptr<crypto::ECPrivateKey> both_key( | 419 std::unique_ptr<crypto::ECPrivateKey> both_key( |
| 420 crypto::ECPrivateKey::Create()); | 420 crypto::ECPrivateKey::Create()); |
| 421 std::unique_ptr<crypto::ECPrivateKey> copied_key( | 421 std::unique_ptr<crypto::ECPrivateKey> copied_key( |
| 422 crypto::ECPrivateKey::Create()); | 422 crypto::ECPrivateKey::Create()); |
| 423 | 423 |
| 424 store.SetChannelID(base::WrapUnique(new ChannelIDStore::ChannelID( | 424 store.SetChannelID(base::MakeUnique<ChannelIDStore::ChannelID>( |
| 425 "preexisting.com", base::Time(), preexisting_key->Copy()))); | 425 "preexisting.com", base::Time(), preexisting_key->Copy())); |
| 426 store.SetChannelID(base::WrapUnique(new ChannelIDStore::ChannelID( | 426 store.SetChannelID(base::MakeUnique<ChannelIDStore::ChannelID>( |
| 427 "both.com", base::Time(), crypto::ECPrivateKey::Create()))); | 427 "both.com", base::Time(), crypto::ECPrivateKey::Create())); |
| 428 // Wait for load & queued set tasks. | 428 // Wait for load & queued set tasks. |
| 429 base::RunLoop().RunUntilIdle(); | 429 base::RunLoop().RunUntilIdle(); |
| 430 EXPECT_EQ(2, store.GetChannelIDCount()); | 430 EXPECT_EQ(2, store.GetChannelIDCount()); |
| 431 | 431 |
| 432 ChannelIDStore::ChannelIDList source_channel_ids; | 432 ChannelIDStore::ChannelIDList source_channel_ids; |
| 433 source_channel_ids.push_back(ChannelIDStore::ChannelID( | 433 source_channel_ids.push_back(ChannelIDStore::ChannelID( |
| 434 "both.com", base::Time(), | 434 "both.com", base::Time(), |
| 435 // Key differs from above to test that existing entries are overwritten. | 435 // Key differs from above to test that existing entries are overwritten. |
| 436 both_key->Copy())); | 436 both_key->Copy())); |
| 437 source_channel_ids.push_back(ChannelIDStore::ChannelID( | 437 source_channel_ids.push_back(ChannelIDStore::ChannelID( |
| (...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 495 ++channel_id; | 495 ++channel_id; |
| 496 EXPECT_EQ("copied.com", channel_id->server_identifier()); | 496 EXPECT_EQ("copied.com", channel_id->server_identifier()); |
| 497 EXPECT_TRUE(KeysEqual(copied_key.get(), channel_id->key())); | 497 EXPECT_TRUE(KeysEqual(copied_key.get(), channel_id->key())); |
| 498 | 498 |
| 499 ++channel_id; | 499 ++channel_id; |
| 500 EXPECT_EQ("preexisting.com", channel_id->server_identifier()); | 500 EXPECT_EQ("preexisting.com", channel_id->server_identifier()); |
| 501 EXPECT_TRUE(KeysEqual(preexisting_key.get(), channel_id->key())); | 501 EXPECT_TRUE(KeysEqual(preexisting_key.get(), channel_id->key())); |
| 502 } | 502 } |
| 503 | 503 |
| 504 } // namespace net | 504 } // namespace net |
| OLD | NEW |