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