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