15f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved. 25f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 35f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)// found in the LICENSE file. 45f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 55f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)#include "chrome/browser/browsing_data/mock_browsing_data_channel_id_helper.h" 65f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 75f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)#include "base/logging.h" 86e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)#include "testing/gtest/include/gtest/gtest.h" 95f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 105f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)MockBrowsingDataChannelIDHelper::MockBrowsingDataChannelIDHelper() 115f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) : BrowsingDataChannelIDHelper() {} 125f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 135f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)MockBrowsingDataChannelIDHelper:: 145f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)~MockBrowsingDataChannelIDHelper() {} 155f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 165f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)void MockBrowsingDataChannelIDHelper::StartFetching( 175f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) const FetchResultCallback& callback) { 186e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) ASSERT_FALSE(callback.is_null()); 196e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) ASSERT_TRUE(callback_.is_null()); 205f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) callback_ = callback; 215f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)} 225f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 235f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)void MockBrowsingDataChannelIDHelper::DeleteChannelID( 245f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) const std::string& server_id) { 256e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) ASSERT_FALSE(callback_.is_null()); 266e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) ASSERT_TRUE(channel_ids_.find(server_id) != channel_ids_.end()); 275f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) channel_ids_[server_id] = false; 285f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)} 295f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 305f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)void MockBrowsingDataChannelIDHelper::AddChannelIDSample( 315f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) const std::string& server_id) { 326e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) ASSERT_TRUE(channel_ids_.find(server_id) == channel_ids_.end()); 335f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) channel_id_list_.push_back( 345f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) net::ChannelIDStore::ChannelID( 355f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) server_id, base::Time(), base::Time(), "key", "cert")); 365f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) channel_ids_[server_id] = true; 375f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)} 385f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 395f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)void MockBrowsingDataChannelIDHelper::Notify() { 405f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) net::ChannelIDStore::ChannelIDList channel_id_list; 415f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) for (net::ChannelIDStore::ChannelIDList::iterator i = 425f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) channel_id_list_.begin(); 435f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) i != channel_id_list_.end(); ++i) { 445f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) if (channel_ids_[i->server_identifier()]) 455f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) channel_id_list.push_back(*i); 465f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) } 475f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) callback_.Run(channel_id_list); 485f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)} 495f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 505f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)void MockBrowsingDataChannelIDHelper::Reset() { 515f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) for (std::map<const std::string, bool>::iterator i = 525f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) channel_ids_.begin(); 535f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) i != channel_ids_.end(); ++i) 545f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) i->second = true; 555f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)} 565f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 575f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)bool MockBrowsingDataChannelIDHelper::AllDeleted() { 585f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) for (std::map<const std::string, bool>::const_iterator i = 595f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) channel_ids_.begin(); 605f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) i != channel_ids_.end(); ++i) 615f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) if (i->second) 625f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) return false; 635f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) return true; 645f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)} 65