• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 "thermal_mock_proxy_remote_test.h"
17 
18 #include "mock_thermal_remote_object.h"
19 #include "thermal_action_callback_proxy.h"
20 #include "thermal_level_callback_proxy.h"
21 #include "thermal_level_info.h"
22 #include "thermal_log.h"
23 #include "thermal_mgr_client.h"
24 #include "thermal_srv_proxy.h"
25 #include "thermal_srv_sensor_info.h"
26 #include "thermal_temp_callback_proxy.h"
27 
28 using namespace testing::ext;
29 using namespace OHOS::PowerMgr;
30 using namespace OHOS;
31 using namespace std;
32 
33 namespace {
34 /**
35  * @tc.name: ThermalClientMockPeerTest001
36  * @tc.desc: Thermal client test by mock peer
37  * @tc.type: FUNC
38  * @tc.require: issueI64U2R
39  */
40 HWTEST_F(ThermalMockProxyRemoteTest, ThermalClientMockPeerTest001, TestSize.Level0)
41 {
42     THERMAL_HILOGD(LABEL_TEST, "ThermalClientMockPeerTest001 start");
43     auto& thermalMgrClient = ThermalMgrClient::GetInstance();
44 
45     sptr<MockThermalRemoteObject> sptrRemoteObj = new MockThermalRemoteObject();
46     EXPECT_FALSE(sptrRemoteObj == nullptr);
47     std::shared_ptr<ThermalSrvProxy> srvProxy = std::make_shared<ThermalSrvProxy>(sptrRemoteObj);
48     EXPECT_FALSE(srvProxy == nullptr);
49     std::vector<std::string> typeList {};
50     std::string desc {};
51     sptr<IThermalTempCallback> tempCallback = new ThermalTempCallbackProxy(sptrRemoteObj);
52     EXPECT_FALSE(tempCallback == nullptr);
53     EXPECT_FALSE(thermalMgrClient.SubscribeThermalTempCallback(typeList, tempCallback));
54     EXPECT_FALSE(thermalMgrClient.UnSubscribeThermalTempCallback(tempCallback));
55     sptr<IThermalLevelCallback> levelCallback = new ThermalLevelCallbackProxy(sptrRemoteObj);
56     EXPECT_FALSE(levelCallback == nullptr);
57     EXPECT_FALSE(thermalMgrClient.SubscribeThermalLevelCallback(levelCallback));
58     EXPECT_FALSE(thermalMgrClient.UnSubscribeThermalLevelCallback(levelCallback));
59     sptr<IThermalActionCallback> actionCallback = new ThermalActionCallbackProxy(sptrRemoteObj);
60     EXPECT_FALSE(actionCallback == nullptr);
61     EXPECT_FALSE(thermalMgrClient.SubscribeThermalActionCallback(typeList, desc, actionCallback));
62     EXPECT_FALSE(thermalMgrClient.UnSubscribeThermalActionCallback(actionCallback));
63 
64     SensorType sensorType = SensorType::SOC;
65     EXPECT_TRUE(thermalMgrClient.GetThermalSensorTemp(sensorType) == 0);
66     EXPECT_TRUE(thermalMgrClient.GetThermalLevel() == ThermalLevel::COOL);
67     std::string sence = "";
68     EXPECT_FALSE(thermalMgrClient.SetScene(sence));
69     std::vector<std::string> args {};
70     EXPECT_TRUE(thermalMgrClient.Dump(args) == "can't connect service");
71     THERMAL_HILOGD(LABEL_TEST, "ThermalClientMockPeerTest001 end");
72 }
73 
74 /**
75  * @tc.name: ThermalMockProxyRemoteTest001
76  * @tc.desc: proxy test
77  * @tc.type: FUNC
78  * @tc.require: issueI5YZQ2
79  */
80 HWTEST_F(ThermalMockProxyRemoteTest, ThermalMockProxyRemoteTest001, TestSize.Level0)
81 {
82     THERMAL_HILOGD(LABEL_TEST, "ThermalMockProxyRemoteTest001 start");
83     sptr<MockThermalRemoteObject> sptrRemoteObj = new MockThermalRemoteObject();
84     EXPECT_FALSE(sptrRemoteObj == nullptr);
85     std::shared_ptr<ThermalTempCallbackProxy> tempProxy = std::make_shared<ThermalTempCallbackProxy>(sptrRemoteObj);
86     EXPECT_FALSE(tempProxy == nullptr);
87     using TempCallbackMap = std::map<std::string, int32_t>;
88     TempCallbackMap tempCbMap;
89     EXPECT_FALSE(tempProxy->OnThermalTempChanged(tempCbMap));
90     std::shared_ptr<ThermalActionCallbackProxy> actionProxy =
91         std::make_shared<ThermalActionCallbackProxy>(sptrRemoteObj);
92     EXPECT_FALSE(actionProxy == nullptr);
93     using ActionCallbackMap = std::map<std::string, std::string>;
94     ActionCallbackMap map;
95     EXPECT_FALSE(actionProxy->OnThermalActionChanged(map));
96     std::shared_ptr<ThermalLevelCallbackProxy> levalProxy = std::make_shared<ThermalLevelCallbackProxy>(sptrRemoteObj);
97     EXPECT_FALSE(levalProxy == nullptr);
98     ThermalLevel level = ThermalLevel::COOL;
99     EXPECT_FALSE(levalProxy->OnThermalLevelChanged(level));
100 
101     std::shared_ptr<ThermalSrvProxy> srvProxy = std::make_shared<ThermalSrvProxy>(sptrRemoteObj);
102     EXPECT_FALSE(srvProxy == nullptr);
103     SensorType type = SensorType::SOC;
104     sptr<ThermalSrvSensorInfo> sensorInfo = new ThermalSrvSensorInfo();
105     EXPECT_FALSE(srvProxy->GetThermalSrvSensorInfo(type, *sensorInfo));
106     EXPECT_FALSE(srvProxy->GetThermalLevel(level));
107     std::string sence;
108     EXPECT_FALSE(srvProxy->SetScene(sence));
109     std::vector<std::string> args;
110     uint32_t argc = 0;
111     EXPECT_TRUE(srvProxy->ShellDump(args, argc) == "remote error");
112     std::vector<std::string> typeList;
113     std::string desc;
114     sptr<IThermalTempCallback> tempCallback;
115     EXPECT_FALSE(srvProxy->SubscribeThermalTempCallback(typeList, tempCallback));
116     EXPECT_FALSE(srvProxy->UnSubscribeThermalTempCallback(tempCallback));
117     sptr<IThermalLevelCallback> levelCallback;
118     EXPECT_FALSE(srvProxy->SubscribeThermalLevelCallback(levelCallback));
119     EXPECT_FALSE(srvProxy->UnSubscribeThermalLevelCallback(levelCallback));
120     sptr<IThermalActionCallback> actionCallback;
121     EXPECT_FALSE(srvProxy->SubscribeThermalActionCallback(typeList, desc, actionCallback));
122     EXPECT_FALSE(srvProxy->UnSubscribeThermalActionCallback(actionCallback));
123     THERMAL_HILOGD(LABEL_TEST, "ThermalMockProxyRemoteTest001 end");
124 }
125 } // namespace
126