• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2025 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 SOFTBUS_UTILS_MOCK_H
17 #define SOFTBUS_UTILS_MOCK_H
18 
19 #include "softbus_utils.h"
20 
21 #include <gmock/gmock.h>
22 #include <mutex>
23 
24 namespace OHOS {
25 class UtilsInterface {
26 public:
UtilsInterface()27     UtilsInterface() {};
~UtilsInterface()28     virtual ~UtilsInterface() {};
29 
30     virtual int32_t RegisterTimeoutCallback(int32_t timerFunId, TimerFunCallback callback) = 0;
31     virtual int32_t SoftBusTimerInit(void) = 0;
32     virtual void SoftBusTimerDeInit(void) = 0;
33     virtual SoftBusList *CreateSoftBusList(void) = 0;
34     virtual void DestroySoftBusList(SoftBusList *list) = 0;
35     virtual int32_t ConvertBytesToHexString(
36         char *outBuf, uint32_t outBufLen, const unsigned char *inBuf, uint32_t inLen) = 0;
37     virtual int32_t ConvertBtMacToStrNoColon(
38         char *strMac, uint32_t strMacLen, const uint8_t *binMac, uint32_t binMacLen) = 0;
39     virtual int32_t ConvertHexStringToBytes(
40         unsigned char *outBuf, uint32_t outBufLen, const char *inBuf, uint32_t inLen) = 0;
41     virtual int32_t ConvertBytesToUpperCaseHexString(
42         char *outBuf, uint32_t outBufLen, const unsigned char *inBuf, uint32_t inLen) = 0;
43     virtual int32_t GenerateRandomStr(char *str, uint32_t size) = 0;
44     virtual bool IsValidString(const char *input, uint32_t maxLen) = 0;
45     virtual int32_t ConvertBtMacToBinary(
46         const char *strMac, uint32_t strMacLen, uint8_t *binMac, uint32_t binMacLen) = 0;
47     virtual int32_t ConvertBtMacToStr(char *strMac, uint32_t strMacLen, const uint8_t *binMac, uint32_t binMacLen) = 0;
48     virtual int32_t ConvertReverseBtMacToStr(
49         char *strMac, uint32_t strMacLen, const uint8_t *binMac, uint32_t binMacLen) = 0;
50     virtual int32_t ConvertBtMacToU64(const char *strMac, uint32_t strMacLen, uint64_t *u64Mac) = 0;
51     virtual int32_t ConvertU64MacToStr(uint64_t u64Mac, char *strMac, uint32_t strMacLen) = 0;
52     virtual bool Int64ToString(int64_t src, char *buf, uint32_t bufLen) = 0;
53     virtual int32_t StrCmpIgnoreCase(const char *str1, const char *str2) = 0;
54     virtual int32_t StringToUpperCase(const char *str, char *buf, int32_t size) = 0;
55     virtual int32_t StringToLowerCase(const char *str, char *buf, int32_t size) = 0;
56     virtual int32_t WriteInt32ToBuf(uint8_t *buf, uint32_t dataLen, int32_t *offSet, int32_t data) = 0;
57     virtual int32_t WriteUint8ToBuf(uint8_t *buf, uint32_t dataLen, int32_t *offSet, uint8_t data) = 0;
58     virtual int32_t ReadInt32FromBuf(uint8_t *buf, uint32_t dataLen, int32_t *offSet, int32_t *data) = 0;
59     virtual int32_t ReadUint8FromBuf(uint8_t *buf, uint32_t dataLen, int32_t *offSet, uint8_t *data) = 0;
60     virtual void SetSignalingMsgSwitchOn(void) = 0;
61     virtual void SetSignalingMsgSwitchOff(void) = 0;
62     virtual bool GetSignalingMsgSwitch(void) = 0;
63 };
64 class UtilsInterfaceMock : public UtilsInterface {
65 public:
66     UtilsInterfaceMock();
67     ~UtilsInterfaceMock() override;
68 
69     MOCK_METHOD2(RegisterTimeoutCallback, int32_t(int32_t, TimerFunCallback));
70     MOCK_METHOD0(SoftBusTimerInit, int32_t());
71     MOCK_METHOD0(SoftBusTimerDeInit, void(void));
72     MOCK_METHOD0(CreateSoftBusList, SoftBusList *(void));
73     MOCK_METHOD1(DestroySoftBusList, void(SoftBusList *));
74     MOCK_METHOD4(ConvertBytesToHexString, int32_t(char *, uint32_t, const unsigned char *, uint32_t));
75     MOCK_METHOD4(ConvertBtMacToStrNoColon, int32_t(char *, uint32_t, const uint8_t *, uint32_t));
76     MOCK_METHOD4(ConvertHexStringToBytes, int32_t(unsigned char *, uint32_t, const char *, uint32_t));
77     MOCK_METHOD4(ConvertBytesToUpperCaseHexString, int32_t(char *, uint32_t, const unsigned char *, uint32_t));
78     MOCK_METHOD2(GenerateRandomStr, int32_t(char *, uint32_t));
79     MOCK_METHOD2(IsValidString, bool(const char *, uint32_t));
80     MOCK_METHOD4(ConvertBtMacToBinary, int32_t(const char *, uint32_t, uint8_t *, uint32_t));
81     MOCK_METHOD4(ConvertBtMacToStr, int32_t(char *, uint32_t, const uint8_t *, uint32_t));
82     MOCK_METHOD4(ConvertReverseBtMacToStr, int32_t(char *, uint32_t, const uint8_t *, uint32_t));
83     MOCK_METHOD3(ConvertBtMacToU64, int32_t(const char *, uint32_t, uint64_t *));
84     MOCK_METHOD3(ConvertU64MacToStr, int32_t(uint64_t, char *, uint32_t));
85     MOCK_METHOD3(Int64ToString, bool(int64_t, char *, uint32_t));
86     MOCK_METHOD2(StrCmpIgnoreCase, int32_t(const char *, const char *));
87     MOCK_METHOD3(StringToUpperCase, int32_t(const char *, char *, int32_t));
88     MOCK_METHOD3(StringToLowerCase, int32_t(const char *, char *, int32_t));
89     MOCK_METHOD4(WriteInt32ToBuf, int32_t(uint8_t *, uint32_t, int32_t *, int32_t));
90     MOCK_METHOD4(WriteUint8ToBuf, int32_t(uint8_t *, uint32_t, int32_t *, uint8_t));
91     MOCK_METHOD4(ReadInt32FromBuf, int32_t(uint8_t *, uint32_t, int32_t *, int32_t *));
92     MOCK_METHOD4(ReadUint8FromBuf, int32_t(uint8_t *, uint32_t, int32_t *, uint8_t *));
93     MOCK_METHOD0(SetSignalingMsgSwitchOn, void(void));
94     MOCK_METHOD0(SetSignalingMsgSwitchOff, void(void));
95     MOCK_METHOD0(GetSignalingMsgSwitch, bool(void));
96 };
97 } // namespace OHOS
98 #endif // SOFTBUS_UTILS_MOCK_H