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 #include <gtest/gtest.h>
17
18 #include "netsys_udp_transfer.h"
19
20 namespace OHOS {
21 namespace nmd {
22 namespace PollUdpDataTransfer {
23 namespace {
24 using namespace testing::ext;
25 constexpr const uint32_t MAX_REQUESTDATA_LEN = 512;
26 } // namespace
27
28 class PollUdpDataTransferTest : public testing::Test {
29 public:
30 static void SetUpTestCase();
31 static void TearDownTestCase();
32 void SetUp();
33 void TearDown();
34 };
35
SetUpTestCase()36 void PollUdpDataTransferTest::SetUpTestCase() {}
37
TearDownTestCase()38 void PollUdpDataTransferTest::TearDownTestCase() {}
39
SetUp()40 void PollUdpDataTransferTest::SetUp() {}
41
TearDown()42 void PollUdpDataTransferTest::TearDown() {}
43
44 HWTEST_F(PollUdpDataTransferTest, PollUdpSendData001, TestSize.Level1)
45 {
46 int32_t sock = 34343;
47 char data[] = "testdnsproxydata";
48 size_t size = 17;
49 AlignedSockAddr addr = {};
50 addr.sin.sin_family = AF_INET;
51 addr.sin.sin_port = htons(1212);
52 socklen_t addrLen = sizeof(sockaddr_in);
53 int32_t ret = PollUdpDataTransfer::PollUdpSendData(sock, data, size, addr, addrLen);
54 EXPECT_EQ(ret, -1);
55 }
56
57 HWTEST_F(PollUdpDataTransferTest, PollUdpSendData002, TestSize.Level1)
58 {
59 int32_t sock = 34343;
60 char data[] = "testdnsproxydata";
61 size_t size = 17;
62 AlignedSockAddr addr = {};
63 addr.sin6.sin6_family = AF_INET6;
64 addr.sin6.sin6_port = htons(1212);
65 socklen_t addrLen = sizeof(sockaddr_in6);
66 int32_t ret = PollUdpDataTransfer::PollUdpSendData(sock, data, size, addr, addrLen);
67 EXPECT_EQ(ret, -1);
68 }
69
70 HWTEST_F(PollUdpDataTransferTest, PollUdpRecvData001, TestSize.Level1)
71 {
72 int32_t sock = 34343;
73 char requesData[MAX_REQUESTDATA_LEN] = {0};
74 AlignedSockAddr addr = {};
75 addr.sin.sin_family = AF_INET;
76 addr.sin.sin_port = htons(1212);
77 socklen_t addrLen = sizeof(sockaddr_in);
78 int32_t ret = PollUdpDataTransfer::PollUdpRecvData(sock, requesData, MAX_REQUESTDATA_LEN, addr, addrLen);
79 EXPECT_EQ(ret, -1);
80 }
81
82 HWTEST_F(PollUdpDataTransferTest, PollUdpRecvData002, TestSize.Level1)
83 {
84 int32_t sock = 34343;
85 char requesData[MAX_REQUESTDATA_LEN] = {0};
86 AlignedSockAddr addr = {};
87 addr.sin6.sin6_family = AF_INET6;
88 addr.sin6.sin6_port = htons(1212);
89 socklen_t addrLen = sizeof(sockaddr_in6);
90 int32_t ret = PollUdpDataTransfer::PollUdpRecvData(sock, requesData, MAX_REQUESTDATA_LEN, addr, addrLen);
91 EXPECT_EQ(ret, -1);
92 }
93
94 HWTEST_F(PollUdpDataTransferTest, MakeUdpNonBlock001, TestSize.Level1)
95 {
96 int32_t sock = -1;
97 bool ret = PollUdpDataTransfer::MakeUdpNonBlock(sock);
98 EXPECT_EQ(ret, false);
99 }
100
101 HWTEST_F(PollUdpDataTransferTest, MakeUdpNonBlock002, TestSize.Level1)
102 {
103 int32_t sock = 34343;
104 bool ret = PollUdpDataTransfer::MakeUdpNonBlock(sock);
105 EXPECT_EQ(ret, false);
106 }
107 } // namespace PollUdpDataTransfer
108 } // namespace nmd
109 } // namespace OHOS
110