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 MOCK_NET_CONN_SERVICE_H
17#define MOCK_NET_CONN_SERVICE_H
18
19#include <gmock/gmock.h>
20#include "i_net_conn_service.h"
21#include "net_all_capabilities.h"
22
23namespace OHOS {
24namespace NetManagerStandard {
25
26class MockINetConnService : public INetConnService {
27public:
28    MockINetConnService() = default;
29    ~MockINetConnService() = default;
30
31    MOCK_METHOD(sptr<IRemoteObject>, AsObject, ());
32    MOCK_METHOD(int32_t, SystemReady, ());
33    MOCK_METHOD(int32_t, SetInternetPermission, (uint32_t uid, uint8_t allow));
34    MOCK_METHOD(int32_t, RegisterNetSupplier,
35        (NetBearType bearerType, const std::string &ident, const std::set<NetCap> &netCaps, uint32_t &supplierId));
36    MOCK_METHOD(int32_t, UnregisterNetSupplier, (uint32_t supplierId));
37    MOCK_METHOD(
38        int32_t, RegisterNetSupplierCallback, (uint32_t supplierId, const sptr<INetSupplierCallback> &callback));
39    MOCK_METHOD(int32_t, RegisterNetConnCallback, (const sptr<INetConnCallback> callback));
40    MOCK_METHOD(int32_t, RegisterNetConnCallback,
41        (const sptr<NetSpecifier> &netSpecifier, const sptr<INetConnCallback> callback, const uint32_t &timeoutMS));
42    MOCK_METHOD(int32_t, RequestNetConnection,
43        (const sptr<NetSpecifier> netSpecifier, const sptr<INetConnCallback> callback, const uint32_t timeoutMS));
44    MOCK_METHOD(int32_t, UnregisterNetConnCallback, (const sptr<INetConnCallback> &callback));
45    MOCK_METHOD(int32_t, UpdateNetStateForTest, (const sptr<NetSpecifier> &netSpecifier, int32_t netState));
46    MOCK_METHOD(int32_t, UpdateNetSupplierInfo, (uint32_t supplierId, const sptr<NetSupplierInfo> &netSupplierInfo));
47    MOCK_METHOD(int32_t, UpdateNetLinkInfo, (uint32_t supplierId, const sptr<NetLinkInfo> &netLinkInfo));
48    MOCK_METHOD(int32_t, GetIfaceNames, (NetBearType bearerType, std::list<std::string> &ifaceNames));
49    MOCK_METHOD(
50        int32_t, GetIfaceNameByType, (NetBearType bearerType, const std::string &ident, std::string &ifaceName));
51    MOCK_METHOD(int32_t, GetIfaceNameIdentMaps,
52        (NetBearType bearerType, (SafeMap<std::string, std::string> & ifaceNameIdentMaps)));
53    MOCK_METHOD(int32_t, RegisterNetDetectionCallback, (int32_t netId, const sptr<INetDetectionCallback> &callback));
54    MOCK_METHOD(int32_t, UnRegisterNetDetectionCallback, (int32_t netId, const sptr<INetDetectionCallback> &callback));
55    MOCK_METHOD(int32_t, NetDetection, (int32_t netId));
56    MOCK_METHOD(int32_t, GetDefaultNet, (int32_t & netId));
57    MOCK_METHOD(int32_t, HasDefaultNet, (bool &flag));
58    MOCK_METHOD(int32_t, GetAddressesByName, (const std::string &host, int32_t netId, std::vector<INetAddr> &addrList));
59    MOCK_METHOD(int32_t, GetAddressByName, (const std::string &host, int32_t netId, INetAddr &addr));
60    MOCK_METHOD(int32_t, GetSpecificNet, (NetBearType bearerType, std::list<int32_t> &netIdList));
61    MOCK_METHOD(int32_t, GetAllNets, (std::list<int32_t> & netIdList));
62    MOCK_METHOD(int32_t, GetSpecificUidNet, (int32_t uid, int32_t &netId));
63    MOCK_METHOD(int32_t, GetConnectionProperties, (int32_t netId, NetLinkInfo &info));
64    MOCK_METHOD(int32_t, GetNetCapabilities, (int32_t netId, NetManagerStandard::NetAllCapabilities &netAllCap));
65    MOCK_METHOD(int32_t, BindSocket, (int32_t socketFd, int32_t netId));
66    MOCK_METHOD(int32_t, SetAirplaneMode, (bool state));
67    MOCK_METHOD(int32_t, IsDefaultNetMetered, (bool &isMetered));
68    MOCK_METHOD(int32_t, SetGlobalHttpProxy, (const HttpProxy &httpProxy));
69    MOCK_METHOD(int32_t, GetGlobalHttpProxy, (HttpProxy & httpProxy));
70    MOCK_METHOD(int32_t, GetDefaultHttpProxy, (int32_t bindNetId, HttpProxy &httpProxy));
71    MOCK_METHOD(int32_t, GetNetIdByIdentifier, (const std::string &ident, std::list<int32_t> &netIdList));
72    MOCK_METHOD(int32_t, SetAppNet, (int32_t netId));
73    MOCK_METHOD(int32_t, RegisterNetInterfaceCallback, (const sptr<INetInterfaceStateCallback> &callback));
74    MOCK_METHOD(int32_t, GetNetInterfaceConfiguration,
75        (const std::string &iface, NetManagerStandard::NetInterfaceConfiguration &config));
76    MOCK_METHOD(int32_t, AddNetworkRoute,
77        (int32_t netId, const std::string &ifName, const std::string &destination, const std::string &nextHop));
78    MOCK_METHOD(int32_t, RemoveNetworkRoute,
79        (int32_t netId, const std::string &ifName, const std::string &destination, const std::string &nextHop));
80    MOCK_METHOD(
81        int32_t, AddInterfaceAddress, (const std::string &ifName, const std::string &ipAddr, int32_t prefixLength));
82    MOCK_METHOD(
83        int32_t, DelInterfaceAddress, (const std::string &ifName, const std::string &ipAddr, int32_t prefixLength));
84    MOCK_METHOD(
85        int32_t, AddStaticArp, (const std::string &ipAddr, const std::string &macAddr, const std::string &ifName));
86    MOCK_METHOD(
87        int32_t, DelStaticArp, (const std::string &ipAddr, const std::string &macAddr, const std::string &ifName));
88    MOCK_METHOD(int32_t, RegisterSlotType, (uint32_t supplierId, int32_t type));
89    MOCK_METHOD(int32_t, GetSlotType, (std::string & type));
90    MOCK_METHOD(int32_t, FactoryResetNetwork, ());
91    MOCK_METHOD(int32_t, RegisterNetFactoryResetCallback, (const sptr<INetFactoryResetCallback> &callback));
92    MOCK_METHOD(int32_t, IsPreferCellularUrl, (const std::string &url, bool &preferCellular));
93    MOCK_METHOD(int32_t, RegisterPreAirplaneCallback, (const sptr<IPreAirplaneCallback> callback));
94    MOCK_METHOD(int32_t, UnregisterPreAirplaneCallback, (const sptr<IPreAirplaneCallback> callback));
95    MOCK_METHOD(int32_t, UpdateSupplierScore, (NetBearType bearerType, uint32_t detectionStatus, uint32_t &supplierId));
96    MOCK_METHOD(int32_t, EnableVnicNetwork, (const sptr<NetLinkInfo> &netLinkInfo, const std::set<int32_t> &uids));
97    MOCK_METHOD(int32_t, DisableVnicNetwork, ());
98    MOCK_METHOD(int32_t, EnableDistributedClientNet, (const std::string &virnicAddr, const std::string &iif));
99    MOCK_METHOD(int32_t, EnableDistributedServerNet,
100        (const std::string &iif, const std::string &devIface, const std::string &dstAddr));
101    MOCK_METHOD(int32_t, DisableDistributedNet, (bool isServer));
102    MOCK_METHOD(int32_t, CloseSocketsUid, (int32_t netId, uint32_t uid));
103};
104
105}  // namespace NetManagerStandard
106}  // namespace OHOS
107#endif  // MOCK_NET_CONN_SERVICE_H