Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(272)

Side by Side Diff: chrome/browser/sync/test/integration/sync_test.h

Issue 115243007: Basic implementation of the Sync C++ fake server (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 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 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 #ifndef CHROME_BROWSER_SYNC_TEST_INTEGRATION_SYNC_TEST_H_ 5 #ifndef CHROME_BROWSER_SYNC_TEST_INTEGRATION_SYNC_TEST_H_
6 #define CHROME_BROWSER_SYNC_TEST_INTEGRATION_SYNC_TEST_H_ 6 #define CHROME_BROWSER_SYNC_TEST_INTEGRATION_SYNC_TEST_H_
7 7
8 #include <string> 8 #include <string>
9 #include <vector> 9 #include <vector>
10 10
11 #include "base/basictypes.h" 11 #include "base/basictypes.h"
12 #include "base/compiler_specific.h" 12 #include "base/compiler_specific.h"
13 #include "base/memory/scoped_ptr.h" 13 #include "base/memory/scoped_ptr.h"
14 #include "base/memory/scoped_vector.h" 14 #include "base/memory/scoped_vector.h"
15 #include "chrome/test/base/in_process_browser_test.h" 15 #include "chrome/test/base/in_process_browser_test.h"
16 #include "net/dns/mock_host_resolver.h" 16 #include "net/dns/mock_host_resolver.h"
17 #include "net/http/http_status_code.h" 17 #include "net/http/http_status_code.h"
18 #include "net/url_request/url_request_status.h" 18 #include "net/url_request/url_request_status.h"
19 #include "sync/internal_api/public/base/model_type.h" 19 #include "sync/internal_api/public/base/model_type.h"
20 #include "sync/internal_api/public/test/fake_server.h"
20 #include "sync/protocol/sync_protocol_error.h" 21 #include "sync/protocol/sync_protocol_error.h"
21 #include "sync/test/local_sync_test_server.h" 22 #include "sync/test/local_sync_test_server.h"
22 23
23 24
24 class CommandLine; 25 class CommandLine;
25 class Profile; 26 class Profile;
26 class ProfileSyncServiceHarness; 27 class ProfileSyncServiceHarness;
27 28
28 namespace net { 29 namespace net {
29 class FakeURLFetcherFactory; 30 class FakeURLFetcherFactory;
(...skipping 20 matching lines...) Expand all
50 51
51 // Tests where three or more client profiles are synced with the server. 52 // Tests where three or more client profiles are synced with the server.
52 // Typically, these tests create client side races and verify that sync 53 // Typically, these tests create client side races and verify that sync
53 // works. 54 // works.
54 MULTIPLE_CLIENT 55 MULTIPLE_CLIENT
55 }; 56 };
56 57
57 // The type of server we're running against. 58 // The type of server we're running against.
58 enum ServerType { 59 enum ServerType {
59 SERVER_TYPE_UNDECIDED, 60 SERVER_TYPE_UNDECIDED,
60 LOCAL_PYTHON_SERVER, // The mock python server that runs locally and is 61 LOCAL_PYTHON_SERVER, // The mock python server that runs locally and is
61 // part of the Chromium checkout. 62 // part of the Chromium checkout.
62 LOCAL_LIVE_SERVER, // Some other server (maybe the real binary used by 63 LOCAL_LIVE_SERVER, // Some other server (maybe the real binary used by
63 // Google's sync service) that can be started on 64 // Google's sync service) that can be started on
64 // a per-test basis by running a command 65 // a per-test basis by running a command
65 EXTERNAL_LIVE_SERVER, // A remote server that the test code has no control 66 EXTERNAL_LIVE_SERVER, // A remote server that the test code has no control
66 // over whatsoever; cross your fingers that the 67 // over whatsoever; cross your fingers that the
67 // account state is initially clean. 68 // account state is initially clean.
69 IN_PROCESS_FAKE_SERVER, // The fake Sync server (FakeServer) running
70 // in-process (bypassing HTTP calls). This
71 // ServerType will eventually replace
72 // LOCAL_PYTHON_SERVER.
68 }; 73 };
69 74
70 // NOTE: IMPORTANT the enum here should match with 75 // NOTE: IMPORTANT the enum here should match with
71 // the enum defined on the chromiumsync.py test server impl. 76 // the enum defined on the chromiumsync.py test server impl.
72 enum SyncErrorFrequency { 77 enum SyncErrorFrequency {
73 // Uninitialized state. 78 // Uninitialized state.
74 ERROR_FREQUENCY_NONE, 79 ERROR_FREQUENCY_NONE,
75 80
76 // Server sends the error on all requests. 81 // Server sends the error on all requests.
77 ERROR_FREQUENCY_ALWAYS, 82 ERROR_FREQUENCY_ALWAYS,
(...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after
244 249
245 // Creates Profile, Browser and ProfileSyncServiceHarness instances for 250 // Creates Profile, Browser and ProfileSyncServiceHarness instances for
246 // |index|. Used by SetupClients(). 251 // |index|. Used by SetupClients().
247 virtual void InitializeInstance(int index); 252 virtual void InitializeInstance(int index);
248 253
249 // Implementations of the EnableNotifications() and DisableNotifications() 254 // Implementations of the EnableNotifications() and DisableNotifications()
250 // functions defined above. 255 // functions defined above.
251 void DisableNotificationsImpl(); 256 void DisableNotificationsImpl();
252 void EnableNotificationsImpl(); 257 void EnableNotificationsImpl();
253 258
259 // Set up the test to use the in-process fake server. This must be called
260 // before SetUp().
261 // TODO(pvalenzuela): Remove this method when the C++ fake server becomes
262 // the default server type.
263 void UseFakeServer();
264
254 // GAIA account used by the test case. 265 // GAIA account used by the test case.
255 std::string username_; 266 std::string username_;
256 267
257 // GAIA password used by the test case. 268 // GAIA password used by the test case.
258 std::string password_; 269 std::string password_;
259 270
260 // Locally available plain text file in which GAIA credentials are stored. 271 // Locally available plain text file in which GAIA credentials are stored.
261 base::FilePath password_file_; 272 base::FilePath password_file_;
262 273
274 // The FakeServer used in tests with server type IN_PROCESS_FAKE_SERVER.
275 scoped_ptr<syncer::FakeServer> fake_server_;
276
263 private: 277 private:
264 // Helper to ProfileManager::CreateProfile that handles path creation. 278 // Helper to ProfileManager::CreateProfile that handles path creation.
265 static Profile* MakeProfile(const base::FilePath::StringType name); 279 static Profile* MakeProfile(const base::FilePath::StringType name);
266 280
267 // Helper method used to read GAIA credentials from a local password file 281 // Helper method used to read GAIA credentials from a local password file
268 // specified via the "--password-file-for-test" command line switch. 282 // specified via the "--password-file-for-test" command line switch.
269 // Note: The password file must be a plain text file with exactly two lines -- 283 // Note: The password file must be a plain text file with exactly two lines --
270 // the username on the first line and the password on the second line. 284 // the username on the first line and the password on the second line.
271 void ReadPasswordFile(); 285 void ReadPasswordFile();
272 286
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after
374 scoped_ptr<net::URLFetcherImplFactory> factory_; 388 scoped_ptr<net::URLFetcherImplFactory> factory_;
375 389
376 // Number of default entries (as determined by the existing entries at setup 390 // Number of default entries (as determined by the existing entries at setup
377 // time on client 0). 391 // time on client 0).
378 size_t number_of_default_sync_items_; 392 size_t number_of_default_sync_items_;
379 393
380 DISALLOW_COPY_AND_ASSIGN(SyncTest); 394 DISALLOW_COPY_AND_ASSIGN(SyncTest);
381 }; 395 };
382 396
383 #endif // CHROME_BROWSER_SYNC_TEST_INTEGRATION_SYNC_TEST_H_ 397 #endif // CHROME_BROWSER_SYNC_TEST_INTEGRATION_SYNC_TEST_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698