1060ff233Sopenharmony_ci/*
2060ff233Sopenharmony_ci * Copyright (c) 2022 Huawei Device Co., Ltd.
3060ff233Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License");
4060ff233Sopenharmony_ci * you may not use this file except in compliance with the License.
5060ff233Sopenharmony_ci * You may obtain a copy of the License at
6060ff233Sopenharmony_ci *
7060ff233Sopenharmony_ci *     http://www.apache.org/licenses/LICENSE-2.0
8060ff233Sopenharmony_ci *
9060ff233Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software
10060ff233Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS,
11060ff233Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12060ff233Sopenharmony_ci * See the License for the specific language governing permissions and
13060ff233Sopenharmony_ci * limitations under the License.
14060ff233Sopenharmony_ci */
15060ff233Sopenharmony_ci
16060ff233Sopenharmony_ci#include <fcntl.h>
17060ff233Sopenharmony_ci#include <cstring>
18060ff233Sopenharmony_ci
19060ff233Sopenharmony_ci#include "gtest/gtest.h"
20060ff233Sopenharmony_ci#include "lnn_ip_utils_adapter.h"
21060ff233Sopenharmony_ci#include "bus_center_adapter.h"
22060ff233Sopenharmony_ci#include "softbus_adapter_file.h"
23060ff233Sopenharmony_ci#include "softbus_adapter_mem.h"
24060ff233Sopenharmony_ci#include "softbus_errcode.h"
25060ff233Sopenharmony_ci
26060ff233Sopenharmony_ciusing namespace std;
27060ff233Sopenharmony_ciusing namespace testing::ext;
28060ff233Sopenharmony_ci
29060ff233Sopenharmony_cinamespace OHOS {
30060ff233Sopenharmony_ciconst char *g_FileName = "example.txt";
31060ff233Sopenharmony_ci
32060ff233Sopenharmony_ciclass AdapterDsoftbusOtherTest : public testing::Test {
33060ff233Sopenharmony_ciprotected:
34060ff233Sopenharmony_ci    static void SetUpTestCase(void);
35060ff233Sopenharmony_ci    static void TearDownTestCase(void);
36060ff233Sopenharmony_ci    void SetUp();
37060ff233Sopenharmony_ci    void TearDown();
38060ff233Sopenharmony_ci};
39060ff233Sopenharmony_civoid AdapterDsoftbusOtherTest::SetUpTestCase(void)
40060ff233Sopenharmony_ci{
41060ff233Sopenharmony_ci}
42060ff233Sopenharmony_civoid AdapterDsoftbusOtherTest::TearDownTestCase(void)
43060ff233Sopenharmony_ci{
44060ff233Sopenharmony_ci    int32_t ret = remove(g_FileName);
45060ff233Sopenharmony_ci    if (ret == 0) {
46060ff233Sopenharmony_ci        return;
47060ff233Sopenharmony_ci    }
48060ff233Sopenharmony_ci}
49060ff233Sopenharmony_civoid AdapterDsoftbusOtherTest::SetUp(void)
50060ff233Sopenharmony_ci{
51060ff233Sopenharmony_ci}
52060ff233Sopenharmony_civoid AdapterDsoftbusOtherTest::TearDown(void)
53060ff233Sopenharmony_ci{
54060ff233Sopenharmony_ci}
55060ff233Sopenharmony_ci
56060ff233Sopenharmony_ci/*
57060ff233Sopenharmony_ci* @tc.name: GetNetworkIpByIfName001
58060ff233Sopenharmony_ci* @tc.desc: ifName is illegal
59060ff233Sopenharmony_ci* @tc.type: FUNC
60060ff233Sopenharmony_ci* @tc.require: 1
61060ff233Sopenharmony_ci*/
62060ff233Sopenharmony_ciHWTEST_F(AdapterDsoftbusOtherTest, GetNetworkIpByIfName001, TestSize.Level0)
63060ff233Sopenharmony_ci{
64060ff233Sopenharmony_ci    const char *ifName = "abcdefgh";
65060ff233Sopenharmony_ci    char netmask[] = "abcdefd";
66060ff233Sopenharmony_ci    char ip[32] = "0";
67060ff233Sopenharmony_ci    int32_t len = 10;
68060ff233Sopenharmony_ci    int32_t ret = GetNetworkIpByIfName(ifName, ip, netmask, len);
69060ff233Sopenharmony_ci    EXPECT_EQ(SOFTBUS_ERR, ret);
70060ff233Sopenharmony_ci}
71060ff233Sopenharmony_ci
72060ff233Sopenharmony_ci/*
73060ff233Sopenharmony_ci* @tc.name: GetNetworkIpByIfName002
74060ff233Sopenharmony_ci* @tc.desc: ifName is nullptr
75060ff233Sopenharmony_ci* @tc.type: FUNC
76060ff233Sopenharmony_ci* @tc.require: 1
77060ff233Sopenharmony_ci*/
78060ff233Sopenharmony_ciHWTEST_F(AdapterDsoftbusOtherTest, GetNetworkIpByIfName002, TestSize.Level0)
79060ff233Sopenharmony_ci{
80060ff233Sopenharmony_ci    const char *ifName = "abcdefgh";
81060ff233Sopenharmony_ci    char netmask[] = "abcdefd";
82060ff233Sopenharmony_ci    char ip[32] = "0";
83060ff233Sopenharmony_ci    int32_t len = 10;
84060ff233Sopenharmony_ci    int32_t ret = GetNetworkIpByIfName(NULL, ip, netmask, len);
85060ff233Sopenharmony_ci    EXPECT_EQ(SOFTBUS_INVALID_PARAM, ret);
86060ff233Sopenharmony_ci
87060ff233Sopenharmony_ci    ret = GetNetworkIpByIfName(ifName, NULL, netmask, len);
88060ff233Sopenharmony_ci    EXPECT_EQ(SOFTBUS_INVALID_PARAM, ret);
89060ff233Sopenharmony_ci}
90060ff233Sopenharmony_ci
91060ff233Sopenharmony_ci/*
92060ff233Sopenharmony_ci* @tc.name: GetNetworkIpByIfName003
93060ff233Sopenharmony_ci* @tc.desc: netmask is nullptr
94060ff233Sopenharmony_ci* @tc.type: FUNC
95060ff233Sopenharmony_ci* @tc.require: 1
96060ff233Sopenharmony_ci*/
97060ff233Sopenharmony_ciHWTEST_F(AdapterDsoftbusOtherTest, GetNetworkIpByIfName003, TestSize.Level0)
98060ff233Sopenharmony_ci{
99060ff233Sopenharmony_ci    const char *ifName = "abcdefgh";
100060ff233Sopenharmony_ci    char ip[32] = "0";
101060ff233Sopenharmony_ci    int32_t len = 10;
102060ff233Sopenharmony_ci    int32_t ret = GetNetworkIpByIfName(ifName, ip, NULL, len);
103060ff233Sopenharmony_ci    EXPECT_EQ(SOFTBUS_ERR, ret);
104060ff233Sopenharmony_ci}
105060ff233Sopenharmony_ci
106060ff233Sopenharmony_ci/**
107060ff233Sopenharmony_ci * @tc.name: SoftBusAdapter_ReadFullFileTest_001
108060ff233Sopenharmony_ci * @tc.desc: Read File
109060ff233Sopenharmony_ci * @tc.type: FUNC
110060ff233Sopenharmony_ci * @tc.require: 1
111060ff233Sopenharmony_ci */
112060ff233Sopenharmony_ciHWTEST_F(AdapterDsoftbusOtherTest, SoftBusReadFullFileTest001, TestSize.Level0)
113060ff233Sopenharmony_ci{
114060ff233Sopenharmony_ci    const char *writeBuf = "abcdef";
115060ff233Sopenharmony_ci    char readbuf[1024] = {"\0"};
116060ff233Sopenharmony_ci    int32_t maxLen = 100;
117060ff233Sopenharmony_ci    int32_t ret = SoftBusWriteFile(g_FileName, writeBuf, strlen(writeBuf));
118060ff233Sopenharmony_ci    EXPECT_EQ(SOFTBUS_OK, ret);
119060ff233Sopenharmony_ci    ret = SoftBusReadFullFile(g_FileName, readbuf, maxLen);
120060ff233Sopenharmony_ci    EXPECT_EQ(SOFTBUS_OK, ret);
121060ff233Sopenharmony_ci}
122060ff233Sopenharmony_ci
123060ff233Sopenharmony_ci/**
124060ff233Sopenharmony_ci * @tc.name: SoftBusAdapter_ReadFullFileTest_002
125060ff233Sopenharmony_ci * @tc.desc: g_FileName is null
126060ff233Sopenharmony_ci * @tc.type: FUNC
127060ff233Sopenharmony_ci * @tc.require: 1
128060ff233Sopenharmony_ci */
129060ff233Sopenharmony_ciHWTEST_F(AdapterDsoftbusOtherTest, SoftBusReadFullFileTest002, TestSize.Level0)
130060ff233Sopenharmony_ci{
131060ff233Sopenharmony_ci    char readbuf[1024] = {"\0"};
132060ff233Sopenharmony_ci    int32_t maxLen = 100;
133060ff233Sopenharmony_ci    int32_t ret = SoftBusReadFullFile(nullptr, readbuf, maxLen);
134060ff233Sopenharmony_ci    EXPECT_EQ(SOFTBUS_FILE_ERR, ret);
135060ff233Sopenharmony_ci
136060ff233Sopenharmony_ci    ret = SoftBusReadFullFile(g_FileName, nullptr, maxLen);
137060ff233Sopenharmony_ci    EXPECT_EQ(SOFTBUS_FILE_ERR, ret);
138060ff233Sopenharmony_ci}
139060ff233Sopenharmony_ci
140060ff233Sopenharmony_ci/**
141060ff233Sopenharmony_ci * @tc.name: SoftBusAdapter_ReadFullFileTest_003
142060ff233Sopenharmony_ci * @tc.desc: maxLen is ivaild param
143060ff233Sopenharmony_ci * @tc.type: FUNC
144060ff233Sopenharmony_ci * @tc.require: 1
145060ff233Sopenharmony_ci */
146060ff233Sopenharmony_ciHWTEST_F(AdapterDsoftbusOtherTest, SoftBusReadFullFileTest003, TestSize.Level0)
147060ff233Sopenharmony_ci{
148060ff233Sopenharmony_ci    char readbuf[1024] = {"\0"};
149060ff233Sopenharmony_ci    int32_t maxLen = 0;
150060ff233Sopenharmony_ci    int32_t ret = SoftBusReadFullFile(g_FileName, readbuf, maxLen);
151060ff233Sopenharmony_ci    EXPECT_EQ(SOFTBUS_FILE_ERR, ret);
152060ff233Sopenharmony_ci}
153060ff233Sopenharmony_ci
154060ff233Sopenharmony_ci/**
155060ff233Sopenharmony_ci * @tc.name: SoftBusAdapter_WriterFileTest_001
156060ff233Sopenharmony_ci * @tc.desc: writeBuf isn't nullptr
157060ff233Sopenharmony_ci * @tc.type: FUNC
158060ff233Sopenharmony_ci * @tc.require: 1
159060ff233Sopenharmony_ci */
160060ff233Sopenharmony_ciHWTEST_F(AdapterDsoftbusOtherTest, SoftBusWriterFileTest001, TestSize.Level0)
161060ff233Sopenharmony_ci{
162060ff233Sopenharmony_ci    const char *writeBuf = "abcdef";
163060ff233Sopenharmony_ci    int32_t ret = SoftBusWriteFile(g_FileName, writeBuf, strlen(writeBuf));
164060ff233Sopenharmony_ci    EXPECT_EQ(SOFTBUS_OK, ret);
165060ff233Sopenharmony_ci}
166060ff233Sopenharmony_ci
167060ff233Sopenharmony_ci/**
168060ff233Sopenharmony_ci * @tc.name: SoftBusAdapter_WriterFileTest_002
169060ff233Sopenharmony_ci * @tc.desc: g_FileName and writeBuf is null
170060ff233Sopenharmony_ci * @tc.type: FUNC
171060ff233Sopenharmony_ci * @tc.require: 1
172060ff233Sopenharmony_ci */
173060ff233Sopenharmony_ciHWTEST_F(AdapterDsoftbusOtherTest, SoftBusWriterFileTest002, TestSize.Level0)
174060ff233Sopenharmony_ci{
175060ff233Sopenharmony_ci    const char *writeBuf = "abcdef";
176060ff233Sopenharmony_ci    int32_t ret = SoftBusWriteFile(nullptr, writeBuf, strlen(writeBuf));
177060ff233Sopenharmony_ci    EXPECT_EQ(SOFTBUS_FILE_ERR, ret);
178060ff233Sopenharmony_ci
179060ff233Sopenharmony_ci    ret = SoftBusWriteFile(g_FileName, nullptr, strlen(writeBuf));
180060ff233Sopenharmony_ci    EXPECT_EQ(SOFTBUS_FILE_ERR, ret);
181060ff233Sopenharmony_ci}
182060ff233Sopenharmony_ci
183060ff233Sopenharmony_ci/**
184060ff233Sopenharmony_ci * @tc.name: SoftBusAdapter_WriterFileTest_003
185060ff233Sopenharmony_ci * @tc.desc: len is illegal
186060ff233Sopenharmony_ci * @tc.type: FUNC
187060ff233Sopenharmony_ci * @tc.require: 1
188060ff233Sopenharmony_ci */
189060ff233Sopenharmony_ciHWTEST_F(AdapterDsoftbusOtherTest, SoftBusWriterFileTest003, TestSize.Level0)
190060ff233Sopenharmony_ci{
191060ff233Sopenharmony_ci    const char *writeBuf = "abcdef";
192060ff233Sopenharmony_ci    int32_t len = 0;
193060ff233Sopenharmony_ci    int32_t ret = SoftBusWriteFile(g_FileName, writeBuf, len);
194060ff233Sopenharmony_ci    EXPECT_EQ(SOFTBUS_FILE_ERR, ret);
195060ff233Sopenharmony_ci
196060ff233Sopenharmony_ci    int32_t len1 = -10;
197060ff233Sopenharmony_ci    ret = SoftBusWriteFile(g_FileName, writeBuf, len1);
198060ff233Sopenharmony_ci    EXPECT_EQ(SOFTBUS_FILE_ERR, ret);
199060ff233Sopenharmony_ci}
200060ff233Sopenharmony_ci
201060ff233Sopenharmony_ci/**
202060ff233Sopenharmony_ci * @tc.name: SoftBusAdapter_MallocTest_001
203060ff233Sopenharmony_ci * @tc.desc: size is zero
204060ff233Sopenharmony_ci * @tc.type: FUNC
205060ff233Sopenharmony_ci * @tc.require: 1
206060ff233Sopenharmony_ci */
207060ff233Sopenharmony_ciHWTEST_F(AdapterDsoftbusOtherTest, SoftBusMallocTest001, TestSize.Level0)
208060ff233Sopenharmony_ci{
209060ff233Sopenharmony_ci    void *ret = SoftBusMalloc(0);
210060ff233Sopenharmony_ci    EXPECT_TRUE(ret != NULL);
211060ff233Sopenharmony_ci    SoftBusFree(ret);
212060ff233Sopenharmony_ci}
213060ff233Sopenharmony_ci
214060ff233Sopenharmony_ci/**
215060ff233Sopenharmony_ci * @tc.name: SoftBusAdapter_MallocTest_002
216060ff233Sopenharmony_ci * @tc.desc: size is MAX_MALLOC_SIZE+1
217060ff233Sopenharmony_ci * @tc.type: FUNC
218060ff233Sopenharmony_ci * @tc.require: 1
219060ff233Sopenharmony_ci */
220060ff233Sopenharmony_ciHWTEST_F(AdapterDsoftbusOtherTest, SoftBusMallocTest002, TestSize.Level0)
221060ff233Sopenharmony_ci{
222060ff233Sopenharmony_ci    void *ret = SoftBusMalloc(MAX_MALLOC_SIZE + 1);
223060ff233Sopenharmony_ci    EXPECT_EQ(NULL, ret);
224060ff233Sopenharmony_ci}
225060ff233Sopenharmony_ci
226060ff233Sopenharmony_ci/**
227060ff233Sopenharmony_ci * @tc.name: SoftBusAdapter_MallocTest_003
228060ff233Sopenharmony_ci * @tc.desc: size is -1
229060ff233Sopenharmony_ci * @tc.type: FUNC
230060ff233Sopenharmony_ci * @tc.require: 1
231060ff233Sopenharmony_ci */
232060ff233Sopenharmony_ciHWTEST_F(AdapterDsoftbusOtherTest, SoftBusMallocTest003, TestSize.Level0)
233060ff233Sopenharmony_ci{
234060ff233Sopenharmony_ci    void *ret = SoftBusMalloc(-1);
235060ff233Sopenharmony_ci    EXPECT_EQ(NULL, ret);
236060ff233Sopenharmony_ci}
237060ff233Sopenharmony_ci
238060ff233Sopenharmony_ci/**
239060ff233Sopenharmony_ci * @tc.name: SoftBusAdapter_MallocTest_004
240060ff233Sopenharmony_ci * @tc.desc: size is MAX_MALLOC_SIZE
241060ff233Sopenharmony_ci * @tc.type: FUNC
242060ff233Sopenharmony_ci * @tc.require: 1
243060ff233Sopenharmony_ci */
244060ff233Sopenharmony_ciHWTEST_F(AdapterDsoftbusOtherTest, SoftBusMallocTest004, TestSize.Level0)
245060ff233Sopenharmony_ci{
246060ff233Sopenharmony_ci    void *ret = SoftBusMalloc(12);
247060ff233Sopenharmony_ci    EXPECT_TRUE(ret != NULL);
248060ff233Sopenharmony_ci    SoftBusFree(ret);
249060ff233Sopenharmony_ci}
250060ff233Sopenharmony_ci
251060ff233Sopenharmony_ci/**
252060ff233Sopenharmony_ci * @tc.name: SoftBusAdapter_FreeTest_001
253060ff233Sopenharmony_ci * @tc.desc: malloc size is 256
254060ff233Sopenharmony_ci * @tc.type: FUNC
255060ff233Sopenharmony_ci * @tc.require: 1
256060ff233Sopenharmony_ci */
257060ff233Sopenharmony_ciHWTEST_F(AdapterDsoftbusOtherTest, SoftBusFreeTest001, TestSize.Level0)
258060ff233Sopenharmony_ci{
259060ff233Sopenharmony_ci    void *ret = SoftBusMalloc(256);
260060ff233Sopenharmony_ci    EXPECT_TRUE(ret != NULL);
261060ff233Sopenharmony_ci    SoftBusFree(ret);
262060ff233Sopenharmony_ci}
263060ff233Sopenharmony_ci
264060ff233Sopenharmony_ci/**
265060ff233Sopenharmony_ci * @tc.name: SoftBusAdapter_CallocTest_001
266060ff233Sopenharmony_ci * @tc.desc: calloc size is zero
267060ff233Sopenharmony_ci * @tc.type: FUNC
268060ff233Sopenharmony_ci * @tc.require: 1
269060ff233Sopenharmony_ci */
270060ff233Sopenharmony_ciHWTEST_F(AdapterDsoftbusOtherTest, SoftBusCallocTest001, TestSize.Level0)
271060ff233Sopenharmony_ci{
272060ff233Sopenharmony_ci    void *ret = SoftBusCalloc(0);
273060ff233Sopenharmony_ci    EXPECT_TRUE(ret != NULL);
274060ff233Sopenharmony_ci    SoftBusFree(ret);
275060ff233Sopenharmony_ci}
276060ff233Sopenharmony_ci
277060ff233Sopenharmony_ci/**
278060ff233Sopenharmony_ci * @tc.name: SoftBusAdapter_CallocTest_002
279060ff233Sopenharmony_ci * @tc.desc: calloc size is 22
280060ff233Sopenharmony_ci * @tc.type: FUNC
281060ff233Sopenharmony_ci * @tc.require: 1
282060ff233Sopenharmony_ci */
283060ff233Sopenharmony_ciHWTEST_F(AdapterDsoftbusOtherTest, SoftBusCallocTest002, TestSize.Level0)
284060ff233Sopenharmony_ci{
285060ff233Sopenharmony_ci    void *ret = SoftBusCalloc(22);
286060ff233Sopenharmony_ci    EXPECT_TRUE(ret != NULL);
287060ff233Sopenharmony_ci    SoftBusFree(ret);
288060ff233Sopenharmony_ci}
289060ff233Sopenharmony_ci
290060ff233Sopenharmony_ci/**
291060ff233Sopenharmony_ci * @tc.name: SoftBusAdapter_CallocTest_003
292060ff233Sopenharmony_ci * @tc.desc: calloc size is 256
293060ff233Sopenharmony_ci * @tc.type: FUNC
294060ff233Sopenharmony_ci * @tc.require: 1
295060ff233Sopenharmony_ci */
296060ff233Sopenharmony_ciHWTEST_F(AdapterDsoftbusOtherTest, SoftBusCallocTest003, TestSize.Level0)
297060ff233Sopenharmony_ci{
298060ff233Sopenharmony_ci    void *ret = SoftBusCalloc(-1);
299060ff233Sopenharmony_ci    EXPECT_EQ(NULL, ret);
300060ff233Sopenharmony_ci}
301060ff233Sopenharmony_ci
302060ff233Sopenharmony_ci/**
303060ff233Sopenharmony_ci * @tc.name: SoftBusAdapter_CallocTest_004
304060ff233Sopenharmony_ci * @tc.desc: calloc size is 256
305060ff233Sopenharmony_ci * @tc.type: FUNC
306060ff233Sopenharmony_ci * @tc.require: 1
307060ff233Sopenharmony_ci */
308060ff233Sopenharmony_ciHWTEST_F(AdapterDsoftbusOtherTest, SoftBusCallocTest004, TestSize.Level0)
309060ff233Sopenharmony_ci{
310060ff233Sopenharmony_ci    void *ret = SoftBusCalloc(MAX_MALLOC_SIZE + 1);
311060ff233Sopenharmony_ci    EXPECT_EQ(NULL, ret);
312060ff233Sopenharmony_ci}
313060ff233Sopenharmony_ci
314060ff233Sopenharmony_ci}
315