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)115 std::shared_ptr<ResultSet> QueryByStep(const std::string& sql, const std::vector<ValueObject>& bindArgs) override 116 { 117 return nullptr; 118 }; 119 ExecuteAndGetLong(int64_t & outValue,const std::string & sql,const std::vector<ValueObject> & bindArgs)120 int ExecuteAndGetLong(int64_t& outValue, const std::string& sql, const std::vector<ValueObject>& bindArgs) override 121 { 122 return NativeRdb::E_ERROR; 123 }; ExecuteAndGetString(std::string & outValue,const std::string & sql,const std::vector<ValueObject> & bindArgs)124 int ExecuteAndGetString( 125 std::string& outValue, const std::string& sql, const std::vector<ValueObject>& bindArgs) override 126 { 127 return NativeRdb::E_ERROR; 128 }; ExecuteForLastInsertedRowId(int64_t & outValue,const std::string & sql,const std::vector<ValueObject> & bindArgs)129 int ExecuteForLastInsertedRowId( 130 int64_t& outValue, const std::string& sql, const std::vector<ValueObject>& bindArgs) override 131 { 132 return NativeRdb::E_ERROR; 133 }; ExecuteForChangedRowCount(int64_t & outValue,const std::string & sql,const std::vector<ValueObject> & bindArgs)134 int ExecuteForChangedRowCount( 135 int64_t& outValue, const std::string& sql, const std::vector<ValueObject>& bindArgs) override 136 { 137 return NativeRdb::E_ERROR; 138 }; Backup(const std::string & databasePath,const std::vector<uint8_t> & destEncryptKey)139 int Backup(const std::string& databasePath, const std::vector<uint8_t>& destEncryptKey) override 140 { 141 return NativeRdb::E_ERROR; 142 }; Attach(const std::string & alias,const std::string & pathName,const std::vector<uint8_t> destEncryptKey)143 int Attach( 144 const std::string& alias, const std::string& pathName, const std::vector<uint8_t> destEncryptKey) override 145 { 146 return NativeRdb::E_ERROR; 147 }; 148 Count(int64_t & outValue,const AbsRdbPredicates & predicates)149 int Count(int64_t& outValue, const AbsRdbPredicates& predicates) override 150 { 151 return NativeRdb::E_ERROR; 152 }; 153 QueryByStep(const AbsRdbPredicates & predicates,const std::vector<std::string> & columns)154 std::shared_ptr<ResultSet> QueryByStep( 155 const AbsRdbPredicates& predicates, const std::vector<std::string>& columns) override 156 { 157 return nullptr; 158 }; RemoteQuery(const std::string & device,const AbsRdbPredicates & predicates,const std::vector<std::string> & columns,int & errCode)159 std::shared_ptr<ResultSet> RemoteQuery(const std::string& device, const AbsRdbPredicates& predicates, 160 const std::vector<std::string>& columns, int& errCode) override 161 { 162 return nullptr; 163 }; Update(int & changedRows,const ValuesBucket & values,const AbsRdbPredicates & predicates)164 int Update(int& changedRows, const ValuesBucket& values, const AbsRdbPredicates& predicates) override 165 { 166 return NativeRdb::E_ERROR; 167 }; 168 GetStatus()169 virtual int GetStatus() 170 { 171 return NativeRdb::E_ERROR; 172 }; SetStatus(int status)173 virtual void SetStatus(int status){}; GetVersion(int & version)174 int GetVersion(int& version) override 175 { 176 return NativeRdb::E_ERROR; 177 }; SetVersion(int version)178 int SetVersion(int version) override 179 { 180 return NativeRdb::E_ERROR; 181 }; BeginTransaction()182 int BeginTransaction() override 183 { 184 return NativeRdb::E_ERROR; 185 }; RollBack()186 int RollBack() override 187 { 188 return NativeRdb::E_ERROR; 189 }; Commit()190 int Commit() override 191 { 192 return NativeRdb::E_ERROR; 193 }; IsInTransaction()194 bool IsInTransaction() override 195 { 196 return false; 197 }; GetPath()198 std::string GetPath() override 199 { 200 return ""; 201 } IsHoldingConnection()202 bool IsHoldingConnection() override 203 { 204 return false; 205 }; IsOpen()206 bool IsOpen() const override 207 { 208 return false; 209 }; IsReadOnly()210 bool IsReadOnly() const override 211 { 212 return false; 213 }; IsMemoryRdb()214 bool IsMemoryRdb() const override 215 { 216 return false; 217 }; Restore(const std::string & backupPath,const std::vector<uint8_t> & newKey)218 int Restore(const std::string& backupPath, const std::vector<uint8_t>& newKey) override 219 { 220 return NativeRdb::E_ERROR; 221 }; ChangeDbFileForRestore(const std::string newPath,const std::string backupPath,const std::vector<uint8_t> & newKey)222 virtual int ChangeDbFileForRestore( 223 const std::string newPath, const std::string backupPath, const std::vector<uint8_t>& newKey) 224 { 225 return NativeRdb::E_ERROR; 226 }; 227 SetDistributedTables(const std::vector<std::string> & tables,int type,const DistributedRdb::DistributedConfig & distributedConfig)228 int SetDistributedTables(const std::vector<std::string>& tables, int type, 229 const DistributedRdb::DistributedConfig& distributedConfig) override 230 { 231 return E_ERROR; 232 }; 233 ObtainDistributedTableName(const std::string & device,const std::string & table,int & errCode)234 std::string ObtainDistributedTableName(const std::string& device, const std::string& table, int& errCode) override 235 { 236 return ""; 237 } 238 Sync(const SyncOption & option,const AbsRdbPredicates & predicate,const AsyncBrief & async)239 int Sync(const SyncOption& option, const AbsRdbPredicates& predicate, const AsyncBrief& async) override 240 { 241 return E_ERROR; 242 }; 243 Sync(const SyncOption & option,const AbsRdbPredicates & predicate,const AsyncDetail & async)244 int Sync(const SyncOption& option, const AbsRdbPredicates& predicate, const AsyncDetail& async) override 245 { 246 return E_ERROR; 247 }; 248 Sync(const SyncOption & option,const std::vector<std::string> & tables,const AsyncDetail & async)249 int Sync(const SyncOption& option, const std::vector<std::string>& tables, const AsyncDetail& async) override 250 { 251 return E_ERROR; 252 }; 253 Subscribe(const SubscribeOption & option,RdbStoreObserver * observer)254 int Subscribe(const SubscribeOption& option, RdbStoreObserver* observer) override 255 { 256 return E_ERROR; 257 }; 258 UnSubscribe(const SubscribeOption & option,RdbStoreObserver * observer)259 int UnSubscribe(const SubscribeOption& option, RdbStoreObserver* observer) override 260 { 261 return E_ERROR; 262 }; 263 RegisterAutoSyncCallback(std::shared_ptr<DetailProgressObserver> syncObserver)264 int RegisterAutoSyncCallback(std::shared_ptr<DetailProgressObserver> syncObserver) override 265 { 266 return E_ERROR; 267 }; 268 UnregisterAutoSyncCallback(std::shared_ptr<DetailProgressObserver> syncObserver)269 int UnregisterAutoSyncCallback(std::shared_ptr<DetailProgressObserver> syncObserver) override 270 { 271 return E_ERROR; 272 }; 273 Notify(const std::string & event)274 int Notify(const std::string& event) override 275 { 276 return E_ERROR; 277 } 278 DropDeviceData(const std::vector<std::string> & devices,const DropOption & option)279 virtual bool DropDeviceData(const std::vector<std::string>& devices, const DropOption& option) 280 { 281 return false; 282 }; 283 GetModifyTime(const std::string & table,const std::string & columnName,std::vector<PRIKey> & keys)284 ModifyTime GetModifyTime( 285 const std::string& table, const std::string& columnName, std::vector<PRIKey>& keys) override 286 { 287 return {}; 288 }; 289 CleanDirtyData(const std::string & table,uint64_t cursor)290 int CleanDirtyData(const std::string& table, uint64_t cursor) override 291 { 292 return E_ERROR; 293 }; 294 GetRebuilt(RebuiltType & rebuilt)295 int GetRebuilt(RebuiltType& rebuilt) override 296 { 297 return E_OK; 298 } 299 }; 300 301 } 302 #endif // APP_DOMAIN_VERIFY_MOCK_RDB_H 303