1 /* 2 * Copyright (c) 2024 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 CLIENT_TRANS_PROXY_FILE_MANAGER_MOCK_H 17 #define CLIENT_TRANS_PROXY_FILE_MANAGER_MOCK_H 18 19 #include <gmock/gmock.h> 20 #include "client_trans_pending.h" 21 #include "client_trans_proxy_manager.h" 22 #include "client_trans_proxy_file_manager.h" 23 #include "client_trans_session_manager.h" 24 25 namespace OHOS { 26 class ClientTransProxyFileManagerInterface { 27 public: ClientTransProxyFileManagerInterface()28 ClientTransProxyFileManagerInterface() {}; ~ClientTransProxyFileManagerInterface()29 virtual ~ClientTransProxyFileManagerInterface() {}; 30 virtual uint32_t SoftBusLtoHl(uint32_t value) = 0; 31 virtual uint32_t SoftBusHtoLl(uint32_t value) = 0; 32 virtual uint64_t SoftBusLtoHll(uint64_t value) = 0; 33 virtual uint64_t SoftBusHtoLll(uint64_t value) = 0; 34 virtual uint32_t SoftBusNtoHl(uint32_t netlong) = 0; 35 virtual int32_t SoftBusGetFileSize(const char *fileName, uint64_t *fileSize) = 0; 36 virtual int32_t GetPendingPacketData(uint32_t id, uint64_t seq, uint32_t waitMillis, 37 bool isDelete, TransPendData *data) = 0; 38 virtual int32_t CreatePendingPacket(uint32_t id, uint64_t seq) = 0; 39 virtual int32_t FrameIndexToType(uint64_t index, uint64_t frameNumber) = 0; 40 virtual int64_t SoftBusPreadFile(int32_t fd, void *buf, uint64_t readBytes, uint64_t offset) = 0; 41 virtual bool CheckDestFilePathValid(const char *destFile) = 0; 42 virtual int32_t GetAndCheckRealPath(const char *filePath, char *absPath) = 0; 43 virtual int32_t SoftBusOpenFile(const char *fileName, int32_t flags) = 0; 44 virtual int32_t TryFileLock(int32_t fd, int32_t type, int32_t retryTimes) = 0; 45 virtual int32_t ClientGetSessionIdByChannelId(int32_t channelId, int32_t channelType, 46 int32_t *sessionId, bool isClosing) = 0; 47 virtual int32_t ClientGetSessionDataById(int32_t sessionId, char *data, uint16_t len, TransSessionKey key) = 0; 48 virtual int32_t ClientGetFileConfigInfoById(int32_t sessionId, 49 int32_t *fileEncrypt, int32_t *algorithm, int32_t *crc) = 0; 50 virtual int32_t TransGetFileListener(const char *sessionName, FileListener *fileListener) = 0; 51 virtual int32_t InitPendingPacket(void) = 0; 52 virtual int32_t FileUnLock(int32_t fd) = 0; 53 virtual int32_t SendFileTransResult(int32_t channelId, uint32_t seq, int32_t result, uint32_t side) = 0; 54 virtual int32_t SendFileAckReqAndResData(int32_t channelId, uint32_t startSeq, uint32_t value, int32_t type) = 0; 55 virtual void DeletePendingPacket(uint32_t id, uint64_t seq) = 0; 56 virtual int32_t AckResponseDataHandle(const SendListenerInfo *info, const char *data, uint32_t len) = 0; 57 virtual int32_t ProxyChannelSendFileStream(int32_t channelId, const char *data, uint32_t len, int32_t type) = 0; 58 virtual int64_t PackReadFileData(FileFrame *fileFrame, uint64_t readLength, 59 uint64_t fileOffset, SendListenerInfo *info) = 0; 60 virtual int32_t FileListToBuffer(const char **destFile, uint32_t fileCnt, FileListBuffer *outbufferInfo) = 0; 61 virtual int32_t SetPendingPacket(int32_t channelId, int32_t seqNum, int32_t type) = 0; 62 }; 63 64 class ClientTransProxyFileManagerInterfaceMock : public ClientTransProxyFileManagerInterface { 65 public: 66 ClientTransProxyFileManagerInterfaceMock(); 67 ~ClientTransProxyFileManagerInterfaceMock() override; 68 MOCK_METHOD1(SoftBusLtoHl, uint32_t (uint32_t value)); 69 MOCK_METHOD1(SoftBusHtoLl, uint32_t (uint32_t value)); 70 MOCK_METHOD1(SoftBusLtoHll, uint64_t (uint64_t value)); 71 MOCK_METHOD1(SoftBusHtoLll, uint64_t (uint64_t value)); 72 MOCK_METHOD1(SoftBusNtoHl, uint32_t (uint32_t netlong)); 73 MOCK_METHOD2(SoftBusGetFileSize, int32_t (const char *fileName, uint64_t *fileSize)); 74 MOCK_METHOD5(GetPendingPacketData, int32_t (uint32_t id, uint64_t seq, uint32_t waitMillis, 75 bool isDelete, TransPendData *data)); 76 MOCK_METHOD2(CreatePendingPacket, int32_t (uint32_t id, uint64_t seq)); 77 MOCK_METHOD2(FrameIndexToType, int32_t (uint64_t index, uint64_t frameNumber)); 78 MOCK_METHOD4(SoftBusPreadFile, int64_t (int32_t fd, void *buf, uint64_t readBytes, uint64_t offset)); 79 MOCK_METHOD1(CheckDestFilePathValid, bool (const char *destFile)); 80 MOCK_METHOD2(GetAndCheckRealPath, int32_t (const char *filePath, char *absPath)); 81 MOCK_METHOD2(SoftBusOpenFile, int32_t (const char *fileName, int32_t flags)); 82 MOCK_METHOD3(TryFileLock, int32_t (int32_t fd, int32_t type, int32_t retryTimes)); 83 MOCK_METHOD4(ClientGetSessionIdByChannelId, int32_t (int32_t channelId, int32_t channelType, 84 int32_t *sessionId, bool isClosing)); 85 MOCK_METHOD4(ClientGetSessionDataById, int32_t (int32_t sessionId, char *data, uint16_t len, TransSessionKey key)); 86 MOCK_METHOD4(ClientGetFileConfigInfoById, int32_t (int32_t sessionId, 87 int32_t *fileEncrypt, int32_t *algorithm, int32_t *crc)); 88 MOCK_METHOD2(TransGetFileListener, int32_t (const char *sessionName, FileListener *fileListener)); 89 MOCK_METHOD0(InitPendingPacket, int32_t (void)); 90 MOCK_METHOD1(FileUnLock, int32_t (int32_t fd)); 91 MOCK_METHOD4(SendFileTransResult, int32_t (int32_t channelId, uint32_t seq, int32_t result, uint32_t side)); 92 MOCK_METHOD4(SendFileAckReqAndResData, int32_t (int32_t channelId, uint32_t startSeq, 93 uint32_t value, int32_t type)); 94 MOCK_METHOD2(DeletePendingPacket, void (uint32_t id, uint64_t seq)); 95 MOCK_METHOD3(AckResponseDataHandle, int32_t (const SendListenerInfo *info, const char *data, uint32_t len)); 96 MOCK_METHOD4(ProxyChannelSendFileStream, int32_t (int32_t channelId, const char *data, uint32_t len, int32_t type)); 97 MOCK_METHOD4(PackReadFileData, int64_t (FileFrame *fileFrame, uint64_t readLength, 98 uint64_t fileOffset, SendListenerInfo *info)); 99 MOCK_METHOD3(FileListToBuffer, int32_t (const char **destFile, uint32_t fileCnt, FileListBuffer *outbufferInfo)); 100 MOCK_METHOD3(SetPendingPacket, int32_t (int32_t channelId, int32_t seqNum, int32_t type)); 101 }; 102 } // namespace OHOS 103 #endif // CLIENT_TRANS_PROXY_FILE_MANAGER_MOCK_H 104