diff options
author | nick@chromium.org <nick@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-10-17 02:04:06 +0000 |
---|---|---|
committer | nick@chromium.org <nick@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-10-17 02:04:06 +0000 |
commit | b67d748a27218fe026449cd98b1ac334c1266d4c (patch) | |
tree | 4281b65de2fa186671717f87cf575c47c2c50bdf /chrome/test | |
parent | d73fafb5445e428375e1759a8cacb6660b7f859a (diff) | |
download | chromium_src-b67d748a27218fe026449cd98b1ac334c1266d4c.zip chromium_src-b67d748a27218fe026449cd98b1ac334c1266d4c.tar.gz chromium_src-b67d748a27218fe026449cd98b1ac334c1266d4c.tar.bz2 |
Fix ProfileSyncService unit test.
Create TestHttpBridge for use by ProfileSyncServiceUnittest, so it
doesn't crash.
DoInitialize has been changed to take a HttpPostProviderFactory
before the core initialization. The HttpBridge is now created
on the UI thread instead of the core thread.
Create fake tagged nodes in the order that they are requested.
Make the request order consistent and in visual order since this is the
most natural way to request them.
TEST=Ran the affected unit tests on Windows, tested basic sync functionality with two concurrent browsers.
BUG=25021
Review URL: http://codereview.chromium.org/292008
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29368 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/test')
-rw-r--r-- | chrome/test/sync/test_http_bridge_factory.h | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/chrome/test/sync/test_http_bridge_factory.h b/chrome/test/sync/test_http_bridge_factory.h new file mode 100644 index 0000000..83ad6c4 --- /dev/null +++ b/chrome/test/sync/test_http_bridge_factory.h @@ -0,0 +1,69 @@ +// Copyright (c) 2009 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef CHROME_TEST_SYNC_TEST_HTTP_BRIDGE_FACTORY_H_ +#define CHROME_TEST_SYNC_TEST_HTTP_BRIDGE_FACTORY_H_ + +#if defined(BROWSER_SYNC) + +#include "chrome/browser/sync/engine/syncapi.h" + +namespace browser_sync { + +class TestHttpBridge : public sync_api::HttpPostProviderInterface { + public: + virtual void SetUserAgent(const char* user_agent) {} + + // Add additional headers to the request. + virtual void SetExtraRequestHeaders(const char * headers) {} + + // Set the URL to POST to. + virtual void SetURL(const char* url, int port) {} + + // Set the type, length and content of the POST payload. + // |content_type| is a null-terminated MIME type specifier. + // |content| is a data buffer; Do not interpret as a null-terminated string. + // |content_length| is the total number of chars in |content|. It is used to + // assign/copy |content| data. + virtual void SetPostPayload(const char* content_type, int content_length, + const char* content) {} + + // Returns true if the URL request succeeded. If the request failed, + // os_error() may be non-zero and hence contain more information. + virtual bool MakeSynchronousPost(int* os_error_code, int* response_code) { + return false; + } + + // Get the length of the content returned in the HTTP response. + // This does not count the trailing null-terminating character returned + // by GetResponseContent, so it is analogous to calling string.length. + virtual int GetResponseContentLength() const { + return 0; + } + + // Get the content returned in the HTTP response. + // This is a null terminated string of characters. + // Value should be copied. + virtual const char* GetResponseContent() const { + return 0; + } +}; + +class TestHttpBridgeFactory : public sync_api::HttpPostProviderFactory { + public: + // Override everything to do nothing. + TestHttpBridgeFactory() {} + ~TestHttpBridgeFactory() {} + + virtual sync_api::HttpPostProviderInterface* Create() { + return new TestHttpBridge(); + } + virtual void Destroy(sync_api::HttpPostProviderInterface* http) {} +}; + +} // namespace browser_sync + + +#endif // defined(BROWSER_SYNC) +#endif // CHROME_TEST_SYNC_TEST_HTTP_BRIDGE_FACTORY_H_ |