1 /* 2 * Copyright (c) 2021 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 <hwext/gtest-ext.h> 17 #include <hwext/gtest-tag.h> 18 19 #include "socket_context.h" 20 21 using namespace testing::ext; 22 23 namespace { 24 class SocketContextTest : public testing::Test { 25 public: SetUpTestCase()26 static void SetUpTestCase() {} 27 TearDownTestCase()28 static void TearDownTestCase() {} SetUp()29 void SetUp() {} TearDown()30 void TearDown() {} 31 }; 32 33 /** 34 * @tc.name: Service 35 * @tc.desc: Socket send file descriptor test. 36 * @tc.type: FUNC 37 */ 38 HWTEST_F(SocketContextTest, SendFileDescriptor, TestSize.Level1) 39 { 40 SocketContext socketContext; 41 ASSERT_TRUE(!socketContext.SendFileDescriptor(-1)); 42 ASSERT_TRUE(!socketContext.SendFileDescriptor(1)); 43 } 44 45 /** 46 * @tc.name: Service 47 * @tc.desc: Abnormal socket detection. 48 * @tc.type: FUNC 49 */ 50 HWTEST_F(SocketContextTest, RawProtocolProc, TestSize.Level1) 51 { 52 std::string s="abc"; 53 SocketContext socketContext; 54 std::vector<unsigned char> buf(64); // 64: the buf size 55 ASSERT_EQ(socketContext.RawProtocolProc(2, (const int8_t *)s.c_str(), s.size()), -1); 56 EXPECT_FALSE(socketContext.ReceiveData(-1, buf.data(), buf.size())); 57 EXPECT_FALSE(socketContext.ReceiveData(1, nullptr, 0)); 58 EXPECT_FALSE(socketContext.SendRaw(1, (const int8_t *)s.c_str(), s.size(), -1)); 59 } 60 61 /** 62 * @tc.name: Service 63 * @tc.desc: Socket receiving test. 64 * @tc.type: FUNC 65 */ 66 HWTEST_F(SocketContextTest, ReceiveFileDiscriptor, TestSize.Level1) 67 { 68 SocketContext socketContext; 69 ASSERT_EQ(socketContext.ReceiveFileDiscriptor(), -1); 70 } 71 /** 72 * @tc.name: Service 73 * @tc.desc: Socket send heart beat test. 74 * @tc.type: FUNC 75 */ 76 HWTEST_F(SocketContextTest, SendHeartBeat, TestSize.Level1) 77 { 78 SocketContext socketContext; 79 EXPECT_FALSE(socketContext.SendHeartBeat()); 80 EXPECT_FALSE(socketContext.SendHookConfig(nullptr, 0)); 81 } 82 83 } // namespace