1 /*
2  * Copyright (c) 2022 Huawei Device Co., Ltd.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 
16 #ifndef MOCK_SINGLE_VER_KV_SYNCER_H
17 #define MOCK_SINGLE_VER_KV_SYNCER_H
18 #include <gmock/gmock.h>
19 #include "single_ver_kv_syncer.h"
20 
21 namespace DistributedDB {
22 class MockSingleVerKVSyncer : public SingleVerKVSyncer {
23 public:
CallRecordTimeChangeOffset(void * changedOffset)24     void CallRecordTimeChangeOffset(void *changedOffset)
25     {
26         RecordTimeChangeOffset(changedOffset);
27     }
28 
CallTriggerAddSubscribeAsync(ISyncInterface * syncInterface)29     void CallTriggerAddSubscribeAsync(ISyncInterface *syncInterface)
30     {
31         SingleVerKVSyncer::TriggerAddSubscribeAsync(syncInterface);
32     }
33 
SetSyncEngine(ISyncEngine * engine)34     void SetSyncEngine(ISyncEngine *engine)
35     {
36         syncEngine_ = engine;
37     }
38 
CallQueryAutoSync(const InternalSyncParma & param)39     void CallQueryAutoSync(const InternalSyncParma &param)
40     {
41         SingleVerKVSyncer::QueryAutoSync(param);
42     }
43 
Init(ISyncEngine * engine,ISyncInterface * storage,bool init)44     void Init(ISyncEngine *engine, ISyncInterface *storage, bool init)
45     {
46         syncEngine_ = engine;
47         syncInterface_ = storage;
48         initialized_ = init;
49     }
50 
CallStatusCheck()51     int CallStatusCheck() const
52     {
53         return SingleVerKVSyncer::StatusCheck();
54     }
55 
SetMetadata(const std::shared_ptr<Metadata> & metadata)56     void SetMetadata(const std::shared_ptr<Metadata> &metadata)
57     {
58         metadata_ = metadata;
59     }
60 
TestSyncerLock()61     void TestSyncerLock()
62     {
63         LOGD("begin get lock");
64         std::lock_guard<std::mutex> autoLock(syncerLock_);
65         LOGD("get lock success");
66     }
67 };
68 }
69 #endif // MOCK_SINGLE_VER_KV_SYNCER_H
70