• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 #include <ipc_types.h>
18 #include <pointer_event.h>
19 #include "iremote_object_mocker.h"
20 #include "mock/mock_session_stub.h"
21 #include "session/host/include/zidl/session_stub.h"
22 #include "ability_start_setting.h"
23 #include "session/host/include/zidl/session_ipc_interface_code.h"
24 #include "want.h"
25 #include "ws_common.h"
26 
27 using namespace testing;
28 using namespace testing::ext;
29 
30 namespace OHOS {
31 namespace Rosen {
32 
33 class SessionStubLifecycleTest : public testing::Test {
34 public:
35     static void SetUpTestCase();
36     static void TearDownTestCase();
37     void SetUp() override;
38     void TearDown() override;
39 
40 private:
41     sptr<SessionStub> session_ = nullptr;
42 };
43 
SetUpTestCase()44 void SessionStubLifecycleTest::SetUpTestCase() {}
45 
TearDownTestCase()46 void SessionStubLifecycleTest::TearDownTestCase() {}
47 
SetUp()48 void SessionStubLifecycleTest::SetUp()
49 {
50     session_ = sptr<SessionStubMocker>::MakeSptr();
51     EXPECT_NE(nullptr, session_);
52 }
53 
TearDown()54 void SessionStubLifecycleTest::TearDown()
55 {
56     session_ = nullptr;
57 }
58 
59 namespace {
60 
61 /**
62  * @tc.name: HandleShow009
63  * @tc.desc: sessionStub SessionStubLifecycleTest
64  * @tc.type: FUNC
65  * @tc.require: #I6JLSI
66  */
67 HWTEST_F(SessionStubLifecycleTest, HandleShow009, TestSize.Level1)
68 {
69     MessageParcel data;
70     MessageParcel reply;
71     data.WriteBool(false);
72     auto res = session_->HandleShow(data, reply);
73     ASSERT_EQ(0, res);
74 }
75 
76 /**
77  * @tc.name: HandleHide010
78  * @tc.desc: sessionStub SessionStubLifecycleTest
79  * @tc.type: FUNC
80  * @tc.require: #I6JLSI
81  */
82 HWTEST_F(SessionStubLifecycleTest, HandleHide010, TestSize.Level1)
83 {
84     MessageParcel data;
85     MessageParcel reply;
86     data.WriteBool(true);
87     auto res = session_->HandleHide(data, reply);
88     ASSERT_EQ(0, res);
89 }
90 
91 /**
92  * @tc.name: HandleDrawingCompleted
93  * @tc.desc: sessionStub SessionStubLifecycleTest
94  * @tc.type: FUNC
95  */
96 HWTEST_F(SessionStubLifecycleTest, HandleDrawingCompleted, TestSize.Level1)
97 {
98     MessageParcel data;
99     MessageParcel reply;
100     ASSERT_NE(session_, nullptr);
101     auto res = session_->HandleDrawingCompleted(data, reply);
102     ASSERT_EQ(0, res);
103 }
104 
105 /**
106  * @tc.name: HandlePendingSessionActivation011
107  * @tc.desc: sessionStub SessionStubLifecycleTest
108  * @tc.type: FUNC
109  * @tc.require: #I6JLSI
110  */
111 HWTEST_F(SessionStubLifecycleTest, HandlePendingSessionActivation011, TestSize.Level1)
112 {
113     MessageParcel data;
114     MessageParcel reply;
115     data.WriteBool(true);
116     AAFwk::Want options;
117     EXPECT_NE(data.WriteString("HandlePendingSessionActivation"), false);
118     EXPECT_NE(data.WriteParcelable(&options), false);
119     ASSERT_EQ(data.WriteUint32(1), true);
120     ASSERT_EQ(data.WriteUint64(2), true);
121     auto res = session_->HandlePendingSessionActivation(data, reply);
122     ASSERT_EQ(5, res);
123 }
124 
125 /**
126  * @tc.name: HandlePendingSessionActivation011
127  * @tc.desc: sessionStub SessionStubLifecycleTest
128  * @tc.type: FUNC
129  * @tc.require: #I6JLSI
130  */
131 HWTEST_F(SessionStubLifecycleTest, HandlePendingSessionActivation02, TestSize.Level1)
132 {
133     MessageParcel data;
134     MessageParcel reply;
135     AAFwk::Want want;
136     EXPECT_EQ(data.WriteParcelable(&want), true);
137     EXPECT_EQ(data.WriteInt32(1), true);
138     EXPECT_EQ(data.WriteInt32(2), true);
139     EXPECT_EQ(data.WriteInt32(3), true);
140     EXPECT_EQ(data.WriteInt64(10), true);
141     EXPECT_EQ(data.WriteUint32(9), true);
142     EXPECT_EQ(data.WriteInt32(4), true);
143     EXPECT_EQ(data.WriteBool(false), true);
144     EXPECT_EQ(data.WriteParcelable(nullptr), true);
145 
146     EXPECT_EQ(data.WriteBool(true), true);
147     EXPECT_EQ(data.WriteBool(true), true);
148     EXPECT_EQ(data.WriteBool(true), true);
149     EXPECT_EQ(data.WriteBool(true), true);
150     EXPECT_EQ(data.WriteBool(false), true);
151     EXPECT_EQ(data.WriteBool(false), true);
152     EXPECT_EQ(data.WriteBool(false), true);
153     EXPECT_EQ(data.WriteString("instanceKey"), true);
154     EXPECT_EQ(data.WriteBool(false), true);
155     EXPECT_EQ(data.WriteUint32(0), true);
156     EXPECT_EQ(data.WriteString("specifiedFlag"), true);
157     EXPECT_EQ(data.WriteBool(false), true);
158     auto res = session_->HandlePendingSessionActivation(data, reply);
159     EXPECT_EQ(5, res);
160 }
161 
162 /**
163  * @tc.name: HandlePendingSessionActivation03
164  * @tc.desc: sessionStub SessionStubLifecycleTest
165  * @tc.type: FUNC
166  * @tc.require: #I6JLSI
167  */
168 HWTEST_F(SessionStubLifecycleTest, HandlePendingSessionActivation03, TestSize.Level1)
169 {
170     MessageParcel data;
171     MessageParcel reply;
172     AAFwk::Want want;
173     EXPECT_EQ(data.WriteParcelable(&want), true);
174     EXPECT_EQ(data.WriteInt32(1), true);
175     EXPECT_EQ(data.WriteInt32(2), true);
176     EXPECT_EQ(data.WriteInt32(3), true);
177     EXPECT_EQ(data.WriteInt64(10), true);
178     EXPECT_EQ(data.WriteUint32(9), true);
179     EXPECT_EQ(data.WriteInt32(4), true);
180     EXPECT_EQ(data.WriteBool(false), true);
181     EXPECT_EQ(data.WriteParcelable(nullptr), true);
182 
183     EXPECT_EQ(data.WriteBool(true), true);
184     EXPECT_EQ(data.WriteBool(true), true);
185     EXPECT_EQ(data.WriteBool(true), true);
186     EXPECT_EQ(data.WriteBool(true), true);
187     EXPECT_EQ(data.WriteBool(false), true);
188     EXPECT_EQ(data.WriteBool(false), true);
189     EXPECT_EQ(data.WriteBool(false), true);
190     EXPECT_EQ(data.WriteString("instanceKey"), true);
191     EXPECT_EQ(data.WriteBool(false), true);
192     EXPECT_EQ(data.WriteUint32(0), true);
193     EXPECT_EQ(data.WriteString("specifiedFlag"), true);
194     EXPECT_EQ(data.WriteBool(false), true);
195     EXPECT_EQ(data.WriteInt32(9), true);
196     EXPECT_EQ(data.WriteBool(false), true);
197     auto res = session_->HandlePendingSessionActivation(data, reply);
198     EXPECT_EQ(0, res);
199 }
200 } // namespace
201 } // namespace Rosen
202 } // namespace OHOS