diff --git a/interfaces/native/test/BUILD.gn b/interfaces/native/test/BUILD.gn index 251c2d75037e36b9e5aecc9afc945093bf94bd22..a9913aa7b100b0e9198fbff30e4de9c19fe1ebea 100644 --- a/interfaces/native/test/BUILD.gn +++ b/interfaces/native/test/BUILD.gn @@ -39,6 +39,9 @@ ohos_unittest("SensorAgentTest") { "//third_party/googletest:gtest_main", ] external_deps = [ + "access_token:libaccesstoken_sdk", + "access_token:libnativetoken", + "access_token:libtoken_setproc", "c_utils:utils", "hiviewdfx_hilog_native:libhilog", "ipc:ipc_core", diff --git a/interfaces/native/test/unittest/sensor_agent_test.cpp b/interfaces/native/test/unittest/sensor_agent_test.cpp index 4b99e8198c161e8ebef3938716e440f7075ed277..d324468e7ce8b55321d2c18074a11404a0794c7d 100755 --- a/interfaces/native/test/unittest/sensor_agent_test.cpp +++ b/interfaces/native/test/unittest/sensor_agent_test.cpp @@ -17,6 +17,10 @@ #include #include +#include "accesstoken_kit.h" +#include "nativetoken_kit.h" +#include "token_setproc.h" + #include "sensor_agent.h" #include "sensors_errors.h" #include "system_info.h" @@ -25,11 +29,46 @@ namespace OHOS { namespace Sensors { using namespace testing::ext; using namespace OHOS::HiviewDFX; +using namespace Security::AccessToken; +using Security::AccessToken::AccessTokenID; namespace { constexpr HiLogLabel LABEL = { LOG_CORE, OHOS::Sensors::SENSOR_LOG_DOMAIN, "SensorAgentTest" }; -constexpr int32_t sensorId { 0 }; +constexpr int32_t sensorId { 1 }; constexpr int32_t invalidValue { -1 }; + +PermissionDef infoManagerTestPermDef_ = { + .permissionName = "ohos.permission.ACCELEROMETER", + .bundleName = "accesstoken_test", + .grantMode = 1, + .label = "label", + .labelId = 1, + .description = "test sensor agent", + .descriptionId = 1, + .availableLevel = APL_NORMAL +}; + +PermissionStateFull infoManagerTestState_ = { + .grantFlags = {1}, + .grantStatus = {PermissionState::PERMISSION_GRANTED}, + .isGeneral = true, + .permissionName = "ohos.permission.ACCELEROMETER", + .resDeviceID = {"local"} +}; + +HapPolicyParams infoManagerTestPolicyPrams_ = { + .apl = APL_NORMAL, + .domain = "test.domain", + .permList = {infoManagerTestPermDef_}, + .permStateList = {infoManagerTestState_} +}; + +HapInfoParams infoManagerTestInfoParms_ = { + .bundleName = "sensoragent_test", + .userID = 1, + .instIndex = 0, + .appIDDesc = "sensorAgentTest" +}; } // namespace class SensorAgentTest : public testing::Test { @@ -38,13 +77,28 @@ public: static void TearDownTestCase(); void SetUp(); void TearDown(); +private: + static AccessTokenID tokenID_; }; +AccessTokenID SensorAgentTest::tokenID_ = 0; + void SensorAgentTest::SetUpTestCase() -{} +{ + AccessTokenIDEx tokenIdEx = {0}; + tokenIdEx = AccessTokenKit::AllocHapToken(infoManagerTestInfoParms_, infoManagerTestPolicyPrams_); + tokenID_ = tokenIdEx.tokenIdExStruct.tokenID; + ASSERT_NE(0, tokenID_); + ASSERT_EQ(0, SetSelfTokenID(tokenID_)); +} void SensorAgentTest::TearDownTestCase() -{} +{ + int32_t ret = AccessTokenKit::DeleteToken(tokenID_); + if (tokenID_ != 0) { + ASSERT_EQ(RET_SUCCESS, ret); + } +} void SensorAgentTest::SetUp() {}