1 /*
2  * Copyright (c) 2024 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 #ifndef MOCK_RDB_STORE_H
16 #define MOCK_RDB_STORE_H
17 
18 #include <string>
19 
20 namespace OHOS {
21 namespace AppExecFwk {
22 using namespace OHOS::NativeRdb;
23 
24 class MockRdbStore : public RdbStore {
25 public:
MockRdbStore(const RdbStoreConfig& config)26     MockRdbStore(const RdbStoreConfig& config) {}
MockRdbStore(const RdbStoreConfig& config, int& errCode)27     MockRdbStore(const RdbStoreConfig& config, int& errCode) {}
~MockRdbStore()28     virtual ~MockRdbStore() {}
29 
30     MOCK_METHOD3(Insert, int(int64_t&, const std::string&, const ValuesBucket&));
31     MOCK_METHOD3(BatchInsert, int(int64_t&, const std::string&, const std::vector<ValuesBucket>&));
32     MOCK_METHOD3(Replace, int(int64_t&, const std::string&, const ValuesBucket&));
33     MOCK_METHOD4(InsertWithConflictResolution, int(int64_t&, const std::string&, const ValuesBucket&,
34                  ConflictResolution));
35     MOCK_METHOD5(Update, int(int&, const std::string&, const ValuesBucket&,
36                  const std::string&, const std::vector<std::string>&));
37     MOCK_METHOD5(Update, int(int&, const std::string&, const ValuesBucket&,
38                  const std::string&, const std::vector<ValueObject>&));
39     MOCK_METHOD6(UpdateWithConflictResolution, int(int&, const std::string&, const ValuesBucket&,
40                  const std::string&, const std::vector<std::string>&, ConflictResolution));
41     MOCK_METHOD6(UpdateWithConflictResolution, int(int&, const std::string&, const ValuesBucket&,
42                  const std::string&, const std::vector<ValueObject>&, ConflictResolution));
43     MOCK_METHOD4(Delete, int(int&, const std::string&, const std::string&, const std::vector<std::string>&));
44     MOCK_METHOD4(Delete, int(int&, const std::string&, const std::string&, const std::vector<ValueObject>&));
45     MOCK_METHOD11(Query, std::shared_ptr<AbsSharedResultSet>(int&, bool, const std::string&,
46                   const std::vector<std::string>&, const std::string&, const std::vector<ValueObject>&,
47                   const std::string&, const std::string&, const std::string&, const int&, const int&));
48     MOCK_METHOD2(QuerySql, std::shared_ptr<AbsSharedResultSet>(const std::string&, const std::vector<std::string>&));
49     MOCK_METHOD2(QuerySql, std::shared_ptr<AbsSharedResultSet>(const std::string&, const std::vector<ValueObject>&));
50     MOCK_METHOD2(QueryByStep, std::shared_ptr<ResultSet>(const std::string&, const std::vector<std::string>&));
51     MOCK_METHOD2(QueryByStep, std::shared_ptr<ResultSet>(const std::string&, const std::vector<ValueObject>&));
52     MOCK_METHOD2(ExecuteSql, int(const std::string&, const std::vector<ValueObject>&));
53     MOCK_METHOD3(ExecuteAndGetLong, int(int64_t&, const std::string&, const std::vector<ValueObject>&));
54     MOCK_METHOD3(ExecuteAndGetString, int(std::string&, const std::string&, const std::vector<ValueObject>&));
55     MOCK_METHOD3(ExecuteForLastInsertedRowId, int(int64_t&, const std::string&, const std::vector<ValueObject>&));
56     MOCK_METHOD3(ExecuteForChangedRowCount, int(int64_t&, const std::string&, const std::vector<ValueObject>&));
57     MOCK_METHOD2(Backup, int(const std::string&, const std::vector<uint8_t>&));
58     MOCK_METHOD2(Count, int(int64_t&, const AbsRdbPredicates&));
59     MOCK_METHOD2(Query, std::shared_ptr<AbsSharedResultSet>(const AbsRdbPredicates&, const std::vector<std::string>&));
60     MOCK_METHOD2(QueryByStep, std::shared_ptr<ResultSet>(const AbsRdbPredicates&, const std::vector<std::string>&));
61     MOCK_METHOD4(RemoteQuery, std::shared_ptr<ResultSet>(const std::string&, const AbsRdbPredicates&,
62                  const std::vector<std::string>&, int&));
63     MOCK_METHOD3(Update, int(int&, const ValuesBucket&, const AbsRdbPredicates&));
64     MOCK_METHOD2(Delete, int(int&, const AbsRdbPredicates&));
65     MOCK_METHOD1(GetVersion, int(int&));
66     MOCK_METHOD1(SetVersion, int(int));
67     MOCK_METHOD0(BeginTransaction, int());
68     MOCK_METHOD0(RollBack, int());
69     MOCK_METHOD0(Commit, int());
70     MOCK_METHOD0(IsInTransaction, bool());
71     MOCK_METHOD0(GetPath, std::string());
72     MOCK_METHOD0(IsHoldingConnection, bool());
73     MOCK_CONST_METHOD0(IsOpen, bool());
74     MOCK_CONST_METHOD0(IsReadOnly, bool());
75     MOCK_CONST_METHOD0(IsMemoryRdb, bool());
76     MOCK_METHOD2(Restore, int(const std::string&, const std::vector<uint8_t>&));
77     MOCK_METHOD3(SetDistributedTables, int(const std::vector<std::string>&, int32_t,
78                  const DistributedRdb::DistributedConfig&));
79     MOCK_METHOD3(ObtainDistributedTableName, std::string(const std::string&, const std::string&, int&));
80     MOCK_METHOD3(Sync, int(const SyncOption&, const AbsRdbPredicates&, const AsyncBrief&));
81     MOCK_METHOD3(Sync, int(const SyncOption&, const std::vector<std::string>&, const AsyncDetail&));
82     MOCK_METHOD3(Sync, int(const SyncOption&, const AbsRdbPredicates&, const AsyncDetail&));
83     MOCK_METHOD2(Subscribe, int(const SubscribeOption&, RdbStoreObserver*));
84     MOCK_METHOD2(UnSubscribe, int(const SubscribeOption&, RdbStoreObserver*));
85     MOCK_METHOD1(RegisterAutoSyncCallback, int(std::shared_ptr<DetailProgressObserver>));
86     MOCK_METHOD1(UnregisterAutoSyncCallback, int(std::shared_ptr<DetailProgressObserver>));
87     MOCK_METHOD1(Notify, int(const std::string&));
88     MOCK_CONST_METHOD0(IsSlaveDiffFromMaster, bool());
89     MOCK_METHOD3(GetModifyTime, ModifyTime(const std::string&, const std::string&, std::vector<PRIKey>&));
90     MOCK_METHOD2(CleanDirtyData, int(const std::string&, uint64_t));
91     MOCK_METHOD1(GetRebuilt, int(RebuiltType&));
92 };
93 }
94 }
95 #endif  // MOCK_RDB_STORE_H
96