1 /*
2  * Copyright (c) 2024 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 <gtest/gtest.h>
17 
18 #include "parameters.h"
19 #include "ipc_skeleton.h"
20 
21 #include "edm_access_token_manager_impl.h"
22 
23 using namespace testing::ext;
24 
25 namespace OHOS {
26 namespace EDM {
27 namespace TEST {
28 const std::string EDM_TEST_PERMISSION_FAIL = "ohos.permission.EDM_TEST_PERMISSION_FAIL";
29 const std::string EDM_TEST_PERMISSION = "ohos.permission.EDM_TEST_PERMISSION";
30 const std::string DEVELOP_MODE_STATE = "const.security.developermode.state";
31 class EdmAccessTokenManagerImplTest : public testing::Test {};
32 /**
33  * @tc.name: TestIsDebug
34  * @tc.desc: Test IsDebug function.
35  * @tc.type: FUNC
36  */
37 HWTEST_F(EdmAccessTokenManagerImplTest, TestIsDebug, TestSize.Level1)
38 {
39     EdmAccessTokenManagerImpl edmAccessTokenManagerImpl;
40     ASSERT_TRUE(system::GetBoolParameter(DEVELOP_MODE_STATE, false) == edmAccessTokenManagerImpl.IsDebug());
41 }
42 
43 /**
44  * @tc.name: TestIsSystemAppOrNative
45  * @tc.desc: Test IsSystemAppOrNative function.
46  * @tc.type: FUNC
47  */
48 HWTEST_F(EdmAccessTokenManagerImplTest, TestIsSystemAppOrNative, TestSize.Level1)
49 {
50     EdmAccessTokenManagerImpl edmAccessTokenManagerImpl;
51     ASSERT_TRUE(edmAccessTokenManagerImpl.IsSystemAppOrNative());
52 }
53 
54 /**
55  * @tc.name: TestVerifyCallingPermission01
56  * @tc.desc: Test VerifyCallingPermission function.
57  * @tc.type: FUNC
58  */
59 HWTEST_F(EdmAccessTokenManagerImplTest, TestVerifyCallingPermission01, TestSize.Level1)
60 {
61     EdmAccessTokenManagerImpl edmAccessTokenManagerImpl;
62     std::string permissionName;
63     Security::AccessToken::AccessTokenID tokenId = IPCSkeleton::GetCallingTokenID();
64     ASSERT_FALSE(edmAccessTokenManagerImpl.VerifyCallingPermission(tokenId, permissionName));
65 }
66 
67 /**
68  * @tc.name: TestVerifyCallingPermission02
69  * @tc.desc: Test VerifyCallingPermission function.
70  * @tc.type: FUNC
71  */
72 HWTEST_F(EdmAccessTokenManagerImplTest, TestVerifyCallingPermission02, TestSize.Level1)
73 {
74     EdmAccessTokenManagerImpl edmAccessTokenManagerImpl;
75     Security::AccessToken::AccessTokenID tokenId = IPCSkeleton::GetCallingTokenID();
76     ASSERT_FALSE(edmAccessTokenManagerImpl.VerifyCallingPermission(tokenId, EDM_TEST_PERMISSION_FAIL));
77 }
78 
79 /**
80  * @tc.name: TestVerifyCallingPermission03
81  * @tc.desc: Test VerifyCallingPermission function.
82  * @tc.type: FUNC
83  */
84 HWTEST_F(EdmAccessTokenManagerImplTest, TestVerifyCallingPermission03, TestSize.Level1)
85 {
86     EdmAccessTokenManagerImpl edmAccessTokenManagerImpl;
87     Security::AccessToken::AccessTokenID tokenId = IPCSkeleton::GetCallingTokenID();
88     ASSERT_FALSE(edmAccessTokenManagerImpl.VerifyCallingPermission(tokenId, EDM_TEST_PERMISSION));
89 }
90 } // namespace TEST
91 } // namespace EDM
92 } // namespace OHOS