1 /*
2  * Copyright (c) 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 
16 #ifndef FOUNDATION_ACE_TEST_MOCK_CORE_COMMON_MOCK_UDMF_H
17 #define FOUNDATION_ACE_TEST_MOCK_CORE_COMMON_MOCK_UDMF_H
18 
19 #include "gmock/gmock-function-mocker.h"
20 #include "gmock/gmock.h"
21 
22 #include "base/memory/ace_type.h"
23 #include "core/common/udmf/udmf_client.h"
24 
25 namespace OHOS::Ace {
26 class MockUdmfClient : public UdmfClient {
27     DECLARE_ACE_TYPE(MockUdmfClient, UdmfClient);
28 
29 public:
30     MOCK_METHOD(RefPtr<UnifiedData>, TransformUnifiedData, (napi_value napiValue), (override));
31     MOCK_METHOD(napi_value, TransformUdmfUnifiedData, (RefPtr<UnifiedData>& UnifiedData), (override));
32     MOCK_METHOD(RefPtr<UnifiedData>, TransformUnifiedDataForNative, (void* rawData), (override));
33     MOCK_METHOD(void*, TransformUnifiedDataPtr, (RefPtr<UnifiedData>& UnifiedData), (override));
34     MOCK_METHOD(napi_value, TransformSummary, ((std::map<std::string, int64_t>& summary)), (override));
35     MOCK_METHOD(RefPtr<UnifiedData>, CreateUnifiedData, (), (override));
36     MOCK_METHOD(int32_t, SetData, (const RefPtr<UnifiedData>& unifiedData, std::string& key), (override));
37     MOCK_METHOD(int32_t, GetData, (const RefPtr<UnifiedData>& unifiedData, const std::string& key), (override));
38     MOCK_METHOD(int32_t, GetSummary, (std::string& key, (std::map<std::string, int64_t>& summaryMap)), (override));
39     MOCK_METHOD(bool, GetRemoteStatus, (std::string& key), (override));
40     MOCK_METHOD(void, AddFormRecord,
41         (const RefPtr<UnifiedData>& unifiedData, int32_t formId, const RequestFormInfo& cardInfo), (override));
42     MOCK_METHOD(void, AddLinkRecord,
43         (const RefPtr<UnifiedData>& unifiedData, const std::string& url, const std::string& description), (override));
44     MOCK_METHOD(void, GetLinkRecord,
45         (const RefPtr<UnifiedData>& unifiedData, std::string& url, std::string& description), (override));
46     MOCK_METHOD(bool, GetFileUriRecord,
47         (const RefPtr<UnifiedData>& unifiedData, std::vector<std::string>& uri), (override));
48     MOCK_METHOD(bool, AddFileUriRecord,
49         (const RefPtr<UnifiedData>& unifiedData, std::vector<std::string>& uri), (override));
50     MOCK_METHOD(void, AddHtmlRecord, (const RefPtr<UnifiedData>& unifiedData,
51         const std::string& htmlContent, const std::string& plainContent), (override));
52     MOCK_METHOD(void, GetHtmlRecord,
53         (const RefPtr<UnifiedData>& unifiedData, std::string& htmlContent, std::string& plainContent), (override));
54     MOCK_METHOD(void, AddPixelMapRecord, (const RefPtr<UnifiedData>& unifiedData, (std::vector<uint8_t> & data),
55         PixelMapRecordDetails& details), (override));
56     MOCK_METHOD(void, AddImageRecord, (const RefPtr<UnifiedData>& unifiedData, const std::string& uri), (override));
57     MOCK_METHOD(
58         void, AddPlainTextRecord, (const RefPtr<UnifiedData>& unifiedData, const std::string& selectedStr), (override));
59     MOCK_METHOD(std::string, GetSinglePlainTextRecord, (const RefPtr<UnifiedData>& unifiedData), (override));
60     MOCK_METHOD(std::vector<std::string>, GetPlainTextRecords, (const RefPtr<UnifiedData>& unifiedData), (override));
61     MOCK_METHOD(int32_t, GetVideoRecordUri, (const RefPtr<UnifiedData>& unifiedData, std::string& uri), (override));
62     MOCK_METHOD((std::pair<int32_t, std::string>), GetErrorInfo, (int32_t errorCode), (override));
63     MOCK_METHOD(void, AddSpanStringRecord,
64         (const RefPtr<UnifiedData>& unifiedData, std::vector<uint8_t>& data), (override));
65     MOCK_METHOD(std::vector<uint8_t>, GetSpanStringRecord, (const RefPtr<UnifiedData>& unifiedData), (override));
66 };
67 class MockUnifiedData : public UnifiedData {
68     DECLARE_ACE_TYPE(MockUnifiedData, UnifiedData);
69 
70 public:
MockUnifiedData()71     MockUnifiedData() {};
72     ~MockUnifiedData() = default;
73     MOCK_METHOD(int64_t, GetSize, (), (override));
74 };
75 } // namespace OHOS::Ace
76 #endif // FOUNDATION_ACE_TEST_MOCK_CORE_COMMON_MOCK_UDMF_H
77