• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright (c) 2009 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/common/net/gaia/gaia_authenticator.h"
6 
7 #include <string>
8 
9 #include "chrome/common/net/http_return.h"
10 #include "googleurl/src/gurl.h"
11 #include "testing/gtest/include/gtest/gtest.h"
12 
13 using std::string;
14 
15 namespace gaia {
16 
17 class GaiaAuthenticatorTest : public testing::Test { };
18 
19 class GaiaAuthMockForGaiaAuthenticator : public GaiaAuthenticator {
20  public:
GaiaAuthMockForGaiaAuthenticator()21   GaiaAuthMockForGaiaAuthenticator()
22       : GaiaAuthenticator("useragent", "serviceid", "http://gaia_url") {}
~GaiaAuthMockForGaiaAuthenticator()23   ~GaiaAuthMockForGaiaAuthenticator() {}
24  protected:
Post(const GURL & url,const string & post_body,unsigned long * response_code,string * response_body)25   bool Post(const GURL& url, const string& post_body,
26             unsigned long* response_code, string* response_body) {
27     *response_code = RC_REQUEST_OK;
28     response_body->assign("body\n");
29     return true;
30   }
31 
GetBackoffDelaySeconds(int current_backoff_delay)32   int GetBackoffDelaySeconds(
33       int current_backoff_delay) {
34     // Dummy delay value.
35     return 5;
36   }
37 };
38 
TEST(GaiaAuthenticatorTest,TestNewlineAtEndOfAuthTokenRemoved)39 TEST(GaiaAuthenticatorTest, TestNewlineAtEndOfAuthTokenRemoved) {
40   GaiaAuthMockForGaiaAuthenticator mock_auth;
41   MessageLoop message_loop;
42   mock_auth.set_message_loop(&message_loop);
43   GaiaAuthenticator::AuthResults results;
44   EXPECT_TRUE(mock_auth.IssueAuthToken(&results, "sid"));
45   EXPECT_EQ(0, results.auth_token.compare("body"));
46 }
47 
48 }  // namespace gaia
49 
50