| OLD | NEW |
| (Empty) |
| 1 // Copyright 2013 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 #ifndef SYNC_TEST_ACCOUNTS_CLIENT_TEST_ACCOUNTS_CLIENT_H_ | |
| 6 #define SYNC_TEST_ACCOUNTS_CLIENT_TEST_ACCOUNTS_CLIENT_H_ | |
| 7 | |
| 8 #include <string> | |
| 9 #include <vector> | |
| 10 | |
| 11 #include "base/message_loop/message_loop.h" | |
| 12 #include "url/gurl.h" | |
| 13 | |
| 14 using std::string; | |
| 15 using std::vector; | |
| 16 | |
| 17 // The data associated with an account session. | |
| 18 struct AccountSession { | |
| 19 AccountSession(); | |
| 20 ~AccountSession(); | |
| 21 | |
| 22 string username; | |
| 23 string account_space; | |
| 24 string session_id; | |
| 25 string expiration_time; | |
| 26 }; | |
| 27 | |
| 28 // A test-side client for the Test Accounts service. This service provides | |
| 29 // short-term, exclusive access to test accounts for the purpose of testing | |
| 30 // against real Chrome Sync servers. | |
| 31 class TestAccountsClient { | |
| 32 public: | |
| 33 // Creates a client associated with the given |server| URL (e.g., | |
| 34 // http://service-runs-here.com), |account_space| (for account segregation), | |
| 35 // and |usernames| (the collection of accounts to be chosen from). | |
| 36 TestAccountsClient(const string& server, | |
| 37 const string& account_space, | |
| 38 const vector<string>& usernames); | |
| 39 | |
| 40 virtual ~TestAccountsClient(); | |
| 41 | |
| 42 // Attempts to claim an account via the Test Accounts service. If | |
| 43 // successful, true is returned and the given |session| has its data set. | |
| 44 // If an error occurred, then false is returned. | |
| 45 bool ClaimAccount(AccountSession* session); | |
| 46 | |
| 47 // Attempts to release an account via the Test Accounts service. The value | |
| 48 // of |session| should be one returned from ClaimAccount(). This function | |
| 49 // is best-effort and fails silently. | |
| 50 void ReleaseAccount(const AccountSession& session); | |
| 51 | |
| 52 // Sends an HTTP POST request to the Test Accounts service. | |
| 53 virtual bool SendRequest(const GURL& url, string* response); | |
| 54 | |
| 55 private: | |
| 56 GURL CreateGURLWithPath(const string& path); | |
| 57 base::MessageLoopForIO io_loop_; | |
| 58 const string server_; | |
| 59 const string account_space_; | |
| 60 vector<string> usernames_; | |
| 61 }; | |
| 62 | |
| 63 #endif // SYNC_TEST_ACCOUNTS_CLIENT_TEST_ACCOUNTS_CLIENT_H_ | |
| OLD | NEW |