diff options
Diffstat (limited to 'chrome/browser/extensions/api/identity/identity_apitest.cc')
-rw-r--r-- | chrome/browser/extensions/api/identity/identity_apitest.cc | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/chrome/browser/extensions/api/identity/identity_apitest.cc b/chrome/browser/extensions/api/identity/identity_apitest.cc new file mode 100644 index 0000000..334c8848 --- /dev/null +++ b/chrome/browser/extensions/api/identity/identity_apitest.cc @@ -0,0 +1,45 @@ +// Copyright (c) 2012 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/extensions/api/identity/identity_api.h" +#include "chrome/browser/extensions/extension_apitest.h" +#include "chrome/common/net/gaia/google_service_auth_error.h" +#include "chrome/common/net/gaia/oauth2_mint_token_flow.h" +#include "chrome/common/chrome_switches.h" + +namespace { + +class IdentityInterceptor : public OAuth2MintTokenFlow::InterceptorForTests { + public: + virtual bool DoIntercept(const OAuth2MintTokenFlow* flow, + std::string* access_token, + GoogleServiceAuthError* error) OVERRIDE { + *access_token = "auth_token"; + get_auth_token_called_ = true; + return true; + } + + bool get_auth_token_called() const { return get_auth_token_called_; } + + private: + bool get_auth_token_called_; +}; + +} // namespace + +class ExperimentalApiTest : public ExtensionApiTest { + public: + void SetUpCommandLine(CommandLine* command_line) { + ExtensionApiTest::SetUpCommandLine(command_line); + command_line->AppendSwitch(switches::kEnablePlatformApps); + command_line->AppendSwitch(switches::kEnableExperimentalExtensionApis); + } +}; + +IN_PROC_BROWSER_TEST_F(ExperimentalApiTest, Identity) { + IdentityInterceptor interceptor; + OAuth2MintTokenFlow::SetInterceptorForTests(&interceptor); + ASSERT_TRUE(RunExtensionTest("identity")) << message_; + ASSERT_TRUE(interceptor.get_auth_token_called()); +}; |