1 /* 2 * Copyright (c) 2021-2022 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 16 #ifndef MOCK_OHOS_ABILITY_RUNTIME_MOCK_DATA_ABILITY_H 17 #define MOCK_OHOS_ABILITY_RUNTIME_MOCK_DATA_ABILITY_H 18 19 #include "ability.h" 20 #include <gtest/gtest.h> 21 22 #include "abs_shared_result_set.h" 23 #include "data_ability_predicates.h" 24 #include "values_bucket.h" 25 26 namespace OHOS { 27 namespace AppExecFwk { 28 using Want = OHOS::AAFwk::Want; 29 30 class MockDataAbility : public Ability { 31 public: 32 MockDataAbility() = default; 33 virtual ~MockDataAbility() = default; 34 35 enum Event { ON_ACTIVE = 0, ON_BACKGROUND, ON_FOREGROUND, ON_INACTIVE, ON_START, ON_STOP, UNDEFINED }; 36 OpenFile(const Uri & uri,const std::string & mode)37 virtual int OpenFile(const Uri& uri, const std::string& mode) 38 { 39 GTEST_LOG_(INFO) << "MockDataAbility::OpenFile called"; 40 41 return 1; 42 } 43 Insert(const Uri & uri,const NativeRdb::ValuesBucket & value)44 virtual int Insert(const Uri& uri, const NativeRdb::ValuesBucket& value) 45 { 46 GTEST_LOG_(INFO) << "MockDataAbility::Insert called"; 47 48 return 1; 49 } 50 Update(const Uri & uri,const NativeRdb::ValuesBucket & value,const NativeRdb::DataAbilityPredicates & predicates)51 virtual int Update(const Uri& uri, const NativeRdb::ValuesBucket& value, 52 const NativeRdb::DataAbilityPredicates& predicates) 53 { 54 GTEST_LOG_(INFO) << "MockDataAbility::Update called"; 55 56 return 1; 57 } 58 Delete(const Uri & uri,const NativeRdb::DataAbilityPredicates & predicates)59 virtual int Delete(const Uri& uri, const NativeRdb::DataAbilityPredicates& predicates) 60 { 61 GTEST_LOG_(INFO) << "MockDataAbility::Delete called"; 62 63 return 1; 64 } 65 OpenRawFile(const Uri & uri,const std::string & mode)66 virtual int OpenRawFile(const Uri& uri, const std::string& mode) 67 { 68 GTEST_LOG_(INFO) << "MockDataAbility::OpenRawFile called"; 69 70 return 1; 71 } 72 Reload(const Uri & uri,const PacMap & extras)73 virtual bool Reload(const Uri& uri, const PacMap& extras) 74 { 75 GTEST_LOG_(INFO) << "MockDataAbility::Reload called"; 76 77 return 1; 78 } 79 BatchInsert(const Uri & uri,const std::vector<NativeRdb::ValuesBucket> & values)80 virtual int BatchInsert(const Uri& uri, const std::vector<NativeRdb::ValuesBucket>& values) 81 { 82 GTEST_LOG_(INFO) << "MockDataAbility::BatchInsert called"; 83 84 return 1; 85 } 86 Query(const Uri & uri,const std::vector<std::string> & columns,const NativeRdb::DataAbilityPredicates & predicates)87 virtual std::shared_ptr<NativeRdb::AbsSharedResultSet> Query( 88 const Uri& uri, const std::vector<std::string>& columns, const NativeRdb::DataAbilityPredicates& predicates) 89 { 90 GTEST_LOG_(INFO) << "MockDataAbility::Query called"; 91 std::shared_ptr<NativeRdb::AbsSharedResultSet> set = std::make_shared<NativeRdb::AbsSharedResultSet>( 92 "QueryTest"); 93 return set; 94 } 95 GetFileTypes(const Uri & uri,const std::string & mimeTypeFilter)96 virtual std::vector<std::string> GetFileTypes(const Uri& uri, const std::string& mimeTypeFilter) 97 { 98 GTEST_LOG_(INFO) << "MockDataAbility::GetFileTypes called"; 99 value.push_back(mimeTypeFilter); 100 return value; 101 } 102 GetType(const Uri & uri)103 virtual std::string GetType(const Uri& uri) 104 { 105 GTEST_LOG_(INFO) << "MockDataAbility::GetType called"; 106 std::string value("Type1"); 107 return value; 108 } 109 Call(const Uri & uri,const std::string & method,const std::string & arg,const AppExecFwk::PacMap & pacMap)110 virtual std::shared_ptr<AppExecFwk::PacMap> Call( 111 const Uri &uri, const std::string &method, const std::string &arg, const AppExecFwk::PacMap &pacMap) 112 { 113 GTEST_LOG_(INFO) << "MockDataAbility::Call called"; 114 std::shared_ptr<AppExecFwk::PacMap> set = std::make_shared<AppExecFwk::PacMap>(); 115 return set; 116 } 117 NormalizeUri(const Uri & uri)118 virtual Uri NormalizeUri(const Uri &uri) 119 { 120 GTEST_LOG_(INFO) << "MockDataAbility::NormalizeUri called"; 121 Uri urivalue("UriTest"); 122 return urivalue; 123 } 124 DenormalizeUri(const Uri & uri)125 virtual Uri DenormalizeUri(const Uri &uri) 126 { 127 GTEST_LOG_(INFO) << "MockDataAbility::DenormalizeUri called"; 128 Uri urivalue("UriTest"); 129 return urivalue; 130 } 131 ExecuteBatch(const std::vector<std::shared_ptr<DataAbilityOperation>> & operations)132 virtual std::vector<std::shared_ptr<DataAbilityResult>> ExecuteBatch( 133 const std::vector<std::shared_ptr<DataAbilityOperation>> &operations) 134 { 135 GTEST_LOG_(INFO) << "MockDataAbility::ExecuteBatch called"; 136 std::vector<std::shared_ptr<DataAbilityResult>> results; 137 return results; 138 } 139 140 int datatest = 0; 141 MockDataAbility::Event state_ = UNDEFINED; 142 std::vector<std::string> value; 143 }; 144 } // namespace AppExecFwk 145 } // namespace OHOS 146 #endif // MOCK_OHOS_ABILITY_RUNTIME_MOCK_DATA_ABILITY_H 147