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