• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2024 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 #include <gmock/gmock.h>
18 
19 #include "cloud_sync_common.h"
20 #include "dfs_error.h"
21 #include "message_handler.h"
22 #include "socket_mock.h"
23 #include "task_state_manager.h"
24 #include "utils_log.h"
25 
26 namespace OHOS {
27 namespace FileManagement::CloudSync {
28 namespace Test {
29 using namespace testing;
30 using namespace testing::ext;
31 using namespace std;
32 
33 class MessageHandlerTest : public testing::Test {
34 public:
35     static void SetUpTestCase(void);
36     static void TearDownTestCase(void);
37     void SetUp();
38     void TearDown();
39 };
40 
SetUpTestCase(void)41 void MessageHandlerTest::SetUpTestCase(void)
42 {
43     std::cout << "SetUpTestCase" << std::endl;
44 }
45 
TearDownTestCase(void)46 void MessageHandlerTest::TearDownTestCase(void)
47 {
48     TaskStateManager::GetInstance().CancelUnloadTask();
49     std::cout << "TearDownTestCase" << std::endl;
50 }
51 
SetUp(void)52 void MessageHandlerTest::SetUp(void)
53 {
54     std::cout << "SetUp" << std::endl;
55 }
56 
TearDown(void)57 void MessageHandlerTest::TearDown(void)
58 {
59     std::cout << "TearDown" << std::endl;
60 }
61 
62 /**
63  * @tc.name: GetDataTest001
64  * @tc.desc: Verify the MessageHandler function
65  * @tc.type: FUNC
66  * @tc.require: IB3T80
67  */
68 HWTEST_F(MessageHandlerTest, GetDataTest001, TestSize.Level1)
69 {
70     GTEST_LOG_(INFO) << "GetDataTest001 start";
71     try {
72         MessageInputInfo inputInfo;
73         inputInfo.srcNetworkId = "srcNetworkId";
74         inputInfo.dstNetworkId = "dstNetworkId";
75         inputInfo.uri = "uritest";
76         inputInfo.msgType = MSG_DOWNLOAD_FILE_REQ;
77         inputInfo.errorCode = 1;
78         inputInfo.userId = 100;
79         inputInfo.taskId = 100;
80         auto messageHandler = make_shared<MessageHandler>(inputInfo);
81         EXPECT_TRUE(messageHandler);
82 
83         EXPECT_EQ(messageHandler->GetMsgType(), MSG_DOWNLOAD_FILE_REQ);
84         EXPECT_EQ(messageHandler->GetSrcNetworkId(), "srcNetworkId");
85         EXPECT_EQ(messageHandler->GetDstNetworkId(), "dstNetworkId");
86         EXPECT_EQ(messageHandler->GetUri(), "uritest");
87         EXPECT_EQ(messageHandler->GetErrorCode(), 1);
88         EXPECT_EQ(messageHandler->GetUserId(), 100);
89         EXPECT_EQ(messageHandler->GetTaskId(), 100);
90     } catch (...) {
91         EXPECT_TRUE(false);
92         GTEST_LOG_(INFO) << "GetDataTest001 failed";
93     }
94     GTEST_LOG_(INFO) << "GetDataTest001 end";
95 }
96 
97 /**
98  * @tc.name: AddTransTaskTest001
99  * @tc.desc: Verify the PackData function
100  * @tc.type: FUNC
101  * @tc.require: IB3T80
102  */
103 HWTEST_F(MessageHandlerTest, PackDataTest001, TestSize.Level1)
104 {
105     GTEST_LOG_(INFO) << "PackDataTest001 start";
106     try {
107         MessageInputInfo inputInfo;
108         inputInfo.srcNetworkId = "srcNetworkId";
109         inputInfo.dstNetworkId = "dstNetworkId";
110         inputInfo.uri = "uritest";
111         inputInfo.msgType = MSG_DOWNLOAD_FILE_REQ;
112         inputInfo.errorCode = 1;
113         inputInfo.userId = 100;
114         inputInfo.taskId = 100;
115         auto messageHandler = make_shared<MessageHandler>(inputInfo);
116         EXPECT_TRUE(messageHandler);
117         cout << "messageHandler->GetDataSize():" << messageHandler->GetDataSize() << endl;
118         auto dataSubPtr = std::make_unique<uint8_t[]>(messageHandler->GetDataSize());
119         EXPECT_FALSE(messageHandler->PackData(nullptr, messageHandler->GetDataSize()));
120         EXPECT_FALSE(messageHandler->PackData(dataSubPtr.get(), 0));
121         EXPECT_FALSE(messageHandler->PackData(nullptr, 0));
122         EXPECT_TRUE(messageHandler->PackData(dataSubPtr.get(), messageHandler->GetDataSize()));
123 
124         MessageHandler msgHandleSub;
125         EXPECT_FALSE(msgHandleSub.UnPackData(nullptr, messageHandler->GetDataSize()));
126         EXPECT_FALSE(msgHandleSub.UnPackData(dataSubPtr.get(), 0));
127         EXPECT_FALSE(msgHandleSub.UnPackData(nullptr, 0));
128         EXPECT_TRUE(msgHandleSub.UnPackData(dataSubPtr.get(), messageHandler->GetDataSize()));
129     } catch (...) {
130         EXPECT_TRUE(false);
131         GTEST_LOG_(INFO) << "PackDataTest001 FAILED";
132     }
133     GTEST_LOG_(INFO) << "PackDataTest001 end";
134 }
135 } // namespace Test
136 } // namespace CloudSync
137 } // namespace OHOS