• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2025 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 "core_service_client.h"
17 #include "turnonoff_mobile_data_plugin_test.h"
18 #include "edm_ipc_interface_code.h"
19 #include "parameters.h"
20 #include "plugin_singleton.h"
21 #include "utils.h"
22 #include "telephony_types.h"
23 
24 using namespace testing::ext;
25 
26 namespace OHOS {
27 namespace EDM {
28 namespace TEST {
SetUpTestSuite(void)29 void TurnOnOffMobileDataTest::SetUpTestSuite(void)
30 {
31     Utils::SetEdmInitialEnv();
32 }
33 
TearDownTestSuite(void)34 void TurnOnOffMobileDataTest::TearDownTestSuite(void)
35 {
36     Utils::ResetTokenTypeAndUid();
37     ASSERT_TRUE(Utils::IsOriginalUTEnv());
38     std::cout << "now ut process is orignal ut env : " << Utils::IsOriginalUTEnv() << std::endl;
39 }
40 
41 /**
42  * @tc.name: TestForceTurnOnMobileDataSuccess
43  * @tc.desc: Test TurnOnMobileDataPlugin::OnSetPolicy function sucess.
44  * @tc.type: FUNC
45  */
46 HWTEST_F(TurnOnOffMobileDataTest, TestForceTurnOnMobileDataSuccess, TestSize.Level1)
47 {
48     std::shared_ptr<IPlugin> plugin = TurnOnOffMobileDataPlugin::GetPlugin();
49     uint32_t code = POLICY_FUNC_CODE((std::uint32_t)FuncOperateType::SET, EdmInterfaceCode::TURNONOFF_MOBILE_DATA);
50     HandlePolicyData handlePolicyData{"false", "", false};
51     MessageParcel data;
52     MessageParcel reply;
53     data.WriteBool(true);
54     ErrCode ret = plugin->OnHandlePolicy(code, data, reply, handlePolicyData, DEFAULT_USER_ID);
55     ASSERT_TRUE(ret == ERR_OK);
56 }
57 
58 /**
59  * @tc.name: TestTurnOnMobileDataSuccess
60  * @tc.desc: Test TurnOnMobileDataPlugin::OnSetPolicy function sucess.
61  * @tc.type: FUNC
62  */
63 HWTEST_F(TurnOnOffMobileDataTest, TestTurnOnMobileDataSuccess, TestSize.Level1)
64 {
65     std::shared_ptr<IPlugin> plugin = TurnOnOffMobileDataPlugin::GetPlugin();
66     uint32_t code = POLICY_FUNC_CODE((std::uint32_t)FuncOperateType::SET, EdmInterfaceCode::TURNONOFF_MOBILE_DATA);
67     HandlePolicyData handlePolicyData{"false", "", false};
68     MessageParcel data;
69     MessageParcel reply;
70     data.WriteBool(false);
71     ErrCode ret = plugin->OnHandlePolicy(code, data, reply, handlePolicyData, DEFAULT_USER_ID);
72     ASSERT_TRUE(ret == ERR_OK);
73 }
74 
75 /**
76  * @tc.name: TestTurnOnMobileDataSuccess_001
77  * @tc.desc: Test TurnOnMobileDataPlugin::OnSetPolicy function sucess.
78  * @tc.type: FUNC
79  */
80 HWTEST_F(TurnOnOffMobileDataTest, TestTurnOnMobileDataSuccess_001, TestSize.Level1)
81 {
82     std::shared_ptr<IPlugin> plugin = TurnOnOffMobileDataPlugin::GetPlugin();
83     uint32_t code = POLICY_FUNC_CODE((std::uint32_t)FuncOperateType::SET, EdmInterfaceCode::TURNONOFF_MOBILE_DATA);
84     HandlePolicyData handlePolicyData{"false", "", false};
85     MessageParcel data;
86     MessageParcel reply;
87     data.WriteBool(false);
88     system::SetParameter("persist.edm.mobile_data_policy", "disallow");
89     ErrCode ret = plugin->OnHandlePolicy(code, data, reply, handlePolicyData, DEFAULT_USER_ID);
90     ASSERT_TRUE(ret != ERR_OK);
91     system::SetParameter("persist.edm.mobile_data_policy", "none");
92 }
93 
94 /**
95  * @tc.name: TestTurnOffMobileDataSuccess
96  * @tc.desc: Test TurnOnMobileDataPlugin::OnSetPolicy function sucess.
97  * @tc.type: FUNC
98  */
99 HWTEST_F(TurnOnOffMobileDataTest, TestTurnOffMobileDataSuccess, TestSize.Level1)
100 {
101     std::shared_ptr<IPlugin> plugin = TurnOnOffMobileDataPlugin::GetPlugin();
102     uint32_t code = POLICY_FUNC_CODE((std::uint32_t)FuncOperateType::REMOVE,
103         EdmInterfaceCode::TURNONOFF_MOBILE_DATA);
104     HandlePolicyData handlePolicyData{"false", "", false};
105     MessageParcel data;
106     MessageParcel reply;
107     ErrCode ret = plugin->OnHandlePolicy(code, data, reply, handlePolicyData, DEFAULT_USER_ID);
108     ASSERT_TRUE(ret == ERR_OK);
109 }
110 
111 /**
112  * @tc.name: TestTurnOffMobileDataSuccess_001
113  * @tc.desc: Test TurnOnMobileDataPlugin::OnSetPolicy function sucess.
114  * @tc.type: FUNC
115  */
116 HWTEST_F(TurnOnOffMobileDataTest, TestTurnOffMobileDataSuccess_001, TestSize.Level1)
117 {
118     std::shared_ptr<IPlugin> plugin = TurnOnOffMobileDataPlugin::GetPlugin();
119     uint32_t code = POLICY_FUNC_CODE((std::uint32_t)FuncOperateType::REMOVE,
120         EdmInterfaceCode::TURNONOFF_MOBILE_DATA);
121     HandlePolicyData handlePolicyData{"false", "", false};
122     MessageParcel data;
123     MessageParcel reply;
124     system::SetParameter("persist.edm.mobile_data_policy", "disallow");
125     ErrCode ret = plugin->OnHandlePolicy(code, data, reply, handlePolicyData, DEFAULT_USER_ID);
126     ASSERT_TRUE(ret != ERR_OK);
127     system::SetParameter("persist.edm.mobile_data_policy", "none");
128 }
129 } // namespace TEST
130 } // namespace EDM
131 } // namespace OHOS