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 3// found in the LICENSE file. 4 5#include "chrome/browser/ui/webui/identity_internals_ui_browsertest.h" 6 7#include "base/strings/string_number_conversions.h" 8#include "base/time/time.h" 9#include "chrome/browser/extensions/api/identity/extension_token_key.h" 10#include "chrome/browser/extensions/api/identity/identity_api.h" 11#include "chrome/browser/profiles/profile.h" 12#include "chrome/browser/ui/browser.h" 13 14namespace { 15 16const char kChromeWebStoreId[] = "ahfgeienlihckogmohjhadlkjgocpleb"; 17const int kOneHour = 3600; 18} // namespace 19 20IdentityInternalsUIBrowserTest::IdentityInternalsUIBrowserTest() {} 21 22IdentityInternalsUIBrowserTest::~IdentityInternalsUIBrowserTest() {} 23 24void IdentityInternalsUIBrowserTest::SetupTokenCache(int number_of_tokens) { 25 for (int number = 0; number < number_of_tokens; ++number) { 26 const std::string token_number = base::IntToString(number); 27 std::string token_id("token"); 28 token_id += token_number; 29 std::string extension_id("extension"); 30 extension_id += token_number; 31 std::vector<std::string> scopes; 32 scopes.push_back(std::string("scope_1_") + token_number); 33 scopes.push_back(std::string("scope_2_") + token_number); 34 AddTokenToCache(token_id, extension_id, scopes, kOneHour); 35 } 36} 37 38void IdentityInternalsUIBrowserTest::SetupTokenCacheWithStoreApp() { 39 std::vector<std::string> scopes; 40 scopes.push_back(std::string("store_scope1")); 41 scopes.push_back(std::string("store_scope2")); 42 AddTokenToCache("store_token", kChromeWebStoreId, scopes, kOneHour); 43} 44 45void IdentityInternalsUIBrowserTest::AddTokenToCache( 46 const std::string token_id, 47 const std::string extension_id, 48 const std::vector<std::string>& scopes, 49 int time_to_live) { 50 extensions::IdentityTokenCacheValue token_cache_value = 51 extensions::IdentityTokenCacheValue(token_id, 52 base::TimeDelta::FromSeconds(time_to_live)); 53 extensions::ExtensionTokenKey key( 54 extension_id, 55 "test@example.com", 56 std::set<std::string>(scopes.begin(), scopes.end())); 57 extensions::IdentityAPI::GetFactoryInstance() 58 ->Get(browser()->profile()) 59 ->SetCachedToken(key, token_cache_value); 60} 61