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