| // Copyright 2013 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include "chrome/browser/ui/webui/identity_internals_ui_browsertest.h" |
| |
| #include "base/strings/string_number_conversions.h" |
| #include "base/time/time.h" |
| #include "chrome/browser/extensions/api/identity/extension_token_key.h" |
| #include "chrome/browser/extensions/api/identity/identity_api.h" |
| #include "chrome/browser/profiles/profile.h" |
| #include "chrome/browser/ui/browser.h" |
| |
| namespace { |
| |
| const char kChromeWebStoreId[] = "ahfgeienlihckogmohjhadlkjgocpleb"; |
| const int kOneHour = 3600; |
| } // namespace |
| |
| IdentityInternalsUIBrowserTest::IdentityInternalsUIBrowserTest() {} |
| |
| IdentityInternalsUIBrowserTest::~IdentityInternalsUIBrowserTest() {} |
| |
| void IdentityInternalsUIBrowserTest::SetupTokenCache(int number_of_tokens) { |
| for (int number = 0; number < number_of_tokens; ++number) { |
| const std::string token_number = base::IntToString(number); |
| std::string token_id("token"); |
| token_id += token_number; |
| std::string extension_id("extension"); |
| extension_id += token_number; |
| std::vector<std::string> scopes; |
| scopes.push_back(std::string("scope_1_") + token_number); |
| scopes.push_back(std::string("scope_2_") + token_number); |
| AddTokenToCache(token_id, extension_id, scopes, kOneHour); |
| } |
| } |
| |
| void IdentityInternalsUIBrowserTest::SetupTokenCacheWithStoreApp() { |
| std::vector<std::string> scopes; |
| scopes.push_back(std::string("store_scope1")); |
| scopes.push_back(std::string("store_scope2")); |
| AddTokenToCache("store_token", kChromeWebStoreId, scopes, kOneHour); |
| } |
| |
| void IdentityInternalsUIBrowserTest::AddTokenToCache( |
| const std::string token_id, |
| const std::string extension_id, |
| const std::vector<std::string>& scopes, |
| int time_to_live) { |
| extensions::IdentityTokenCacheValue token_cache_value = |
| extensions::IdentityTokenCacheValue(token_id, |
| base::TimeDelta::FromSeconds(time_to_live)); |
| extensions::ExtensionTokenKey key( |
| extension_id, |
| "test@example.com", |
| std::set<std::string>(scopes.begin(), scopes.end())); |
| extensions::IdentityAPI::GetFactoryInstance() |
| ->Get(browser()->profile()) |
| ->SetCachedToken(key, token_cache_value); |
| } |