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 <thread> 17 #include <gtest/gtest.h> 18 #include <cstdint> 19 20 #include "beget_ext.h" 21 #include "if_system_ability_manager.h" 22 #include "iservice_registry.h" 23 #include "idevice_info.h" 24 #include "parameter.h" 25 #include "system_ability_definition.h" 26 #include "sysparam_errno.h" 27 28 using namespace std; 29 using namespace testing::ext; 30 using namespace OHOS; 31 32 namespace initModuleTest { 33 class DeviceInfoModuleTest : public testing::Test { 34 public: SetUpTestCase(void)35 static void SetUpTestCase(void) {}; TearDownTestCase(void)36 static void TearDownTestCase(void) {}; SetUp(void)37 void SetUp(void) {}; TearDown(void)38 void TearDown(void) {}; 39 }; 40 41 HWTEST_F(DeviceInfoModuleTest, DeviceInfoGetUdid_001, TestSize.Level0) 42 { 43 GTEST_LOG_(INFO) << "DeviceInfoGetUdid_001 start"; 44 char udid[65] = {}; // 65 udid len 45 int ret = AclGetDevUdid(udid, sizeof(udid)); 46 EXPECT_EQ(ret, SYSPARAM_PERMISSION_DENIED); 47 48 sptr<ISystemAbilityManager> samgr = SystemAbilityManagerClient::GetInstance().GetSystemAbilityManager(); 49 BEGET_ERROR_CHECK(samgr != nullptr, return, "Get samgr failed"); 50 sptr<IRemoteObject> object = samgr->GetSystemAbility(SYSPARAM_DEVICE_SERVICE_ID); 51 BEGET_ERROR_CHECK(object != nullptr, return, "Get deviceinfo manager object from samgr failed"); 52 53 std::this_thread::sleep_for(std::chrono::seconds(20)); // wait sa died 20s 54 55 object = samgr->GetSystemAbility(SYSPARAM_DEVICE_SERVICE_ID); 56 BEGET_ERROR_CHECK(object == nullptr, return, "Get deviceinfo manager object from samgr failed"); 57 58 ret = AclGetDevUdid(udid, sizeof(udid)); 59 EXPECT_EQ(ret, SYSPARAM_PERMISSION_DENIED); 60 61 object = samgr->GetSystemAbility(SYSPARAM_DEVICE_SERVICE_ID); 62 BEGET_ERROR_CHECK(object != nullptr, return, "Get deviceinfo manager object from samgr failed"); 63 64 GTEST_LOG_(INFO) << "DeviceInfoGetUdid_001 end"; 65 } 66 67 HWTEST_F(DeviceInfoModuleTest, DeviceInfoGetSerial_001, TestSize.Level0) 68 { 69 GTEST_LOG_(INFO) << "DeviceInfoGetSerial_001 start"; 70 const char *serial = AclGetSerial(); 71 EXPECT_EQ(serial != nullptr, 1); 72 73 sptr<ISystemAbilityManager> samgr = SystemAbilityManagerClient::GetInstance().GetSystemAbilityManager(); 74 BEGET_ERROR_CHECK(samgr != nullptr, return, "Get samgr failed"); 75 sptr<IRemoteObject> object = samgr->GetSystemAbility(SYSPARAM_DEVICE_SERVICE_ID); 76 BEGET_ERROR_CHECK(object != nullptr, return, "Get deviceinfo manager object from samgr failed"); 77 78 std::this_thread::sleep_for(std::chrono::seconds(20)); // wait sa died 20s 79 80 object = samgr->GetSystemAbility(SYSPARAM_DEVICE_SERVICE_ID); 81 BEGET_ERROR_CHECK(object == nullptr, return, "Get deviceinfo manager object from samgr failed"); 82 83 serial = AclGetSerial(); 84 EXPECT_EQ(serial != nullptr, 1); 85 86 object = samgr->GetSystemAbility(SYSPARAM_DEVICE_SERVICE_ID); 87 BEGET_ERROR_CHECK(object != nullptr, return, "Get deviceinfo manager object from samgr failed"); 88 89 GTEST_LOG_(INFO) << "DeviceInfoGetSerial_001 end"; 90 } 91 92 #ifdef PARAM_FEATURE_GET_DEVICE_SN 93 HWTEST_F(DeviceInfoModuleTest, DeviceInfoGetDiskSN_001, TestSize.Level0) 94 { 95 GTEST_LOG_(INFO) << "DeviceInfoGetDiskSN_001 start"; 96 char diskSN[20] = {}; // 20 diskSN len 97 int ret = AclGetDiskSN(diskSN, sizeof(diskSN)); 98 EXPECT_EQ(ret, SYSPARAM_PERMISSION_DENIED); 99 100 sptr<ISystemAbilityManager> samgr = SystemAbilityManagerClient::GetInstance().GetSystemAbilityManager(); 101 BEGET_ERROR_CHECK(samgr != nullptr, return, "Get samgr failed"); 102 sptr<IRemoteObject> object = samgr->GetSystemAbility(SYSPARAM_DEVICE_SERVICE_ID); 103 BEGET_ERROR_CHECK(object != nullptr, return, "Get deviceinfo manager object from samgr failed"); 104 105 std::this_thread::sleep_for(std::chrono::seconds(20)); // wait sa died 20s 106 107 object = samgr->GetSystemAbility(SYSPARAM_DEVICE_SERVICE_ID); 108 BEGET_ERROR_CHECK(object == nullptr, return, "Get deviceinfo manager object from samgr failed"); 109 110 ret = AclGetDiskSN(diskSN, sizeof(diskSN)); 111 EXPECT_EQ(ret, SYSPARAM_PERMISSION_DENIED); 112 113 object = samgr->GetSystemAbility(SYSPARAM_DEVICE_SERVICE_ID); 114 BEGET_ERROR_CHECK(object != nullptr, return, "Get deviceinfo manager object from samgr failed"); 115 116 GTEST_LOG_(INFO) << "DeviceInfoGetDiskSN_001 end"; 117 } 118 #endif 119 }