Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / chrome / browser / sync_file_system / mock_remote_file_sync_service.cc
1 // Copyright (c) 2012 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 #include "chrome/browser/sync_file_system/mock_remote_file_sync_service.h"
6
7 #include <string>
8
9 #include "base/bind.h"
10 #include "base/location.h"
11 #include "base/single_thread_task_runner.h"
12 #include "base/thread_task_runner_handle.h"
13 #include "url/gurl.h"
14 #include "webkit/browser/fileapi/file_system_url.h"
15
16 using ::testing::_;
17 using ::testing::Invoke;
18 using ::testing::Return;
19
20 namespace sync_file_system {
21
22 MockRemoteFileSyncService::MockRemoteFileSyncService()
23     : conflict_resolution_policy_(CONFLICT_RESOLUTION_POLICY_MANUAL),
24       state_(REMOTE_SERVICE_OK) {
25   typedef MockRemoteFileSyncService self;
26   ON_CALL(*this, AddServiceObserver(_))
27       .WillByDefault(Invoke(this, &self::AddServiceObserverStub));
28   ON_CALL(*this, AddFileStatusObserver(_))
29       .WillByDefault(Invoke(this, &self::AddFileStatusObserverStub));
30   ON_CALL(*this, RegisterOrigin(_, _))
31       .WillByDefault(Invoke(this, &self::RegisterOriginStub));
32   ON_CALL(*this, UninstallOrigin(_, _, _))
33       .WillByDefault(
34           Invoke(this, &self::DeleteOriginDirectoryStub));
35   ON_CALL(*this, ProcessRemoteChange(_))
36       .WillByDefault(Invoke(this, &self::ProcessRemoteChangeStub));
37   ON_CALL(*this, GetLocalChangeProcessor())
38       .WillByDefault(Return(&mock_local_change_processor_));
39   ON_CALL(*this, GetCurrentState())
40       .WillByDefault(Invoke(this, &self::GetCurrentStateStub));
41 }
42
43 MockRemoteFileSyncService::~MockRemoteFileSyncService() {
44 }
45
46 void MockRemoteFileSyncService::DumpFiles(const GURL& origin,
47                                           const ListCallback& callback) {
48   callback.Run(scoped_ptr<base::ListValue>());
49 }
50
51 void MockRemoteFileSyncService::DumpDatabase(const ListCallback& callback) {
52   callback.Run(scoped_ptr<base::ListValue>());
53 }
54
55 void MockRemoteFileSyncService::SetServiceState(RemoteServiceState state) {
56   state_ = state;
57 }
58
59 void MockRemoteFileSyncService::NotifyRemoteChangeQueueUpdated(
60     int64 pending_changes) {
61   FOR_EACH_OBSERVER(Observer, service_observers_,
62                     OnRemoteChangeQueueUpdated(pending_changes));
63 }
64
65 void MockRemoteFileSyncService::NotifyRemoteServiceStateUpdated(
66     RemoteServiceState state,
67     const std::string& description) {
68   FOR_EACH_OBSERVER(Observer, service_observers_,
69                     OnRemoteServiceStateUpdated(state, description));
70 }
71
72 void MockRemoteFileSyncService::NotifyFileStatusChanged(
73     const fileapi::FileSystemURL& url,
74     SyncFileStatus sync_status,
75     SyncAction action_taken,
76     SyncDirection direction) {
77   FOR_EACH_OBSERVER(FileStatusObserver, file_status_observers_,
78                     OnFileStatusChanged(url, sync_status,
79                                         action_taken, direction));
80 }
81
82 void MockRemoteFileSyncService::AddServiceObserverStub(Observer* observer) {
83   service_observers_.AddObserver(observer);
84 }
85
86 void MockRemoteFileSyncService::AddFileStatusObserverStub(
87     FileStatusObserver* observer) {
88   file_status_observers_.AddObserver(observer);
89 }
90
91 void MockRemoteFileSyncService::RegisterOriginStub(
92     const GURL& origin,
93     const SyncStatusCallback& callback) {
94   base::ThreadTaskRunnerHandle::Get()->PostTask(
95       FROM_HERE,
96       base::Bind(callback, SYNC_STATUS_OK));
97 }
98
99 void MockRemoteFileSyncService::DeleteOriginDirectoryStub(
100     const GURL& origin,
101     UninstallFlag flag,
102     const SyncStatusCallback& callback) {
103   base::ThreadTaskRunnerHandle::Get()->PostTask(
104       FROM_HERE,
105       base::Bind(callback, SYNC_STATUS_OK));
106 }
107
108 void MockRemoteFileSyncService::ProcessRemoteChangeStub(
109     const SyncFileCallback& callback) {
110   base::ThreadTaskRunnerHandle::Get()->PostTask(
111       FROM_HERE,
112       base::Bind(callback, SYNC_STATUS_NO_CHANGE_TO_SYNC,
113                  fileapi::FileSystemURL()));
114 }
115
116 RemoteServiceState MockRemoteFileSyncService::GetCurrentStateStub() const {
117   return state_;
118 }
119
120 }  // namespace sync_file_system