1c29fa5a6Sopenharmony_ci/* 2c29fa5a6Sopenharmony_ci * Copyright (c) 2021-2022 Huawei Device Co., Ltd. 3c29fa5a6Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 4c29fa5a6Sopenharmony_ci * you may not use this file except in compliance with the License. 5c29fa5a6Sopenharmony_ci * You may obtain a copy of the License at 6c29fa5a6Sopenharmony_ci * 7c29fa5a6Sopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 8c29fa5a6Sopenharmony_ci * 9c29fa5a6Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software 10c29fa5a6Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 11c29fa5a6Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12c29fa5a6Sopenharmony_ci * See the License for the specific language governing permissions and 13c29fa5a6Sopenharmony_ci * limitations under the License. 14c29fa5a6Sopenharmony_ci */ 15c29fa5a6Sopenharmony_ci 16c29fa5a6Sopenharmony_ci#include <gtest/gtest.h> 17c29fa5a6Sopenharmony_ci 18c29fa5a6Sopenharmony_ci#include "net_packet.h" 19c29fa5a6Sopenharmony_ci 20c29fa5a6Sopenharmony_cinamespace OHOS { 21c29fa5a6Sopenharmony_cinamespace MMI { 22c29fa5a6Sopenharmony_cinamespace { 23c29fa5a6Sopenharmony_ciusing namespace testing::ext; 24c29fa5a6Sopenharmony_ci} // namespace 25c29fa5a6Sopenharmony_ciclass NetPacketTest : public testing::Test { 26c29fa5a6Sopenharmony_cipublic: 27c29fa5a6Sopenharmony_ci static void SetUpTestCase(void) {} 28c29fa5a6Sopenharmony_ci static void TearDownTestCase(void) {} 29c29fa5a6Sopenharmony_ci}; 30c29fa5a6Sopenharmony_ci 31c29fa5a6Sopenharmony_ci/** 32c29fa5a6Sopenharmony_ci * @tc.name:construct_002 33c29fa5a6Sopenharmony_ci * @tc.desc:Verify net packet 34c29fa5a6Sopenharmony_ci * @tc.type: FUNC 35c29fa5a6Sopenharmony_ci * @tc.require: 36c29fa5a6Sopenharmony_ci */ 37c29fa5a6Sopenharmony_ciHWTEST_F(NetPacketTest, GetSize_001, TestSize.Level1) 38c29fa5a6Sopenharmony_ci{ 39c29fa5a6Sopenharmony_ci MmiMessageId idMsg = MmiMessageId::INVALID; 40c29fa5a6Sopenharmony_ci NetPacket pkt(idMsg); 41c29fa5a6Sopenharmony_ci NetPacket packTmp(pkt); 42c29fa5a6Sopenharmony_ci size_t retResult = pkt.GetSize(); 43c29fa5a6Sopenharmony_ci EXPECT_TRUE(retResult == 0); 44c29fa5a6Sopenharmony_ci} 45c29fa5a6Sopenharmony_ci 46c29fa5a6Sopenharmony_ci/** 47c29fa5a6Sopenharmony_ci * @tc.name:construct_002 48c29fa5a6Sopenharmony_ci * @tc.desc:Verify net packet 49c29fa5a6Sopenharmony_ci * @tc.type: FUNC 50c29fa5a6Sopenharmony_ci * @tc.require: 51c29fa5a6Sopenharmony_ci */ 52c29fa5a6Sopenharmony_ciHWTEST_F(NetPacketTest, GetSize_002, TestSize.Level1) 53c29fa5a6Sopenharmony_ci{ 54c29fa5a6Sopenharmony_ci MmiMessageId idMsg = static_cast<MmiMessageId>(-1001); 55c29fa5a6Sopenharmony_ci NetPacket pkt(idMsg); 56c29fa5a6Sopenharmony_ci NetPacket packTmp(pkt); 57c29fa5a6Sopenharmony_ci size_t retResult = pkt.GetSize(); 58c29fa5a6Sopenharmony_ci EXPECT_TRUE(retResult == 0); 59c29fa5a6Sopenharmony_ci} 60c29fa5a6Sopenharmony_ci 61c29fa5a6Sopenharmony_ci/** 62c29fa5a6Sopenharmony_ci * @tc.name:construct_002 63c29fa5a6Sopenharmony_ci * @tc.desc:Verify net packet 64c29fa5a6Sopenharmony_ci * @tc.type: FUNC 65c29fa5a6Sopenharmony_ci * @tc.require: 66c29fa5a6Sopenharmony_ci */ 67c29fa5a6Sopenharmony_ciHWTEST_F(NetPacketTest, GetSize_003, TestSize.Level1) 68c29fa5a6Sopenharmony_ci{ 69c29fa5a6Sopenharmony_ci MmiMessageId idMsg = static_cast<MmiMessageId>(65535); 70c29fa5a6Sopenharmony_ci NetPacket pkt(idMsg); 71c29fa5a6Sopenharmony_ci NetPacket packTmp(pkt); 72c29fa5a6Sopenharmony_ci size_t retResult = pkt.GetSize(); 73c29fa5a6Sopenharmony_ci EXPECT_TRUE(retResult == 0); 74c29fa5a6Sopenharmony_ci} 75c29fa5a6Sopenharmony_ci 76c29fa5a6Sopenharmony_ci/** 77c29fa5a6Sopenharmony_ci * @tc.name:construct_002 78c29fa5a6Sopenharmony_ci * @tc.desc:Verify net packet 79c29fa5a6Sopenharmony_ci * @tc.type: FUNC 80c29fa5a6Sopenharmony_ci * @tc.require: 81c29fa5a6Sopenharmony_ci */ 82c29fa5a6Sopenharmony_ciHWTEST_F(NetPacketTest, GetData_001, TestSize.Level1) 83c29fa5a6Sopenharmony_ci{ 84c29fa5a6Sopenharmony_ci MmiMessageId idMsg = MmiMessageId::INVALID; 85c29fa5a6Sopenharmony_ci NetPacket pkt(idMsg); 86c29fa5a6Sopenharmony_ci NetPacket packTmp(pkt); 87c29fa5a6Sopenharmony_ci const char *retResult = pkt.GetData(); 88c29fa5a6Sopenharmony_ci EXPECT_TRUE(retResult != nullptr); 89c29fa5a6Sopenharmony_ci} 90c29fa5a6Sopenharmony_ci 91c29fa5a6Sopenharmony_ci/** 92c29fa5a6Sopenharmony_ci * @tc.name:construct_002 93c29fa5a6Sopenharmony_ci * @tc.desc:Verify net packet 94c29fa5a6Sopenharmony_ci * @tc.type: FUNC 95c29fa5a6Sopenharmony_ci * @tc.require: 96c29fa5a6Sopenharmony_ci */ 97c29fa5a6Sopenharmony_ciHWTEST_F(NetPacketTest, GetData_002, TestSize.Level1) 98c29fa5a6Sopenharmony_ci{ 99c29fa5a6Sopenharmony_ci MmiMessageId idMsg = static_cast<MmiMessageId>(-3003); 100c29fa5a6Sopenharmony_ci NetPacket pkt(idMsg); 101c29fa5a6Sopenharmony_ci NetPacket packTmp(pkt); 102c29fa5a6Sopenharmony_ci const char *retResult = pkt.GetData(); 103c29fa5a6Sopenharmony_ci EXPECT_TRUE(retResult != nullptr); 104c29fa5a6Sopenharmony_ci} 105c29fa5a6Sopenharmony_ci 106c29fa5a6Sopenharmony_ci/** 107c29fa5a6Sopenharmony_ci * @tc.name:construct_002 108c29fa5a6Sopenharmony_ci * @tc.desc:Verify net packet 109c29fa5a6Sopenharmony_ci * @tc.type: FUNC 110c29fa5a6Sopenharmony_ci * @tc.require: 111c29fa5a6Sopenharmony_ci */ 112c29fa5a6Sopenharmony_ciHWTEST_F(NetPacketTest, GetData_003, TestSize.Level1) 113c29fa5a6Sopenharmony_ci{ 114c29fa5a6Sopenharmony_ci MmiMessageId idMsg = static_cast<MmiMessageId>(65535); 115c29fa5a6Sopenharmony_ci 116c29fa5a6Sopenharmony_ci NetPacket pkt(idMsg); 117c29fa5a6Sopenharmony_ci NetPacket packTmp(pkt); 118c29fa5a6Sopenharmony_ci const char *retResult = pkt.GetData(); 119c29fa5a6Sopenharmony_ci EXPECT_TRUE(retResult != nullptr); 120c29fa5a6Sopenharmony_ci} 121c29fa5a6Sopenharmony_ci 122c29fa5a6Sopenharmony_ci/** 123c29fa5a6Sopenharmony_ci * @tc.name:construct_002 124c29fa5a6Sopenharmony_ci * @tc.desc:Verify net packet 125c29fa5a6Sopenharmony_ci * @tc.type: FUNC 126c29fa5a6Sopenharmony_ci * @tc.require: 127c29fa5a6Sopenharmony_ci */ 128c29fa5a6Sopenharmony_ciHWTEST_F(NetPacketTest, GetMsgId_001, TestSize.Level1) 129c29fa5a6Sopenharmony_ci{ 130c29fa5a6Sopenharmony_ci MmiMessageId idMsg = static_cast<MmiMessageId>(22); 131c29fa5a6Sopenharmony_ci 132c29fa5a6Sopenharmony_ci NetPacket pkt(idMsg); 133c29fa5a6Sopenharmony_ci NetPacket packTmp(pkt); 134c29fa5a6Sopenharmony_ci const MmiMessageId retResult = pkt.GetMsgId(); 135c29fa5a6Sopenharmony_ci EXPECT_TRUE(retResult == idMsg); 136c29fa5a6Sopenharmony_ci} 137c29fa5a6Sopenharmony_ci 138c29fa5a6Sopenharmony_ci/** 139c29fa5a6Sopenharmony_ci * @tc.name:construct_002 140c29fa5a6Sopenharmony_ci * @tc.desc:Verify net packet 141c29fa5a6Sopenharmony_ci * @tc.type: FUNC 142c29fa5a6Sopenharmony_ci * @tc.require: 143c29fa5a6Sopenharmony_ci */ 144c29fa5a6Sopenharmony_ciHWTEST_F(NetPacketTest, GetMsgId_002, TestSize.Level1) 145c29fa5a6Sopenharmony_ci{ 146c29fa5a6Sopenharmony_ci MmiMessageId idMsg = static_cast<MmiMessageId>(-33); 147c29fa5a6Sopenharmony_ci 148c29fa5a6Sopenharmony_ci NetPacket pkt(idMsg); 149c29fa5a6Sopenharmony_ci NetPacket packTmp(pkt); 150c29fa5a6Sopenharmony_ci const MmiMessageId retResult = pkt.GetMsgId(); 151c29fa5a6Sopenharmony_ci EXPECT_TRUE(retResult == idMsg); 152c29fa5a6Sopenharmony_ci} 153c29fa5a6Sopenharmony_ci 154c29fa5a6Sopenharmony_ci/** 155c29fa5a6Sopenharmony_ci * @tc.name:construct_002 156c29fa5a6Sopenharmony_ci * @tc.desc:Verify net packet 157c29fa5a6Sopenharmony_ci * @tc.type: FUNC 158c29fa5a6Sopenharmony_ci * @tc.require: 159c29fa5a6Sopenharmony_ci */ 160c29fa5a6Sopenharmony_ciHWTEST_F(NetPacketTest, GetMsgId_003, TestSize.Level1) 161c29fa5a6Sopenharmony_ci{ 162c29fa5a6Sopenharmony_ci MmiMessageId idMsg = static_cast<MmiMessageId>(65535); 163c29fa5a6Sopenharmony_ci 164c29fa5a6Sopenharmony_ci NetPacket pkt(idMsg); 165c29fa5a6Sopenharmony_ci NetPacket packTmp(pkt); 166c29fa5a6Sopenharmony_ci const MmiMessageId retResult = pkt.GetMsgId(); 167c29fa5a6Sopenharmony_ci EXPECT_TRUE(retResult == idMsg); 168c29fa5a6Sopenharmony_ci} 169c29fa5a6Sopenharmony_ci 170c29fa5a6Sopenharmony_ci/** 171c29fa5a6Sopenharmony_ci * @tc.name:construct_002 172c29fa5a6Sopenharmony_ci * @tc.desc:Verify net packet 173c29fa5a6Sopenharmony_ci * @tc.type: FUNC 174c29fa5a6Sopenharmony_ci * @tc.require: 175c29fa5a6Sopenharmony_ci */ 176c29fa5a6Sopenharmony_ciHWTEST_F(NetPacketTest, ReadAndWrite, TestSize.Level1) 177c29fa5a6Sopenharmony_ci{ 178c29fa5a6Sopenharmony_ci int32_t p1 = 112; 179c29fa5a6Sopenharmony_ci std::string p2 = "test111"; 180c29fa5a6Sopenharmony_ci NetPacket pkt(MmiMessageId::INVALID); 181c29fa5a6Sopenharmony_ci pkt << p1 << p2; 182c29fa5a6Sopenharmony_ci 183c29fa5a6Sopenharmony_ci int32_t r1 = 0; 184c29fa5a6Sopenharmony_ci std::string r2; 185c29fa5a6Sopenharmony_ci pkt >> r1 >> r2; 186c29fa5a6Sopenharmony_ci EXPECT_EQ(p1, r1); 187c29fa5a6Sopenharmony_ci EXPECT_EQ(p2, r2); 188c29fa5a6Sopenharmony_ci} 189c29fa5a6Sopenharmony_ci 190c29fa5a6Sopenharmony_ci/** 191c29fa5a6Sopenharmony_ci * @tc.name:construct_002 192c29fa5a6Sopenharmony_ci * @tc.desc:Verify net packet 193c29fa5a6Sopenharmony_ci * @tc.type: FUNC 194c29fa5a6Sopenharmony_ci * @tc.require: 195c29fa5a6Sopenharmony_ci */ 196c29fa5a6Sopenharmony_ciHWTEST_F(NetPacketTest, WriteError, TestSize.Level1) 197c29fa5a6Sopenharmony_ci{ 198c29fa5a6Sopenharmony_ci int32_t p1 = 112; 199c29fa5a6Sopenharmony_ci std::string p2 = "test111"; 200c29fa5a6Sopenharmony_ci NetPacket pkt(MmiMessageId::INVALID); 201c29fa5a6Sopenharmony_ci pkt << p1 << p2; 202c29fa5a6Sopenharmony_ci EXPECT_FALSE(pkt.ChkRWError()); 203c29fa5a6Sopenharmony_ci struct TestData { 204c29fa5a6Sopenharmony_ci int32_t xx; 205c29fa5a6Sopenharmony_ci char szTest[MAX_STREAM_BUF_SIZE]; 206c29fa5a6Sopenharmony_ci }; 207c29fa5a6Sopenharmony_ci TestData data = { 333, "test111" }; 208c29fa5a6Sopenharmony_ci pkt << data; 209c29fa5a6Sopenharmony_ci EXPECT_TRUE(pkt.ChkRWError()); 210c29fa5a6Sopenharmony_ci} 211c29fa5a6Sopenharmony_ci 212c29fa5a6Sopenharmony_ci/** 213c29fa5a6Sopenharmony_ci * @tc.name:construct_002 214c29fa5a6Sopenharmony_ci * @tc.desc:Verify net packet 215c29fa5a6Sopenharmony_ci * @tc.type: FUNC 216c29fa5a6Sopenharmony_ci * @tc.require: 217c29fa5a6Sopenharmony_ci */ 218c29fa5a6Sopenharmony_ciHWTEST_F(NetPacketTest, ReadError, TestSize.Level1) 219c29fa5a6Sopenharmony_ci{ 220c29fa5a6Sopenharmony_ci int32_t p1 = 112; 221c29fa5a6Sopenharmony_ci std::string p2 = "test111"; 222c29fa5a6Sopenharmony_ci NetPacket pkt(MmiMessageId::INVALID); 223c29fa5a6Sopenharmony_ci pkt << p1 << p2; 224c29fa5a6Sopenharmony_ci EXPECT_FALSE(pkt.ChkRWError()); 225c29fa5a6Sopenharmony_ci 226c29fa5a6Sopenharmony_ci int32_t r1 = 0; 227c29fa5a6Sopenharmony_ci std::string r2; 228c29fa5a6Sopenharmony_ci pkt >> r1 >> r2; 229c29fa5a6Sopenharmony_ci EXPECT_FALSE(pkt.ChkRWError()); 230c29fa5a6Sopenharmony_ci EXPECT_EQ(p1, r1); 231c29fa5a6Sopenharmony_ci EXPECT_EQ(p2, r2); 232c29fa5a6Sopenharmony_ci int32_t r3; 233c29fa5a6Sopenharmony_ci pkt >> r3; 234c29fa5a6Sopenharmony_ci EXPECT_TRUE(pkt.ChkRWError()); 235c29fa5a6Sopenharmony_ci} 236c29fa5a6Sopenharmony_ci} // namespace MMI 237c29fa5a6Sopenharmony_ci} // namespace OHOS 238