1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98
|
// Copyright 2012 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CHROME_BROWSER_SYNC_FILE_SYSTEM_MOCK_REMOTE_FILE_SYNC_SERVICE_H_
#define CHROME_BROWSER_SYNC_FILE_SYSTEM_MOCK_REMOTE_FILE_SYNC_SERVICE_H_
#include <stdint.h>
#include <memory>
#include <string>
#include "base/functional/callback.h"
#include "base/observer_list.h"
#include "chrome/browser/sync_file_system/file_status_observer.h"
#include "chrome/browser/sync_file_system/mock_local_change_processor.h"
#include "chrome/browser/sync_file_system/remote_change_processor.h"
#include "chrome/browser/sync_file_system/remote_file_sync_service.h"
#include "chrome/browser/sync_file_system/sync_callbacks.h"
#include "chrome/browser/sync_file_system/sync_direction.h"
#include "chrome/browser/sync_file_system/sync_file_metadata.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "url/gurl.h"
namespace sync_file_system {
class MockRemoteFileSyncService : public RemoteFileSyncService {
public:
MockRemoteFileSyncService();
MockRemoteFileSyncService(const MockRemoteFileSyncService&) = delete;
MockRemoteFileSyncService& operator=(const MockRemoteFileSyncService&) =
delete;
~MockRemoteFileSyncService() override;
// RemoteFileSyncService overrides.
MOCK_METHOD1(AddServiceObserver,
void(RemoteFileSyncService::Observer* observer));
MOCK_METHOD1(AddFileStatusObserver,
void(FileStatusObserver* observer));
MOCK_METHOD2(RegisterOrigin,
void(const GURL& origin, SyncStatusCallback callback));
MOCK_METHOD2(EnableOrigin,
void(const GURL& origin, SyncStatusCallback callback));
MOCK_METHOD2(DisableOrigin,
void(const GURL& origin, SyncStatusCallback callback));
MOCK_METHOD3(UninstallOrigin,
void(const GURL& origin,
UninstallFlag flag,
SyncStatusCallback callback));
MOCK_METHOD1(ProcessRemoteChange, void(SyncFileCallback callback));
MOCK_METHOD1(SetRemoteChangeProcessor,
void(RemoteChangeProcessor* processor));
MOCK_METHOD0(GetLocalChangeProcessor, LocalChangeProcessor*());
MOCK_CONST_METHOD0(GetCurrentState,
RemoteServiceState());
MOCK_METHOD1(SetSyncEnabled, void(bool enabled));
MOCK_METHOD1(PromoteDemotedChanges, void(base::OnceClosure callback));
void SetServiceState(RemoteServiceState state);
// Send notifications to the observers.
// Can be used in the mock implementation.
void NotifyRemoteChangeQueueUpdated(int64_t pending_changes);
void NotifyRemoteServiceStateUpdated(
RemoteServiceState state,
const std::string& description);
void NotifyFileStatusChanged(const storage::FileSystemURL& url,
SyncFileType file_type,
SyncFileStatus sync_status,
SyncAction action_taken,
SyncDirection direction);
private:
void AddServiceObserverStub(Observer* observer);
void AddFileStatusObserverStub(FileStatusObserver* observer);
void RegisterOriginStub(const GURL& origin, SyncStatusCallback callback);
void DeleteOriginDirectoryStub(const GURL& origin,
UninstallFlag flag,
SyncStatusCallback callback);
void ProcessRemoteChangeStub(SyncFileCallback callback);
RemoteServiceState GetCurrentStateStub() const;
// For default implementation.
::testing::NiceMock<MockLocalChangeProcessor> mock_local_change_processor_;
base::ObserverList<Observer>::UncheckedAndDanglingUntriaged
service_observers_;
base::ObserverList<FileStatusObserver>::UncheckedAndDanglingUntriaged
file_status_observers_;
RemoteServiceState state_;
};
} // namespace sync_file_system
#endif // CHROME_BROWSER_SYNC_FILE_SYSTEM_MOCK_REMOTE_FILE_SYNC_SERVICE_H_
|