blob: 334c8848ed44d0a140ea612ea8b5e70c1d83ce2b [file] [log] [blame]
// 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());
};