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 "iremote_object_mocker.h"
18 #include "mock_message_parcel.h"
19 #include "session_manager_service_recover_proxy.h"
20
21 using namespace testing;
22 using namespace testing::ext;
23
24 namespace OHOS {
25 namespace Rosen {
26 class SessionManagerServiceRecoverProxyTest : public testing::Test {
27 public:
28 static void SetUpTestCase();
29 static void TearDownTestCase();
30 void SetUp() override;
31 void TearDown() override;
32 sptr<IRemoteObject> iRemoteObjectMocker_;
33 sptr<SessionManagerServiceRecoverProxy> sessionManagerServiceRecoverProxy_;
34 };
35
SetUpTestCase()36 void SessionManagerServiceRecoverProxyTest::SetUpTestCase() {}
37
TearDownTestCase()38 void SessionManagerServiceRecoverProxyTest::TearDownTestCase() {}
39
SetUp()40 void SessionManagerServiceRecoverProxyTest::SetUp() {}
41
TearDown()42 void SessionManagerServiceRecoverProxyTest::TearDown() {}
43
44 namespace {
45 /**
46 * @tc.name: OnSessionManagerServiceRecover01
47 * @tc.desc: normal function
48 * @tc.type: FUNC
49 */
50 HWTEST_F(SessionManagerServiceRecoverProxyTest, OnSessionManagerServiceRecover01, TestSize.Level1)
51 {
52 sptr<IRemoteObject> iRemoteObjectMocker = sptr<IRemoteObjectMocker>::MakeSptr();
53 ASSERT_NE(iRemoteObjectMocker, nullptr);
54 sessionManagerServiceRecoverProxy_ = sptr<SessionManagerServiceRecoverProxy>::MakeSptr(iRemoteObjectMocker);
55 ASSERT_NE(sessionManagerServiceRecoverProxy_, nullptr);
56 sptr<IRemoteObject> sessionManagerService = sptr<IRemoteObjectMocker>::MakeSptr();
57 ASSERT_NE(sessionManagerService, nullptr);
58 sessionManagerServiceRecoverProxy_->OnSessionManagerServiceRecover(sessionManagerService);
59 }
60
61 /**
62 * @tc.name: OnSessionManagerServiceRecover02
63 * @tc.desc: normal function
64 * @tc.type: FUNC
65 */
66 HWTEST_F(SessionManagerServiceRecoverProxyTest, OnSessionManagerServiceRecover02, TestSize.Level1)
67 {
68 sptr<IRemoteObject> iRemoteObjectMocker = sptr<IRemoteObjectMocker>::MakeSptr();
69 ASSERT_NE(iRemoteObjectMocker, nullptr);
70 sessionManagerServiceRecoverProxy_ = sptr<SessionManagerServiceRecoverProxy>::MakeSptr(iRemoteObjectMocker);
71 ASSERT_NE(sessionManagerServiceRecoverProxy_, nullptr);
72 sptr<IRemoteObject> sessionManagerService = sptr<IRemoteObjectMocker>::MakeSptr();
73 ASSERT_NE(sessionManagerService, nullptr);
74 MockMessageParcel::SetWriteInterfaceTokenErrorFlag(true);
75 sessionManagerServiceRecoverProxy_->OnSessionManagerServiceRecover(sessionManagerService);
76 MockMessageParcel::ClearAllErrorFlag();
77 }
78
79 /**
80 * @tc.name: OnSessionManagerServiceRecover03
81 * @tc.desc: normal function
82 * @tc.type: FUNC
83 */
84 HWTEST_F(SessionManagerServiceRecoverProxyTest, OnSessionManagerServiceRecover03, TestSize.Level1)
85 {
86 sptr<IRemoteObject> iRemoteObjectMocker = sptr<IRemoteObjectMocker>::MakeSptr();
87 ASSERT_NE(iRemoteObjectMocker, nullptr);
88 sessionManagerServiceRecoverProxy_ = sptr<SessionManagerServiceRecoverProxy>::MakeSptr(iRemoteObjectMocker);
89 ASSERT_NE(sessionManagerServiceRecoverProxy_, nullptr);
90 sptr<IRemoteObject> sessionManagerService = nullptr;
91 sessionManagerServiceRecoverProxy_->OnSessionManagerServiceRecover(sessionManagerService);
92 }
93
94 /**
95 * @tc.name: OnSessionManagerServiceRecover04
96 * @tc.desc: normal function
97 * @tc.type: FUNC
98 */
99 HWTEST_F(SessionManagerServiceRecoverProxyTest, OnSessionManagerServiceRecover04, TestSize.Level1)
100 {
101 sptr<MockIRemoteObject> mockIRemoteObject = sptr<MockIRemoteObject>::MakeSptr();
102 ASSERT_NE(mockIRemoteObject, nullptr);
103 mockIRemoteObject->sendRequestResult_ = 1;
104 sessionManagerServiceRecoverProxy_ = sptr<SessionManagerServiceRecoverProxy>::MakeSptr(mockIRemoteObject);
105 ASSERT_NE(sessionManagerServiceRecoverProxy_, nullptr);
106 sptr<IRemoteObject> sessionManagerService = sptr<IRemoteObjectMocker>::MakeSptr();
107 ASSERT_NE(sessionManagerService, nullptr);
108 sessionManagerServiceRecoverProxy_->OnSessionManagerServiceRecover(sessionManagerService);
109 }
110
111 /**
112 * @tc.name: OnWMSConnectionChanged01
113 * @tc.desc: normal function
114 * @tc.type: FUNC
115 */
116 HWTEST_F(SessionManagerServiceRecoverProxyTest, OnWMSConnectionChanged01, TestSize.Level1)
117 {
118 sptr<IRemoteObject> iRemoteObjectMocker = sptr<IRemoteObjectMocker>::MakeSptr();
119 ASSERT_NE(iRemoteObjectMocker, nullptr);
120 sessionManagerServiceRecoverProxy_ = sptr<SessionManagerServiceRecoverProxy>::MakeSptr(iRemoteObjectMocker);
121 ASSERT_NE(sessionManagerServiceRecoverProxy_, nullptr);
122 sptr<IRemoteObject> sessionManagerService = sptr<IRemoteObjectMocker>::MakeSptr();
123 ASSERT_NE(sessionManagerService, nullptr);
124 sessionManagerServiceRecoverProxy_->OnWMSConnectionChanged(1, 0, true, sessionManagerService);
125 }
126
127 /**
128 * @tc.name: OnWMSConnectionChanged02
129 * @tc.desc: normal function
130 * @tc.type: FUNC
131 */
132 HWTEST_F(SessionManagerServiceRecoverProxyTest, OnWMSConnectionChanged02, TestSize.Level1)
133 {
134 sptr<IRemoteObject> iRemoteObjectMocker = sptr<IRemoteObjectMocker>::MakeSptr();
135 ASSERT_NE(iRemoteObjectMocker, nullptr);
136 sessionManagerServiceRecoverProxy_ = sptr<SessionManagerServiceRecoverProxy>::MakeSptr(iRemoteObjectMocker);
137 ASSERT_NE(sessionManagerServiceRecoverProxy_, nullptr);
138 MockMessageParcel::SetWriteInterfaceTokenErrorFlag(true);
139 sptr<IRemoteObject> sessionManagerService = sptr<IRemoteObjectMocker>::MakeSptr();
140 ASSERT_NE(sessionManagerService, nullptr);
141 sessionManagerServiceRecoverProxy_->OnWMSConnectionChanged(1, 0, true, sessionManagerService);
142 MockMessageParcel::ClearAllErrorFlag();
143 }
144
145 /**
146 * @tc.name: OnWMSConnectionChanged03
147 * @tc.desc: normal function
148 * @tc.type: FUNC
149 */
150 HWTEST_F(SessionManagerServiceRecoverProxyTest, OnWMSConnectionChanged03, TestSize.Level1)
151 {
152 sptr<IRemoteObject> iRemoteObjectMocker = sptr<IRemoteObjectMocker>::MakeSptr();
153 ASSERT_NE(iRemoteObjectMocker, nullptr);
154 sessionManagerServiceRecoverProxy_ = sptr<SessionManagerServiceRecoverProxy>::MakeSptr(iRemoteObjectMocker);
155 ASSERT_NE(sessionManagerServiceRecoverProxy_, nullptr);
156 sptr<IRemoteObject> sessionManagerService = sptr<IRemoteObjectMocker>::MakeSptr();
157 ASSERT_NE(sessionManagerService, nullptr);
158 sessionManagerServiceRecoverProxy_->OnWMSConnectionChanged(-1, 0, true, sessionManagerService);
159 }
160
161 /**
162 * @tc.name: OnWMSConnectionChanged04
163 * @tc.desc: normal function
164 * @tc.type: FUNC
165 */
166 HWTEST_F(SessionManagerServiceRecoverProxyTest, OnWMSConnectionChanged04, TestSize.Level1)
167 {
168 sptr<IRemoteObject> iRemoteObjectMocker = sptr<IRemoteObjectMocker>::MakeSptr();
169 ASSERT_NE(iRemoteObjectMocker, nullptr);
170 sessionManagerServiceRecoverProxy_ = sptr<SessionManagerServiceRecoverProxy>::MakeSptr(iRemoteObjectMocker);
171 ASSERT_NE(sessionManagerServiceRecoverProxy_, nullptr);
172 sptr<IRemoteObject> sessionManagerService = sptr<IRemoteObjectMocker>::MakeSptr();
173 ASSERT_NE(sessionManagerService, nullptr);
174 sessionManagerServiceRecoverProxy_->OnWMSConnectionChanged(1, -1, true, sessionManagerService);
175 }
176
177 /**
178 * @tc.name: OnWMSConnectionChanged05
179 * @tc.desc: normal function
180 * @tc.type: FUNC
181 */
182 HWTEST_F(SessionManagerServiceRecoverProxyTest, OnWMSConnectionChanged05, TestSize.Level1)
183 {
184 sptr<IRemoteObject> iRemoteObjectMocker = sptr<IRemoteObjectMocker>::MakeSptr();
185 ASSERT_NE(iRemoteObjectMocker, nullptr);
186 sessionManagerServiceRecoverProxy_ = sptr<SessionManagerServiceRecoverProxy>::MakeSptr(iRemoteObjectMocker);
187 ASSERT_NE(sessionManagerServiceRecoverProxy_, nullptr);
188 sptr<IRemoteObject> sessionManagerService = sptr<IRemoteObjectMocker>::MakeSptr();
189 ASSERT_NE(sessionManagerService, nullptr);
190 MockMessageParcel::SetWriteBoolErrorFlag(true);
191 sessionManagerServiceRecoverProxy_->OnWMSConnectionChanged(1, 1, true, sessionManagerService);
192 MockMessageParcel::ClearAllErrorFlag();
193 }
194
195 /**
196 * @tc.name: OnWMSConnectionChanged06
197 * @tc.desc: normal function
198 * @tc.type: FUNC
199 */
200 HWTEST_F(SessionManagerServiceRecoverProxyTest, OnWMSConnectionChanged06, TestSize.Level1)
201 {
202 sptr<MockIRemoteObject> mockIRemoteObject = sptr<MockIRemoteObject>::MakeSptr();
203 ASSERT_NE(mockIRemoteObject, nullptr);
204 mockIRemoteObject->sendRequestResult_ = 1;
205 sessionManagerServiceRecoverProxy_ = sptr<SessionManagerServiceRecoverProxy>::MakeSptr(mockIRemoteObject);
206 ASSERT_NE(sessionManagerServiceRecoverProxy_, nullptr);
207 sptr<IRemoteObject> sessionManagerService = nullptr;
208 sessionManagerServiceRecoverProxy_->OnWMSConnectionChanged(1, 1, true, sessionManagerService);
209 }
210
211 /**
212 * @tc.name: OnWMSConnectionChanged07
213 * @tc.desc: normal function
214 * @tc.type: FUNC
215 */
216 HWTEST_F(SessionManagerServiceRecoverProxyTest, OnWMSConnectionChanged07, TestSize.Level1)
217 {
218 sptr<MockIRemoteObject> mockIRemoteObject = sptr<MockIRemoteObject>::MakeSptr();
219 ASSERT_NE(mockIRemoteObject, nullptr);
220 mockIRemoteObject->sendRequestResult_ = 1;
221 sessionManagerServiceRecoverProxy_ = sptr<SessionManagerServiceRecoverProxy>::MakeSptr(mockIRemoteObject);
222 ASSERT_NE(sessionManagerServiceRecoverProxy_, nullptr);
223 sptr<IRemoteObject> sessionManagerService = sptr<IRemoteObjectMocker>::MakeSptr();
224 ASSERT_NE(sessionManagerService, nullptr);
225 sessionManagerServiceRecoverProxy_->OnWMSConnectionChanged(1, 1, true, sessionManagerService);
226 }
227 } // namespace
228 } // namespace Rosen
229 } // namespace OHOS