106741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch// Copyright (c) 2009 The Chromium Authors. All rights reserved. 206741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch// Use of this source code is governed by a BSD-style license that can be 306741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch// found in the LICENSE file. 406741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch 506741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch#include "chrome/common/net/gaia/gaia_authenticator.h" 606741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch 706741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch#include <string> 806741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch 906741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch#include "chrome/common/net/http_return.h" 1006741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch#include "googleurl/src/gurl.h" 1106741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch#include "testing/gtest/include/gtest/gtest.h" 1206741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch 1306741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdochusing std::string; 1406741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch 1506741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdochnamespace gaia { 1606741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch 1706741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdochclass GaiaAuthenticatorTest : public testing::Test { }; 1806741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch 1906741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdochclass GaiaAuthMockForGaiaAuthenticator : public GaiaAuthenticator { 2006741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch public: 2106741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch GaiaAuthMockForGaiaAuthenticator() 2206741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch : GaiaAuthenticator("useragent", "serviceid", "http://gaia_url") {} 2306741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch ~GaiaAuthMockForGaiaAuthenticator() {} 2406741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch protected: 2506741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch bool Post(const GURL& url, const string& post_body, 2606741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch unsigned long* response_code, string* response_body) { 2706741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch *response_code = RC_REQUEST_OK; 2806741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch response_body->assign("body\n"); 2906741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch return true; 3006741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch } 3106741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch 3206741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch int GetBackoffDelaySeconds( 3306741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch int current_backoff_delay) { 3406741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch // Dummy delay value. 3506741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch return 5; 3606741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch } 3706741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch}; 3806741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch 3906741cbc25cd4227a9fba40dfd0273bfcc1a587aBen MurdochTEST(GaiaAuthenticatorTest, TestNewlineAtEndOfAuthTokenRemoved) { 4006741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch GaiaAuthMockForGaiaAuthenticator mock_auth; 4106741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch MessageLoop message_loop; 4206741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch mock_auth.set_message_loop(&message_loop); 4306741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch GaiaAuthenticator::AuthResults results; 4406741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch EXPECT_TRUE(mock_auth.IssueAuthToken(&results, "sid")); 4506741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch EXPECT_EQ(0, results.auth_token.compare("body")); 4606741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch} 4706741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch 4806741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch} // namespace gaia 4906741cbc25cd4227a9fba40dfd0273bfcc1a587aBen Murdoch 50