OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "remoting/test/refresh_token_store.h" | 5 #include "remoting/test/refresh_token_store.h" |
6 | 6 |
7 #include "base/files/file_util.h" | 7 #include "base/files/file_util.h" |
8 #include "base/logging.h" | 8 #include "base/logging.h" |
9 | 9 |
10 namespace { | 10 namespace { |
11 const base::FilePath::CharType kTokenFileName[] = | 11 const base::FilePath::CharType kTokenFileName[] = |
12 FILE_PATH_LITERAL("refresh_token.txt"); | 12 FILE_PATH_LITERAL("refresh_token.txt"); |
13 const base::FilePath::CharType kRemotingFolder[] = | 13 const base::FilePath::CharType kRemotingFolder[] = |
14 FILE_PATH_LITERAL("remoting"); | 14 FILE_PATH_LITERAL("remoting"); |
15 const base::FilePath::CharType kRefreshTokenStoreFolder[] = | 15 const base::FilePath::CharType kRefreshTokenStoreFolder[] = |
16 FILE_PATH_LITERAL("refresh_token_store"); | 16 FILE_PATH_LITERAL("refresh_token_store"); |
17 | 17 |
18 // Returns the FilePath of the token store file for |user_name|. | 18 // Returns the FilePath of the token store file for |user_name|. |
19 base::FilePath GetRefreshTokenDirPath(const std::string& user_name) { | 19 base::FilePath GetRefreshTokenDirPath(const std::string& user_name) { |
20 base::FilePath refresh_token_dir_path; | 20 base::FilePath refresh_token_dir_path; |
21 if (!GetTempDir(&refresh_token_dir_path)) { | 21 if (!GetTempDir(&refresh_token_dir_path)) { |
22 LOG(WARNING) << "Failed to retrieve temporary directory path."; | 22 LOG(WARNING) << "Failed to retrieve temporary directory path."; |
23 return base::FilePath(); | 23 return base::FilePath(); |
24 } | 24 } |
25 | 25 |
26 refresh_token_dir_path = refresh_token_dir_path.Append(kRemotingFolder); | 26 refresh_token_dir_path = refresh_token_dir_path.Append(kRemotingFolder); |
27 refresh_token_dir_path = refresh_token_dir_path.Append( | 27 refresh_token_dir_path = |
28 kRefreshTokenStoreFolder); | 28 refresh_token_dir_path.Append(kRefreshTokenStoreFolder); |
29 | 29 |
30 // We call AppendASCII here our user_name is a std::string but wide strings | 30 // We call AppendASCII here our user_name is a std::string but wide strings |
31 // are used on WIN platforms. ApendASCII will convert our std::string into | 31 // are used on WIN platforms. ApendASCII will convert our std::string into |
32 // the correct type for windows platforms. | 32 // the correct type for windows platforms. |
33 refresh_token_dir_path = refresh_token_dir_path.AppendASCII(user_name); | 33 refresh_token_dir_path = refresh_token_dir_path.AppendASCII(user_name); |
34 | 34 |
35 return refresh_token_dir_path; | 35 return refresh_token_dir_path; |
36 } | 36 } |
37 | 37 |
38 } // namespace | 38 } // namespace |
(...skipping 12 matching lines...) Expand all Loading... |
51 std::string FetchRefreshToken() override; | 51 std::string FetchRefreshToken() override; |
52 bool StoreRefreshToken(const std::string& refresh_token) override; | 52 bool StoreRefreshToken(const std::string& refresh_token) override; |
53 | 53 |
54 private: | 54 private: |
55 // Used to access the user specific token file. | 55 // Used to access the user specific token file. |
56 std::string user_name_; | 56 std::string user_name_; |
57 | 57 |
58 DISALLOW_COPY_AND_ASSIGN(RefreshTokenStoreOnDisk); | 58 DISALLOW_COPY_AND_ASSIGN(RefreshTokenStoreOnDisk); |
59 }; | 59 }; |
60 | 60 |
61 RefreshTokenStoreOnDisk::RefreshTokenStoreOnDisk(const std::string user_name) : | 61 RefreshTokenStoreOnDisk::RefreshTokenStoreOnDisk(const std::string user_name) |
62 user_name_(user_name) {} | 62 : user_name_(user_name) { |
| 63 } |
63 | 64 |
64 RefreshTokenStoreOnDisk::~RefreshTokenStoreOnDisk() {} | 65 RefreshTokenStoreOnDisk::~RefreshTokenStoreOnDisk() { |
| 66 } |
65 | 67 |
66 std::string RefreshTokenStoreOnDisk::FetchRefreshToken() { | 68 std::string RefreshTokenStoreOnDisk::FetchRefreshToken() { |
67 base::FilePath token_dir_path(GetRefreshTokenDirPath(user_name_)); | 69 base::FilePath token_dir_path(GetRefreshTokenDirPath(user_name_)); |
68 DCHECK(!token_dir_path.empty()); | 70 DCHECK(!token_dir_path.empty()); |
69 | 71 |
70 DVLOG(2) << "Reading token from path: " << token_dir_path.value(); | 72 DVLOG(2) << "Reading token from path: " << token_dir_path.value(); |
71 base::FilePath token_file_path(token_dir_path.Append(kTokenFileName)); | 73 base::FilePath token_file_path(token_dir_path.Append(kTokenFileName)); |
72 | 74 |
73 std::string refresh_token; | 75 std::string refresh_token; |
74 if (!base::ReadFileToString(token_file_path, &refresh_token)) { | 76 if (!base::ReadFileToString(token_file_path, &refresh_token)) { |
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
124 | 126 |
125 return true; | 127 return true; |
126 #else | 128 #else |
127 NOTIMPLEMENTED(); | 129 NOTIMPLEMENTED(); |
128 return false; | 130 return false; |
129 #endif // OS_POSIX | 131 #endif // OS_POSIX |
130 } | 132 } |
131 | 133 |
132 scoped_ptr<RefreshTokenStore> RefreshTokenStore::OnDisk( | 134 scoped_ptr<RefreshTokenStore> RefreshTokenStore::OnDisk( |
133 const std::string& user_name) { | 135 const std::string& user_name) { |
134 return make_scoped_ptr<RefreshTokenStore>(new RefreshTokenStoreOnDisk( | 136 return make_scoped_ptr<RefreshTokenStore>( |
135 user_name)); | 137 new RefreshTokenStoreOnDisk(user_name)); |
136 } | 138 } |
137 | 139 |
138 } // namespace test | 140 } // namespace test |
139 } // namespace remoting | 141 } // namespace remoting |
OLD | NEW |