1 /*
2 * Copyright (c) 2022 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 <chrono>
17 #include <gtest/gtest.h>
18 #include <thread>
19
20 #define private public
21 #define protected public
22 #include "continuation_device_callback_proxy.h"
23 #undef private
24 #undef protected
25
26 using namespace testing::ext;
27 using namespace testing;
28 using namespace std::chrono;
29
30 namespace OHOS {
31 namespace AppExecFwk {
32 class ContinuationDeviceCallbackProxyTest : public testing::Test {
33 public:
34 static void SetUpTestCase(void);
35 static void TearDownTestCase(void);
36 void SetUp();
37 void TearDown();
38 };
39
SetUpTestCase(void)40 void ContinuationDeviceCallbackProxyTest::SetUpTestCase(void)
41 {
42 }
43
TearDownTestCase(void)44 void ContinuationDeviceCallbackProxyTest::TearDownTestCase(void)
45 {
46 }
47
SetUp(void)48 void ContinuationDeviceCallbackProxyTest::SetUp(void)
49 {
50 }
51
TearDown(void)52 void ContinuationDeviceCallbackProxyTest::TearDown(void)
53 {
54 }
55
56 class MoclCallback : public IContinuationDeviceCallback {
57 public:
MoclCallback()58 MoclCallback() {};
~MoclCallback()59 virtual ~MoclCallback() {};
OnDeviceConnectDone(const std::string & deviceId,const std::string & deviceType)60 virtual void OnDeviceConnectDone(const std::string &deviceId, const std::string &deviceType) {};
OnDeviceDisconnectDone(const std::string & deviceId)61 virtual void OnDeviceDisconnectDone(const std::string &deviceId) {};
62 };
63
64 /*
65 * @tc.number: AppExecFwk_ContinuationDeviceCallbackProxy_Connect_001
66 * @tc.name: Connect
67 * @tc.desc: Verify function Connect pointer callback normal
68 */
69 HWTEST_F(ContinuationDeviceCallbackProxyTest, AppExecFwk_ContinuationDeviceCallbackProxy_Connect_001, TestSize.Level1)
70 {
71 GTEST_LOG_(INFO) << "AppExecFwk_ContinuationDeviceCallbackProxy_Connect_001 start.";
72 std::shared_ptr<MoclCallback> callback = std::make_shared<MoclCallback>();
73 std::shared_ptr<IContinuationDeviceCallback> connectCallback = callback;
74 sptr<ContinuationDeviceCallbackProxy> continuationDeviceCallbackProxy = new (std::nothrow)
75 ContinuationDeviceCallbackProxy(connectCallback);
76 EXPECT_TRUE(continuationDeviceCallbackProxy != nullptr);
77 const std::string deviceId = "7001005458323933328a592135733900";
78 const std::string deviceType = "rk3568";
79 continuationDeviceCallbackProxy->Connect(deviceId, deviceType);
80 GTEST_LOG_(INFO) << "AppExecFwk_ContinuationDeviceCallbackProxy_Connect_001 end.";
81 }
82
83 /*
84 * @tc.number: AppExecFwk_ContinuationDeviceCallbackProxy_Connect_002
85 * @tc.name: Connect
86 * @tc.desc: Verify function Connect pointer callback empty
87 */
88 HWTEST_F(ContinuationDeviceCallbackProxyTest, AppExecFwk_ContinuationDeviceCallbackProxy_Connect_002, TestSize.Level1)
89 {
90 GTEST_LOG_(INFO) << "AppExecFwk_ContinuationDeviceCallbackProxy_Connect_002 start.";
91 std::shared_ptr<MoclCallback> callback = nullptr;
92 std::shared_ptr<IContinuationDeviceCallback> connectCallback = callback;
93 sptr<ContinuationDeviceCallbackProxy> continuationDeviceCallbackProxy = new (std::nothrow)
94 ContinuationDeviceCallbackProxy(connectCallback);
95 EXPECT_FALSE(continuationDeviceCallbackProxy == nullptr);
96 const std::string deviceId = "7001005458323933328a592135733900";
97 const std::string deviceType = "rk3568";
98 continuationDeviceCallbackProxy->Connect(deviceId, deviceType);
99 GTEST_LOG_(INFO) << "AppExecFwk_ContinuationDeviceCallbackProxy_Connect_002 end.";
100 }
101
102 /*
103 * @tc.number: AppExecFwk_ContinuationDeviceCallbackProxy_Disconnect_001
104 * @tc.name: Disconnect
105 * @tc.desc: Verify function Disconnect pointer callback normal
106 */
107 HWTEST_F(
108 ContinuationDeviceCallbackProxyTest, AppExecFwk_ContinuationDeviceCallbackProxy_Disconnect_001, TestSize.Level1)
109 {
110 GTEST_LOG_(INFO) << "AppExecFwk_ContinuationDeviceCallbackProxy_Disconnect_001 start.";
111 std::shared_ptr<MoclCallback> callback = std::make_shared<MoclCallback>();
112 std::shared_ptr<IContinuationDeviceCallback> connectCallback = callback;
113 sptr<ContinuationDeviceCallbackProxy> continuationDeviceCallbackProxy = new (std::nothrow)
114 ContinuationDeviceCallbackProxy(connectCallback);
115 EXPECT_TRUE(continuationDeviceCallbackProxy != nullptr);
116 const std::string deviceId = "7001005458323933328a592135733900";
117 continuationDeviceCallbackProxy->Disconnect(deviceId);
118 GTEST_LOG_(INFO) << "AppExecFwk_ContinuationDeviceCallbackProxy_Disconnect_001 end.";
119 }
120
121 /*
122 * @tc.number: AppExecFwk_ContinuationDeviceCallbackProxy_Disconnect_002
123 * @tc.name: Disconnect
124 * @tc.desc: Verify function Disconnect pointer callback empty
125 */
126 HWTEST_F(
127 ContinuationDeviceCallbackProxyTest, AppExecFwk_ContinuationDeviceCallbackProxy_Disconnect_002, TestSize.Level1)
128 {
129 GTEST_LOG_(INFO) << "AppExecFwk_ContinuationDeviceCallbackProxy_Disconnect_002 start.";
130 std::shared_ptr<MoclCallback> callback = nullptr;
131 std::shared_ptr<IContinuationDeviceCallback> connectCallback = callback;
132 sptr<ContinuationDeviceCallbackProxy> continuationDeviceCallbackProxy = new (std::nothrow)
133 ContinuationDeviceCallbackProxy(connectCallback);
134 EXPECT_FALSE(continuationDeviceCallbackProxy == nullptr);
135 const std::string deviceId = "7001005458323933328a592135733900";
136 continuationDeviceCallbackProxy->Disconnect(deviceId);
137 GTEST_LOG_(INFO) << "AppExecFwk_ContinuationDeviceCallbackProxy_Disconnect_002 end.";
138 }
139 } // namespace AppExecFwk
140 } // namespace OHOS