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 14 namespace { 15 16 const char kChromeWebStoreId[] = "ahfgeienlihckogmohjhadlkjgocpleb"; 17 const int kOneHour = 3600; 18 } // namespace 19 20 IdentityInternalsUIBrowserTest::IdentityInternalsUIBrowserTest() {} 21 22 IdentityInternalsUIBrowserTest::~IdentityInternalsUIBrowserTest() {} 23 24 void 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 38 void 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 45 void 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 (at) 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