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