• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2021-2023 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 APP_DOMAIN_VERIFY_MOCK_RDB_H
16 #define APP_DOMAIN_VERIFY_MOCK_RDB_H
17 #include "gmock/gmock.h"
18 #include "rdb_store.h"
19 namespace OHOS::AppDomainVerify {
20 void MockGetRdbStore(std::shared_ptr<OHOS::NativeRdb::RdbStore> mockRdbStore);
21 }
22 
23 namespace OHOS::NativeRdb {
24 class MockResultSet : public AbsSharedResultSet {
25 public:
26     MOCK_METHOD(int, GoToFirstRow, (), (override));
27     MOCK_METHOD(int, GoToNextRow, (), (override));
28     MOCK_METHOD(int, GetString, (int columnIndex, std::string& value), (override));
29     MOCK_METHOD(int, GetInt, (int columnIndex, int& value), (override));
30     MOCK_METHOD(int, Close, (), (override));
31     MOCK_METHOD(int, GetColumnCount, (int& count), (override));
32 };
33 class MockRdbStore : public RdbStore {
34 public:
35     MockRdbStore() = default;
36     MOCK_METHOD(int, ExecuteSql, (const std::string& sql, const std::vector<ValueObject>& bindArgs), (override));
37     MOCK_METHOD(int, InsertWithConflictResolution,
38         (int64_t & outRowId, const std::string& table, const ValuesBucket& values,
39             ConflictResolution conflictResolution),
40         (override));
41     MOCK_METHOD(int, Delete, (int& deletedRows, const AbsRdbPredicates& predicates), (override));
42     MOCK_METHOD(int, Delete,
43         (int& deletedRows, const std::string& table, const std::string& whereClause,
44             const std::vector<std::string>& whereArgs),
45         (override));
46 
47     MOCK_METHOD(int, Delete,
48         (int& deletedRows, const std::string& table, const std::string& whereClause,
49             const std::vector<ValueObject>& bindArgs),
50         (override));
51 
52     MOCK_METHOD(std::shared_ptr<AbsSharedResultSet>, Query,
53         (const AbsRdbPredicates& predicates, const std::vector<std::string>& columns), (override));
54     MOCK_METHOD(int, BeginTransaction, (), (override));
55     MOCK_METHOD(int, RollBack, (), (override));
56     MOCK_METHOD(int, Commit, (), (override));
57     ~MockRdbStore() override = default;
58 
Insert(int64_t & outRowId,const std::string & table,const ValuesBucket & initialValues)59     int Insert(int64_t& outRowId, const std::string& table, const ValuesBucket& initialValues) override
60     {
61         return NativeRdb::E_ERROR;
62     };
BatchInsert(int64_t & outInsertNum,const std::string & table,const std::vector<ValuesBucket> & initialBatchValues)63     int BatchInsert(
64         int64_t& outInsertNum, const std::string& table, const std::vector<ValuesBucket>& initialBatchValues) override
65     {
66         return NativeRdb::E_ERROR;
67     };
Replace(int64_t & outRowId,const std::string & table,const ValuesBucket & initialValues)68     int Replace(int64_t& outRowId, const std::string& table, const ValuesBucket& initialValues) override
69     {
70         return NativeRdb::E_ERROR;
71     };
72 
Update(int & changedRows,const std::string & table,const ValuesBucket & values,const std::string & whereClaus,const std::vector<std::string> & whereArgs)73     int Update(int& changedRows, const std::string& table, const ValuesBucket& values, const std::string& whereClaus,
74         const std::vector<std::string>& whereArgs) override
75     {
76         return NativeRdb::E_ERROR;
77     };
Update(int & changedRows,const std::string & table,const ValuesBucket & values,const std::string & whereClause,const std::vector<ValueObject> & bindArgs)78     int Update(int& changedRows, const std::string& table, const ValuesBucket& values, const std::string& whereClause,
79         const std::vector<ValueObject>& bindArgs) override
80     {
81         return NativeRdb::E_ERROR;
82     };
UpdateWithConflictResolution(int & changedRows,const std::string & table,const ValuesBucket & values,const std::string & whereClause,const std::vector<std::string> & whereArgs,ConflictResolution conflictResolution)83     int UpdateWithConflictResolution(int& changedRows, const std::string& table, const ValuesBucket& values,
84         const std::string& whereClause, const std::vector<std::string>& whereArgs,
85         ConflictResolution conflictResolution) override
86     {
87         return NativeRdb::E_ERROR;
88     };
UpdateWithConflictResolution(int & changedRows,const std::string & table,const ValuesBucket & values,const std::string & whereClause,const std::vector<ValueObject> & bindArgs,ConflictResolution conflictResolution)89     int UpdateWithConflictResolution(int& changedRows, const std::string& table, const ValuesBucket& values,
90         const std::string& whereClause, const std::vector<ValueObject>& bindArgs,
91         ConflictResolution conflictResolution) override
92     {
93         return NativeRdb::E_ERROR;
94     };
95 
Query(int & errCode,bool distinct,const std::string & table,const std::vector<std::string> & columns,const std::string & whereClause,const std::vector<ValueObject> & bindArgs,const std::string & groupBy,const std::string & indexName,const std::string & orderBy,const int & limit,const int & offset)96     std::shared_ptr<AbsSharedResultSet> Query(int& errCode, bool distinct, const std::string& table,
97         const std::vector<std::string>& columns, const std::string& whereClause,
98         const std::vector<ValueObject>& bindArgs, const std::string& groupBy, const std::string& indexName,
99         const std::string& orderBy, const int& limit, const int& offset) override
100     {
101         return nullptr;
102     };
QuerySql(const std::string & sql,const std::vector<std::string> & selectionArgs)103     std::shared_ptr<AbsSharedResultSet> QuerySql(
104         const std::string& sql, const std::vector<std::string>& selectionArgs) override
105     {
106         return nullptr;
107     };
QuerySql(const std::string & sql,const std::vector<ValueObject> & selectionArgs)108     std::shared_ptr<AbsSharedResultSet> QuerySql(
109         const std::string& sql, const std::vector<ValueObject>& selectionArgs) override
110     {
111         return nullptr;
112     };
QueryByStep(const std::string & sql,const std::vector<std::string> & selectionArgs)113     std::shared_ptr<ResultSet> QueryByStep(
114         const std::string& sql, const std::vector<std::string>& selectionArgs) override
115     {
116         return nullptr;
117     };
QueryByStep(const std::string & sql,const std::vector<ValueObject> & bindArgs,bool preCount)118     std::shared_ptr<ResultSet> QueryByStep(
119         const std::string& sql, const std::vector<ValueObject>& bindArgs, bool preCount) override
120     {
121         return nullptr;
122     };
123 
ExecuteAndGetLong(int64_t & outValue,const std::string & sql,const std::vector<ValueObject> & bindArgs)124     int ExecuteAndGetLong(int64_t& outValue, const std::string& sql, const std::vector<ValueObject>& bindArgs) override
125     {
126         return NativeRdb::E_ERROR;
127     };
ExecuteAndGetString(std::string & outValue,const std::string & sql,const std::vector<ValueObject> & bindArgs)128     int ExecuteAndGetString(
129         std::string& outValue, const std::string& sql, const std::vector<ValueObject>& bindArgs) override
130     {
131         return NativeRdb::E_ERROR;
132     };
ExecuteForLastInsertedRowId(int64_t & outValue,const std::string & sql,const std::vector<ValueObject> & bindArgs)133     int ExecuteForLastInsertedRowId(
134         int64_t& outValue, const std::string& sql, const std::vector<ValueObject>& bindArgs) override
135     {
136         return NativeRdb::E_ERROR;
137     };
ExecuteForChangedRowCount(int64_t & outValue,const std::string & sql,const std::vector<ValueObject> & bindArgs)138     int ExecuteForChangedRowCount(
139         int64_t& outValue, const std::string& sql, const std::vector<ValueObject>& bindArgs) override
140     {
141         return NativeRdb::E_ERROR;
142     };
Backup(const std::string & databasePath,const std::vector<uint8_t> & destEncryptKey)143     int Backup(const std::string& databasePath, const std::vector<uint8_t>& destEncryptKey) override
144     {
145         return NativeRdb::E_ERROR;
146     };
Attach(const std::string & alias,const std::string & pathName,const std::vector<uint8_t> destEncryptKey)147     int Attach(
148         const std::string& alias, const std::string& pathName, const std::vector<uint8_t> destEncryptKey) override
149     {
150         return NativeRdb::E_ERROR;
151     };
152 
Count(int64_t & outValue,const AbsRdbPredicates & predicates)153     int Count(int64_t& outValue, const AbsRdbPredicates& predicates) override
154     {
155         return NativeRdb::E_ERROR;
156     };
157 
QueryByStep(const AbsRdbPredicates & predicates,const std::vector<std::string> & columns,bool preCount)158     std::shared_ptr<ResultSet> QueryByStep(
159         const AbsRdbPredicates& predicates, const std::vector<std::string>& columns, bool preCount) override
160     {
161         return nullptr;
162     };
RemoteQuery(const std::string & device,const AbsRdbPredicates & predicates,const std::vector<std::string> & columns,int & errCode)163     std::shared_ptr<ResultSet> RemoteQuery(const std::string& device, const AbsRdbPredicates& predicates,
164         const std::vector<std::string>& columns, int& errCode) override
165     {
166         return nullptr;
167     };
Update(int & changedRows,const ValuesBucket & values,const AbsRdbPredicates & predicates)168     int Update(int& changedRows, const ValuesBucket& values, const AbsRdbPredicates& predicates) override
169     {
170         return NativeRdb::E_ERROR;
171     };
172 
GetStatus()173     virtual int GetStatus()
174     {
175         return NativeRdb::E_ERROR;
176     };
SetStatus(int status)177     virtual void SetStatus(int status) {};
GetVersion(int & version)178     int GetVersion(int& version) override
179     {
180         return NativeRdb::E_ERROR;
181     };
SetVersion(int version)182     int SetVersion(int version) override
183     {
184         return NativeRdb::E_ERROR;
185     };
186 
IsInTransaction()187     bool IsInTransaction() override
188     {
189         return false;
190     };
GetPath()191     std::string GetPath() override
192     {
193         return "";
194     }
IsHoldingConnection()195     bool IsHoldingConnection() override
196     {
197         return false;
198     };
IsOpen()199     bool IsOpen() const override
200     {
201         return false;
202     };
IsReadOnly()203     bool IsReadOnly() const override
204     {
205         return false;
206     };
IsMemoryRdb()207     bool IsMemoryRdb() const override
208     {
209         return false;
210     };
Restore(const std::string & backupPath,const std::vector<uint8_t> & newKey)211     int Restore(const std::string& backupPath, const std::vector<uint8_t>& newKey) override
212     {
213         return NativeRdb::E_ERROR;
214     };
ChangeDbFileForRestore(const std::string newPath,const std::string backupPath,const std::vector<uint8_t> & newKey)215     virtual int ChangeDbFileForRestore(
216         const std::string newPath, const std::string backupPath, const std::vector<uint8_t>& newKey)
217     {
218         return NativeRdb::E_ERROR;
219     };
220 
SetDistributedTables(const std::vector<std::string> & tables,int type,const DistributedRdb::DistributedConfig & distributedConfig)221     int SetDistributedTables(const std::vector<std::string>& tables, int type,
222         const DistributedRdb::DistributedConfig& distributedConfig) override
223     {
224         return E_ERROR;
225     };
226 
ObtainDistributedTableName(const std::string & device,const std::string & table,int & errCode)227     std::string ObtainDistributedTableName(const std::string& device, const std::string& table, int& errCode) override
228     {
229         return "";
230     }
231 
Sync(const SyncOption & option,const AbsRdbPredicates & predicate,const AsyncBrief & async)232     int Sync(const SyncOption& option, const AbsRdbPredicates& predicate, const AsyncBrief& async) override
233     {
234         return E_ERROR;
235     };
236 
Sync(const SyncOption & option,const AbsRdbPredicates & predicate,const AsyncDetail & async)237     int Sync(const SyncOption& option, const AbsRdbPredicates& predicate, const AsyncDetail& async) override
238     {
239         return E_ERROR;
240     };
241 
Sync(const SyncOption & option,const std::vector<std::string> & tables,const AsyncDetail & async)242     int Sync(const SyncOption& option, const std::vector<std::string>& tables, const AsyncDetail& async) override
243     {
244         return E_ERROR;
245     };
246 
Subscribe(const SubscribeOption & option,std::shared_ptr<RdbStoreObserver> observer)247     int Subscribe(const SubscribeOption& option, std::shared_ptr<RdbStoreObserver> observer) override
248     {
249         return E_ERROR;
250     };
251 
UnSubscribe(const SubscribeOption & option,std::shared_ptr<RdbStoreObserver> observer)252     int UnSubscribe(const SubscribeOption& option, std::shared_ptr<RdbStoreObserver> observer) override
253     {
254         return E_ERROR;
255     };
256 
RegisterAutoSyncCallback(std::shared_ptr<DetailProgressObserver> syncObserver)257     int RegisterAutoSyncCallback(std::shared_ptr<DetailProgressObserver> syncObserver) override
258     {
259         return E_ERROR;
260     };
261 
UnregisterAutoSyncCallback(std::shared_ptr<DetailProgressObserver> syncObserver)262     int UnregisterAutoSyncCallback(std::shared_ptr<DetailProgressObserver> syncObserver) override
263     {
264         return E_ERROR;
265     };
266 
Notify(const std::string & event)267     int Notify(const std::string& event) override
268     {
269         return E_ERROR;
270     }
271 
DropDeviceData(const std::vector<std::string> & devices,const DropOption & option)272     virtual bool DropDeviceData(const std::vector<std::string>& devices, const DropOption& option)
273     {
274         return false;
275     };
276 
GetModifyTime(const std::string & table,const std::string & columnName,std::vector<PRIKey> & keys)277     ModifyTime GetModifyTime(
278         const std::string& table, const std::string& columnName, std::vector<PRIKey>& keys) override
279     {
280         return {};
281     };
282 
CleanDirtyData(const std::string & table,uint64_t cursor)283     int CleanDirtyData(const std::string& table, uint64_t cursor) override
284     {
285         return E_ERROR;
286     };
287 
GetRebuilt(RebuiltType & rebuilt)288     int GetRebuilt(RebuiltType& rebuilt) override
289     {
290         return E_OK;
291     }
292 };
293 
294 }
295 #endif  // APP_DOMAIN_VERIFY_MOCK_RDB_H
296