summaryrefslogtreecommitdiffstats
path: root/chrome/browser/chromeos/contacts/gdata_contacts_service_stub.cc
diff options
context:
space:
mode:
authorsatorux@chromium.org <satorux@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-10-11 04:22:40 +0000
committersatorux@chromium.org <satorux@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-10-11 04:22:40 +0000
commit4c10622488a6eac5a563b70c410e8c9867097fd0 (patch)
treefb4d3a0d3f7f53e5ea8ccc5b0ec20345c9d749df /chrome/browser/chromeos/contacts/gdata_contacts_service_stub.cc
parent5d51045c16570cfbe1d6844f415401c4cda8545b (diff)
downloadchromium_src-4c10622488a6eac5a563b70c410e8c9867097fd0.zip
chromium_src-4c10622488a6eac5a563b70c410e8c9867097fd0.tar.gz
chromium_src-4c10622488a6eac5a563b70c410e8c9867097fd0.tar.bz2
google_apis: Move Contacts API code to chrome/browser/chromeos/contacts
chrome/browser/chromeos/gdata will be renamed to chrome/browser/chromeos/drive. Contacts API stuff should be moved beforehand. BUG=155214 TEST=compiles Review URL: https://codereview.chromium.org/11086061 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@161292 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/chromeos/contacts/gdata_contacts_service_stub.cc')
-rw-r--r--chrome/browser/chromeos/contacts/gdata_contacts_service_stub.cc66
1 files changed, 66 insertions, 0 deletions
diff --git a/chrome/browser/chromeos/contacts/gdata_contacts_service_stub.cc b/chrome/browser/chromeos/contacts/gdata_contacts_service_stub.cc
new file mode 100644
index 0000000..f053c8b
--- /dev/null
+++ b/chrome/browser/chromeos/contacts/gdata_contacts_service_stub.cc
@@ -0,0 +1,66 @@
+// Copyright (c) 2012 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.
+
+#include "chrome/browser/chromeos/contacts/gdata_contacts_service_stub.h"
+
+#include <vector>
+
+#include "chrome/browser/chromeos/contacts/contact.pb.h"
+#include "chrome/browser/chromeos/contacts/contact_test_util.h"
+#include "chrome/browser/google_apis/gdata_util.h"
+#include "content/public/browser/browser_thread.h"
+
+using content::BrowserThread;
+
+namespace gdata {
+
+GDataContactsServiceStub::GDataContactsServiceStub()
+ : num_download_requests_(0),
+ num_download_requests_with_wrong_timestamps_(0),
+ download_should_succeed_(true) {
+}
+
+GDataContactsServiceStub::~GDataContactsServiceStub() {
+}
+
+void GDataContactsServiceStub::SetContacts(
+ const contacts::ContactPointers& contacts,
+ const base::Time& expected_min_update_time) {
+ contacts::test::CopyContacts(contacts, &contacts_);
+ expected_min_update_time_ = expected_min_update_time;
+}
+
+void GDataContactsServiceStub::Initialize() {
+}
+
+void GDataContactsServiceStub::DownloadContacts(
+ SuccessCallback success_callback,
+ FailureCallback failure_callback,
+ const base::Time& min_update_time) {
+ CHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+ num_download_requests_++;
+
+ if (!download_should_succeed_) {
+ failure_callback.Run();
+ return;
+ }
+
+ if (min_update_time != expected_min_update_time_) {
+ LOG(ERROR) << "Actual minimum update time ("
+ << util::FormatTimeAsString(min_update_time) << ") "
+ << "differed from expected ("
+ << util::FormatTimeAsString(expected_min_update_time_)
+ << "); not returning any contacts";
+ num_download_requests_with_wrong_timestamps_++;
+ failure_callback.Run();
+ return;
+ }
+
+ scoped_ptr<ScopedVector<contacts::Contact> > contacts(
+ new ScopedVector<contacts::Contact>());
+ contacts::test::CopyContacts(contacts_, contacts.get());
+ success_callback.Run(contacts.Pass());
+}
+
+} // namespace contacts